手斧Linux – 从LFS到Funtoo (124)

原创 2015年07月09日 17:30:47

第13章 LiveCD问题分析

1,关于qemu命令行里的  -boot d -cdrom myfuntoo.iso。

-cdrom myfuntoo.iso 让qemu虚拟机里输出一个cdrom设备,并有光盘output.iso在里面。 

-boot d 让qemu从cdrom里开始加载。

如果output.iso正常,qemu会从iso里找到isolinux/isolinux.bin,开始从光盘引导。

为什么是isolinux/isolinux.bin?这个是在mkisofs时指定的。 isolinux/isolinux.bin会开始解释isolinux/isolinux.cfg里参数,开始一个启动选择菜单或简单的交互,开始一个内核的启动。

2,关于iso里的长文件名,

为了能在光盘的文件系统里存放非8.3的文件名,需要在mkisofs时,带上  -joliet -joliet-long -full-iso9660-filenames -allow-leading-dots。

3,在启动过程中停下来检查。

在做iso时,isolinux/isolinux.cfg里要指定kernel/initrd/loop,将loop指定的文件更名,让启动走到initrd时,做不成根文件系统,就可以进入一个busybox的shell里。

4,内核对文件系统的支持。

内核被加载后,如果内核的配置正确,工作正常,会生成设备/dev/sr0,对应于光驱设备,如果没能有/dev/sr0生成,需要检查内核的编译配置。

initrd会执行其中的/linuxrc来执行最后的根文件系统的加载,需要mount /dev/sr0,这需要内核对iso文件系统的支持,在内核配置里要找开isofs的相关支持,ISO9660_FS  JOLIET   ZISOFS 几项。如果isofs以module方式编译支持,而要在/usr/share/genkernel/arch/x86_64/modules_load里加上isofs的支持,使得genkernel时,将模块带上,启动地会加载。否则,linuxrc会报出不认得/dev/sr0里的介质。

initrd在linuxrc里去mount /dev/sr0并不是最后的根目录,livecd启动还要将iso里的squashfs映象文件mount上来,做为最后的根文件系统。因此,要打开内核配置里和SQUASHFS有关的选项。如果是以模块方式编译,也要将它加到/usr/share/genkernel/arch/x86_64/modules_load里。

相关文章推荐

手斧Linux – 从LFS到Funtoo (149)

wget http://mirrors.xmu.edu.cn/gentoo/distfiles/bash42-033 wget http://mirrors.xmu.edu.cn/gentoo/di...

手斧Linux – 从LFS到Funtoo (102)

199. ebuild /usr/portage/virtual/perl-ExtUtils-Install/perl-ExtUtils-Install-1.54.ebuild clean insta...

手斧Linux – 从LFS到Funtoo (152)

wget http://mirrors.xmu.edu.cn/gentoo/distfiles/Module-Load-Conditional-0.52.tar.gz wget http://mir...

手斧Linux – 从LFS到Funtoo (32)

第15节 再次调整工具链分布 ln -sv /tools/bin/x86_64-wolf-linux-gnu-addr2line  /tools/bin/addr2line ln -sv /too...

手斧Linux – 从LFS到Funtoo (150)

wget http://mirrors.xmu.edu.cn/gentoo/distfiles/eselect-python-20111108.tar.bz2 wget http://mirrors...

手斧Linux – 从LFS到Funtoo (2)

第1章 前言 2012年春节前,我开始学习LFS,详尽的LFS手册,让我有依有据地体验了一个系统的构造过程,漫长而劳累。接下来,我开始着迷于另一个问题:如何自己动手从源码开始构造出ubuntu的发行...

手斧Linux – 从LFS到Funtoo (151)

wget https://nodeload.github.com/gentoo/hwids/tar.gz/hwids-20121202 -O hwids-20121202.tar.gz wget h...

手斧Linux – 从LFS到Funtoo (97)

第3节 安装第一批软件包 接下来,可以用ebuild...qmerge来安装软件包了,portage系统将完成源码包的定位、下载、解开、编译、安装、管理等工作。 1. ebuild /usr/...

手斧Linux – 从LFS到Funtoo (98)

cd /var/tmp/portage/sys-devel/gettext-0.18.1.1-r3/work/gettext-0.18.1.1 rm config.cache CFLAGS="-mt...

手斧Linux – 从LFS到Funtoo (134)

2. 如何手工将生成的initramfs包解开? 为什么要解开生成的包呢?因为在排错时,需要查验initramfs包里的内容,以验证思路,坚定决心。以gentoo官方livecd里的initramfs...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手斧Linux – 从LFS到Funtoo (124)
举报原因:
原因补充:

(最多只允许输入30个字)