如何制作系统的.iso文件?
Tofloor
poster avatar
jameswebb
deepin
2019-10-23 00:03
Author
各位大佬们,传授一下知识,我想知道如何制作操作系统的.iso文件,可以发行的那种,当然本人不想发行任何版本,因为发行了也没能力维护。谢谢帮助。
Reply Favorite View the author
All Replies
avatar
走钢丝
deepin
2019-10-23 00:50
#1
可以去无忧论坛看看。。里面都是搞这个的。。
Reply View the author
avatar
jameswebb
deepin
2019-11-14 03:28
#2
https://bbs.deepin.org/post/184109
可以去无忧论坛看看。。里面都是搞这个的。。

没找到制作linux可启动iso文件
Reply View the author
avatar
走钢丝
deepin
2019-11-14 04:06
#3
https://bbs.deepin.org/post/184109
没找到制作linux可启动iso文件

有 grub2、UEFI 和 linux 系统三个板块应该够了吧。其实 legacy、UEFI 和网络启动模式对各个系统都是通用的,至少 x86 体系内是一样的。看其他板块的制作方法也是一样的,操作系统光盘就是慢慢拼的过程,完成后再不断整理即可。
Reply View the author
avatar
jameswebb
deepin
2019-11-14 16:06
#4
https://bbs.deepin.org/post/184109
有 grub2、UEFI 和 linux 系统三个板块应该够了吧。其实 legacy、UEFI 和网络启动模式对各个系统都是通用 ...

是不是用
grub加载initrd,
initrd加载内核zImage
对吗?
Reply View the author
avatar
jameswebb
deepin
2019-11-14 16:13
#5
https://bbs.deepin.org/post/184109
是不是用
grub加载initrd,
initrd加载内核zImage

initrd是比较旧的方法
initramfs是新方法
Reply View the author
avatar
走钢丝
deepin
2019-11-14 16:43
#6
本帖最后由 lidanger 于 2019-11-14 09:25 编辑
https://bbs.deepin.org/post/184109
是不是用
grub加载initrd,
initrd加载内核zImage

嗯。差不多吧。我也是大致了解,不是相关专业的。

计算机启动的过程大致应该是:
初始化 BIOS 程序
自带的各种基本硬件检查
按顺序寻找可启动的存储介质
找到存储介质上的引导记录,进一步初始化需要的硬件和缓存
在引导记录中选择操作系统
根据操作系统引导项初始化文件系统等各种驱动
寻找文件系统上的内核启动文件并加载到 CPU 特定寄存器,开始执行
剩下的就交给操作系统内核去处理了。内核才真正初始化以后系统要用的东西,前面的初始化都是临时性的,也不完善

legacy 模式下,BIOS 程序要寻找存储设备上特定格式的主引导记录(包含 bootloader)。UEFI 模式下,BIOS 程序本身就可以识别 FAT 文件系统,可以直接从各个设备上的 EFI 分区加载引导记录或内核启动文件。

grub 2 是一个通用的 bootloader,可以直接用它来引导各个操作系统,这样比较简单,不用自己去写引导记录和程序。也有其他引导工具,还有各个系统自己的引导文件,很多 ISO 都是直接复制别人的引导文件来制作引导记录的。

就像在操作系统环境下写 C 程序一样,程序是需要一个标准入口的,一般是 main 函数。系统初始化基本的运行环境后,从这个入口开始执行,剩下的逻辑都交给程序本身了。操作系统或更大的分布式系统可以看作一个程序进程的扩展。

你可以寻找市面上关于自制操作系统的书籍或博客看看,现在应该比较多。或许看完了你就对制作操作系统没什么兴趣了也说不定。

Reply View the author
avatar
窄口牛
deepin
2019-11-15 03:27
#7
本帖最后由 jonathan_hzs 于 2019-11-14 19:30 编辑

linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2,refiend,systemd等等。都得学习,不是一下就能做出来。
Reply View the author
avatar
jameswebb
deepin
2019-11-15 16:10
#8
https://bbs.deepin.org/post/184109
linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2 ...

刚才跟着知乎一篇文章做了一个,vm启动不了
https://zhuanlan.zhihu.com/p/47926853
Reply View the author
avatar
jameswebb
deepin
2019-11-15 21:57
#9
https://bbs.deepin.org/post/184109
linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2 ...

请问isolinux.bin是做什么的?启动过程中没提到过它.
Reply View the author
avatar
jameswebb
deepin
2019-11-15 22:02
#10
https://bbs.deepin.org/post/184109
请问isolinux.bin是做什么的?启动过程中没提到过它.

找到答案了
isolinux是制作完启动盘用的
启动盘不需要grub,直接bios引导,直接用bios运行isolinux.bin对不?
Reply View the author
avatar
窄口牛
deepin
2019-11-16 02:54
#11
有一个就行了,不是都需要,我习惯用grub2,legacy和efi三启就都有了。
Reply View the author
avatar
jameswebb
deepin
2019-11-16 03:16
#12
https://bbs.deepin.org/post/184109
有一个就行了,不是都需要,我习惯用grub2,legacy和efi三启就都有了。

我看深度的系统每次启动都执行isolinux.bin
是不是三个东西就能拼成iso
grub initramfs vmlinuz
这三个
Reply View the author
avatar
mr-iron
deepin
2019-11-16 05:22
#13
直接命令行里面用dd命令不行吗?

dd if=文件名  of=/dev/文件名.iso 不就制作出来了,我都是用这个来制作deepin的启动盘的。
Reply View the author
avatar
jianguo922
deepin
2019-11-16 05:52
#14
先DIY主题、小软件、特色启动
Reply View the author
avatar
jameswebb
deepin
2019-11-16 16:12
#15
https://bbs.deepin.org/post/184109
直接命令行里面用dd命令不行吗?

dd if=文件名  of=/dev/文件名.iso 不就制作出来了,我都是用这个来制作 ...

我想制作一个可发型的iso文件,不是做启动盘。
Reply View the author
avatar
窄口牛
deepin
2019-11-16 16:27
#16
dd能做出iso,那rm改一下后缀也能了。
Reply View the author
avatar
窄口牛
deepin
2019-11-16 16:30
#17
dd只能制作软盘或者硬盘镜像,也就是img格式。
Reply View the author
avatar
ghostry
deepin
2019-11-16 19:29
#18
可以放狗搜 ` 自定义Linux iso `

多得很.
Reply View the author