发新帖

如何制作系统的.iso文件?

jameswebb / 2019-10-22 16:03
浏览: 450 / 回复: 18
查看: 450|回复: 18

如何制作系统的.iso文件?

[复制链接]
收藏
跳转到指定楼层
各位大佬们,传授一下知识,我想知道如何制作操作系统的.iso文件,可以发行的那种,当然本人不想发行任何版本,因为发行了也没能力维护。谢谢帮助。

57

主题

2217

帖子

8210

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
8210
lidanger 志愿者 发表于 2019-10-22 16:50:40 | 显示全部楼层
可以去无忧论坛看看。。里面都是搞这个的。。
士别三日当刮目相待

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-13 19:28:31 | 显示全部楼层
lidanger 发表于 2019-10-22 16:50
可以去无忧论坛看看。。里面都是搞这个的。。

没找到制作linux可启动iso文件

57

主题

2217

帖子

8210

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
8210
lidanger 志愿者 发表于 2019-11-13 20:06:02 | 显示全部楼层
jameswebb 发表于 2019-11-13 19:28
没找到制作linux可启动iso文件

有 grub2、UEFI 和 linux 系统三个板块应该够了吧。其实 legacy、UEFI 和网络启动模式对各个系统都是通用的,至少 x86 体系内是一样的。看其他板块的制作方法也是一样的,操作系统光盘就是慢慢拼的过程,完成后再不断整理即可。
士别三日当刮目相待

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-14 08:06:08 | 显示全部楼层
lidanger 发表于 2019-11-13 20:06
有 grub2、UEFI 和 linux 系统三个板块应该够了吧。其实 legacy、UEFI 和网络启动模式对各个系统都是通用 ...

是不是用
grub加载initrd,
initrd加载内核zImage
对吗?

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-14 08:13:06 | 显示全部楼层
jameswebb 发表于 2019-11-14 08:06
是不是用
grub加载initrd,
initrd加载内核zImage

initrd是比较旧的方法
initramfs是新方法

57

主题

2217

帖子

8210

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
8210
lidanger 志愿者 发表于 2019-11-14 08:43:30 | 显示全部楼层
本帖最后由 lidanger 于 2019-11-14 09:25 编辑
jameswebb 发表于 2019-11-14 08:06
是不是用
grub加载initrd,
initrd加载内核zImage

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

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

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

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

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

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

士别三日当刮目相待

19

主题

629

帖子

4454

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
4454
jonathan_hzs 发表于 2019-11-14 19:27:03 来自移动端 | 显示全部楼层
本帖最后由 jonathan_hzs 于 2019-11-14 19:30 编辑

linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2,refiend,systemd等等。都得学习,不是一下就能做出来。

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-15 08:10:49 | 显示全部楼层
jonathan_hzs 发表于 2019-11-14 19:27
linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2 ...

刚才跟着知乎一篇文章做了一个,vm启动不了
https://zhuanlan.zhihu.com/p/47926853

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-15 13:57:40 | 显示全部楼层
jonathan_hzs 发表于 2019-11-14 19:27
linux下mkisofs命令,win下oscdimg。legacy引导可以用nt6,grub2,grub4dos,isolinux,efi可以用nt6,grub2 ...

请问isolinux.bin是做什么的?启动过程中没提到过它.

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-15 14:02:04 | 显示全部楼层
jameswebb 发表于 2019-11-15 13:57
请问isolinux.bin是做什么的?启动过程中没提到过它.

找到答案了
isolinux是制作完启动盘用的
启动盘不需要grub,直接bios引导,直接用bios运行isolinux.bin对不?

19

主题

629

帖子

4454

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
4454
jonathan_hzs 发表于 2019-11-15 18:54:23 来自移动端 | 显示全部楼层
有一个就行了,不是都需要,我习惯用grub2,legacy和efi三启就都有了。

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-15 19:16:37 | 显示全部楼层
jonathan_hzs 发表于 2019-11-15 18:54
有一个就行了,不是都需要,我习惯用grub2,legacy和efi三启就都有了。

我看深度的系统每次启动都执行isolinux.bin
是不是三个东西就能拼成iso
grub initramfs vmlinuz
这三个

0

主题

48

帖子

379

积分

-r--r-----

Rank: 2

积分
379
mr-pan-iron 发表于 2019-11-15 21:22:43 | 显示全部楼层
直接命令行里面用dd命令不行吗?

dd if=文件名  of=/dev/文件名.iso 不就制作出来了,我都是用这个来制作deepin的启动盘的。
OS: Deepin 15.11 x86_64
Model: 20257 IdeaPad S210 Touch
Kernel: 4.15.0-30deepin-generic
Shell: bash 4.4.12
Resolution: 1366x768
DE: Deepin
WM: KWin
Icons: Deepin [GTK2/3]
Terminal: deepin-terminal
CPU: Intel Celeron 1037U (2) @ 1.8GHz
GPU: Intel Integrated Graphics
Memory: 1613MB / 3827MB

75

主题

4017

帖子

1万

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
10114
QQ
jianguo922 志愿者 发表于 2019-11-15 21:52:12 | 显示全部楼层
先DIY主题、小软件、特色启动
深度值得深入!深度有你更精彩
https://www.52pojie.cn/home.php?mod=space&uid=275571
电脑型号三星370r5v-s01  CPU:Intel酷睿i53210M         
内存:4GB+2GB×1    显卡芯片:AMD Radeon HD 8750M(2G)

1

主题

11

帖子

45

积分

-r--------

Rank: 1

积分
45
jameswebb 发表于 2019-11-16 08:12:09 | 显示全部楼层
mr-pan-iron 发表于 2019-11-15 21:22
直接命令行里面用dd命令不行吗?

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

我想制作一个可发型的iso文件,不是做启动盘。

19

主题

629

帖子

4454

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
4454
jonathan_hzs 发表于 2019-11-16 08:27:16 来自移动端 | 显示全部楼层
dd能做出iso,那rm改一下后缀也能了。

19

主题

629

帖子

4454

积分

-rw-rw-rw-

Rank: 6Rank: 6

积分
4454
jonathan_hzs 发表于 2019-11-16 08:30:28 来自移动端 | 显示全部楼层
dd只能制作软盘或者硬盘镜像,也就是img格式。

71

主题

860

帖子

3098

积分

-rw-rw-r--

Rank: 5Rank: 5

积分
3098
ghostry 发表于 2019-11-16 11:29:01 | 显示全部楼层
可以放狗搜 ` 自定义Linux iso `

多得很.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回版块 返回顶部