三、适合CLFS临时系统的最简内核配置 我的host系统是32位的,无法使用chroot方式构建CLFS系统,只能先交叉编译出一个最小的临时系统,然后以BOOT方式完成CLFS系统的构建。在CLFS BOOK中,对临时系统的内核的配置有下面的警告: Warning Here a temporary cross-compiled kernel will be built. When configuring it, select the minimal amount of options required to boot the target machine and build the final system. I.e., no support for sound, printers, etc. will be needed. Also, try to avoid the use of modules if possible, and don't use the resulting kernel image for production systems.
那么,怎样得到一个适合CLFS临时系统的最简内核配置呢?
(1)首先,用内核的 allnoconfig 配置目标,得到一个最最基本的内核配置。即,执行下面的命令: make ARCH=x86_64 CROSS_COMPILE=${CLFS_TARGET}- allnoconfig 内核的 allnoconfig 配置目标会把所有的内核选项都设置为no,也就是把它们既不编译进内核,也不编译成模块。有了这个最基本的配置,我们再添加CLFS临时系统所必须的配置项:再执行 make ARCH=x86_64 CROSS_COMPILE=${CLFS_TARGET}- menuconfig 命令,按下面的步骤添加其他的配置——
(8)使内核支持 /proc 虚拟文件系统和 tmpfs 文件系统: File systems ---> Pseudo filesystems ---> /proc file system support / Virtual memory file system support (former shm fs)
(9)支持 swap 分区: General setup ---> Support for paging of anonymous memory (swap)
(10)支持 RTC 设备: Device Drivers ---> Character devices ---> Enhanced Real Time Clock Support
(11)为了充分发挥我的双核CPU的能力,我又加入了对SMP的支持: Processor type and features ---> Symmetric multi-processing support。这一特性,对CLFS系统来说,并不是必须的。