LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1084|回复: 13

有关内核编译

[复制链接]
发表于 2006-6-10 16:26:16 | 显示全部楼层 |阅读模式
昨天编译2.6.10内核,编译步骤如下:
make xconfig
make bzImage
make modules
make modules_install
make install
编译完后发现没有initrd影像
这是怎么回事?还是说initrd影像本来就要自己手动生成的
发表于 2006-6-10 16:36:54 | 显示全部楼层
make xconfig
[color="Red"]make bzImage
make modules
make modules_install
make install
编译 2.6.x 内核,这两部用 make 就可以了
编译完后发现没有initrd影像
这是怎么回事?还是说initrd影像本来就要自己手动生成的
视发行版而定,initrd 也非必要的
回复 支持 反对

使用道具 举报

发表于 2006-6-10 19:07:24 | 显示全部楼层
能启动就行。没有initrd.img有何关系。我编译的内核从来都没有它。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-10 19:14:07 | 显示全部楼层
我用的是Debian
我试着自己生成initrd影像mkinitrd /boot/initrd-2.6.10 2.6.10。制作出来的影像还是没能正确启动系统。
menu.list中启动2.6.10内核的配置如下:
title                kernel 2.6.10
root                (hd0,8)
kernel                /boot/vmlinuz-2.6.10 root=/dev/hda9 ro
initrd                /boot/initrd-2.6.10
savedefault
boot
这里(hd0,8)和/dev/hda9都是抄原来启动2.4内核的配置,应该不会有错。
重启的时候选择2.6内核出现下面的错误:
modprobe:FATAL:Could not load /lib/modules/2.6.10/modules.dep:No such file or direcotry
pivot_root:No such file or directory
/sbin/init:432 cannot open dev/console:No such file
Kernel panic-not syncing:Attempted to kill init


如果menu.list中启动2.6.10内核的配置是
title                kernel 2.6.10
root                (hd0,8)
kernel                /boot/vmlinuz-2.6.10 root=/dev/hda9 ro
savedefault
boot
重启时出现的错误是
VFS:Cannot open root device "hda9" or unknownbloack(0,0)
Please append a correct "root=" boot option
Kernel panic-not syncing:VFS:Unable to mount root fs on unknown-block(0,0)
那该怎么做呢?望高手指点阿
回复 支持 反对

使用道具 举报

发表于 2006-6-10 23:26:37 | 显示全部楼层
推测是 initrd-tools 及 module-init-tools 版本不够新
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-11 02:36:52 | 显示全部楼层
确实更新initrd-tools版本后制作的initrd影像确实能启动成功
回复 支持 反对

使用道具 举报

发表于 2006-6-11 16:53:41 | 显示全部楼层
补充一句:楼主现用的是 2.6.10,日後如升级至 2.6.14 或以後的版本而又要做 initrd 的话,那麽你要装 yaird 才行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-11 18:08:53 | 显示全部楼层
怎么配置才能使内核启动时不需要initrd?
我想让linux能休眠,使用编译了打过suspend补丁的内核,使用hiberate休眠后启动的时候发现不能找到swap分区。我想让内核直接启动试试看。
回复 支持 反对

使用道具 举报

发表于 2006-6-11 18:33:19 | 显示全部楼层
不想要initrd.img,那么在编译内核时应该把文件系统Y进内核,不能编译为模块。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-12 10:45:37 | 显示全部楼层
就是说只要把需要支持的文件系统编译到内核里就行了吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

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