QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: hhuyf

如何做到不用initrd启动系统

[复制链接]
发表于 2004-12-28 14:56:00 | 显示全部楼层
我靠,我从第一天玩 gentoo 开始就不用 initrd 引导偶的 gentoo。
除非用了 bootsplash。

只要把所有开机需要的东西编译进内核就可以了。

我不喜欢 gentoo 里的 genkernel,总是自己动手编译。
回复

使用道具 举报

发表于 2004-12-28 16:04:04 | 显示全部楼层
没用过cdlinux,但是kde2000说的是对的。可能是cdlinux把整个文件系统都作成一个压缩的initrd了
回复

使用道具 举报

 楼主| 发表于 2004-12-28 22:49:12 | 显示全部楼层
楼上的,如果把全部文件系统压成initrd,而没有linuxrc这个文件,内核是不是直接当根分区用了,而不在乎是否存在linuxrc
回复

使用道具 举报

发表于 2004-12-29 11:10:34 | 显示全部楼层
cdlinux.gz是ovlfs格式,不是initrd,要在加载ovlfs模块后才能将它mount上来,解压也要指定的工具,你把ovlfs下载下来就能得到相应的工具和驱动。
linuxrc不是必须的。linuxrc是特殊的,由内核执行,其它启动脚本一般由init扫描inittab执行,xx::sysinitxxxxxxx的xxxxxxxx就是linuxrc之外第一个执行的脚本。
在一般的linux里,第一次根分区挂载是由内核完成的,一般是只读的(如果传入参数有ro),目的可能是为了必要时检查磁盘,第二次就是启动脚本根据fstab重新挂载。
如果你的文件系统不大1M左右,你甚至可以把文件系统做进内核里。
回复

使用道具 举报

 楼主| 发表于 2004-12-29 12:57:34 | 显示全部楼层
谢谢你
基本明白

但是有个问题,ovlfs好象不像你说的是模块
应该已经在内核里了
因为CDlinux.gz是直接有内核心加载的
回复

使用道具 举报

发表于 2004-12-29 13:35:14 | 显示全部楼层
可以是模块,也可以是编到内核里。
回复

使用道具 举报

 楼主| 发表于 2006-5-31 14:58:30 | 显示全部楼层
不知不觉  我都一年没接触linux了
回来温习一下  现在回头看这个问题清晰多了
回复

使用道具 举报

发表于 2006-10-24 09:15:17 | 显示全部楼层
[quote:d601bc1678="hhuyf"]不知不觉  我都一年没接触linux了
回来温习一下  现在回头看这个问题清晰多了[/quote]
:D
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-26 00:20 , Processed in 0.102771 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

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