LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 放羊的小狼

基于LFS 6.3 制作LiveCD时所遇到的困惑!——新手篇

[复制链接]
发表于 2011-9-16 15:51:16 | 显示全部楼层
Post by 放羊的小狼;2152169
引用:为啥要加root=/dev/hdc?
见本主题第27帖的第三张图片


如果不加这句的话,就会出现图片中的kernel panic

图片中,系统提示,有以下几个可用的分区,然后我就挨个试,试完之后发现只有hdc 可以,取而代之的是另一个kernel panic (init not found , try  init=passing kernel ....大概这样),问过您 ,您说检查有没有console文件 ,检查过了,有的,null也有


想法调试一下linuxrc
回复 支持 反对

使用道具 举报

发表于 2011-9-16 15:57:04 | 显示全部楼层
你内核中是否将“Initial RAM filesystem and RAM disk (initramfs/initrd) support”选项加上?
可见书上第281页。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 16:28:56 | 显示全部楼层
加上了,默认的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 16:30:34 | 显示全部楼层
Post by xinglp;2152171
想法调试一下linuxrc
要如何调试?
回复 支持 反对

使用道具 举报

发表于 2011-9-16 16:57:26 | 显示全部楼层
把你的linuxrc贴一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 17:03:59 | 显示全部楼层
linuxrc文件,我已经加了权限,chmod 777 linuxrc

豹哥,短信收到了没?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 17:17:38 | 显示全部楼层
豹哥,不知道你有没有注意到,在您的BLOG里,有人发过图片中的内容,我的情况和他们一样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2011-9-16 17:23:27 | 显示全部楼层
我的感觉是initrd没有正常执行linuxrc,你把你制作initrd.img文件的步骤写一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 17:25:31 | 显示全部楼层
祈祷这是最终的问题吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-16 17:35:03 | 显示全部楼层
1)建立initrd
cd /opt/iso/boot
mkdir initrd
dd if=/dev/zero of=initrd.img bs=2M count=8       //这里的bs我设置成2M,因为1M会提示设备没有空间
mkfs.ext2 initrd.img
mount -o loop initrd.img initrd
2)创建initrd下的目录
export INITRD=/opt/iso/boot/initrd
cd ${INITRD}
mkdir bin boot dev etc lib proc sbin sys
3)确定initrd需要的东西
cp -a /bin/bash ${INITRD}/bin
mv /opt/iso/modules ${INITRD}/lib
cp -a /lib/udev ${INITRD}/lib
cp -a /lib/firmware ${INITRD}/lib
cp -a /dev/{console,null} ${INITRD}/dev
cp -a /etc/udev ${INITRD}/etc
4)编写linuxrc文件
根据linuxrc用到的命令复制到initrd中
cp -a /bin/{bash,bunzip2,bzcat,bzip2,killall,chmod,cp,grep,mount,tar,ln,cat,mkdir} ${INITRD}/bin
cp -a /usr/bin/basename ${INITRD}/bin
cp -a /sbin/pivot_root ${INITRD}/sbin
cp -a /sbin/{udevd,udevsettle,udevtrigger,modprobe} ${INITRD}/sbin
复制这些命令所需要的各种动态链接库,可通过ldd命令查看。
cp -a /lib/ld-* ${INITRD}/lib/
cp -a /lib/libc-2.5.1.so ${INITRD}/lib/
cp -a /lib/libc.so.6 ${INITRD}/lib/
cp -a /lib/lib{dl,pthread,rt}-* ${INITRD}/lib/
cp -a /lib/lib{readline,history,ncursesw,dl,bz2,blkid,uuid,rt,pthread}.so* ${INITRD}/lib/
创建一些必要的文件
touch ${INITRD}/etc/fstab
创建LiveCD标签
echo "LiveCD" > /opt/iso/LABEL

卸载initrd,并将其压缩
cd /opt/iso/boot
umount initrd
gzip -9 initrd.img
回复 支持 反对

使用道具 举报

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

本版积分规则

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