手斧Linux – 从LFS到Funtoo (114)

为了在后面的实验步骤中,制作LiveCD和启动U盘,支持squashfs vfat 等

文件系统,还有loop设备。在genkernel的缺省安装里,这些选项是不够丰富的,在这里将它们加上。命令 如下:

sed -e 's@^MODULES_FS="@MODULES_FS="squashfs udf isofs fat vfat nls_cp437 nls_iso8859-1 @g' -i /usr/share/genkernel/arch/x86_64/modules_load

sed -e 's@^MODULES_SCSI="@MODULES_SCSI="loop @g' -i /usr/share/genkernel/arch/x86_64/modules_load

为什么在之前的硬盘安装里,没有做这些工作呢?

这些选项并不是影响到系统启动后,最后的文件系统里的内容,而是决定在genkernel做出来的initramfs里有哪些内容,相关的功能支持。系统启动时,kernel会加载initramfs,为了能读取CD里的squashfs image或U盘里fat分区里的文件系统映像(也是squashfs image)就需要在最终的文件系统挂载之前的initramfs里有这样的模块支撑。加上这些选项,genkernel就会抽取出内核编译时产生的相应模块,加到initramfs里。

如果没有loop和iso squashfs,initramfs里的linuxrc脚本执行过程中,不能成功mount上image.squashfs (或为了照顾fat文件系统的8.3命名规则,命名为image.squ。);如果没有fat vfat nls_cp437 nls_iso8859-1,linuxrc不能成功mount上启动U盘里的fat分区。这都将导致最后的rootfs不能成功挂载,而使启动过程停在linuxrc里。(initramfs里会带有一个静态编译的busybox,会提供一个shell让我们有机会调试和查看initramfs到底发生了什么事情。)

step3:编译内核。

这时使用与之前的硬盘安装不同的编译方法,不直接使用emerge debian-sources,因为如果这样做了,emerge会执行完整的安装步骤,有些内容会被写到开发机的硬盘(主引导记录和/boot的挂载区)里,有危险。

命令如下:

echo "sys-kernel/debian-sources binary" >> /etc/portage/package.use

#将下面文件改名,使genkernel去使用/usr/share/genkernel/arch/x86-64/kernel-config

mv /usr/share/genkernel/defaults/kernel-config{,org}

ebuild /usr/portage/sys-kernel/debian-sources/debian-sources-3.2.29.ebuild clean install

mv /var/tmp/portage/sys-kernel/debian-sources-3.2.29/image/{lib,lib64}

cp -r /var/tmp/portage/sys-kernel/debian-sources-3.2.29/image/* /

rm -rf /usr/src/linux-3.2.29

rm  /usr/src/linux

ln -sv linux-debian-sources-3.2.29 /usr/src/linux

在这里,如果是使用nvidia的显卡,参考http://www.gentoo.org/doc/zh_cn/nvidia-guide.xml  中对内核配置的要求,缺省情况下,/usr/share/genkernel/arch/x86-64/kernel-config也都满足要求了。

如果想他细查看编译使用的配置情况,可以这样:

先 ebuild /usr/portage/sys-kernel/debian-sources/debian-sources-3.2.29.ebuild clean prepare,会得到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值