一、编译
现在的内核编译步骤真是简单极了
# make menuconfig# make# make modules_install# make install
就这么两下,把以前繁杂的操作都包括了
# make modules
# make modules_install
# make install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.14.3
# cp System.map /boot/System.map-2.6.14.3
# mkinitrd ……
# ln -s /boot/vmlinuz-2.6.14.3 /boot/vmlinuz
# ln -s /boot/System.map-2.6.14.3 /boot/System.map
#vim /boot/grub/menu.lst
上面这些都不用做了,真省事啊
主要就是make menuconfig这步了,这步说难也难,说不难也不难,总之呢就是按需配置
呵呵,按需配置,这下可没人能帮你了,得自己看着办了
二、可能出现的问题:
1、如果出现这样的错误进不去:Enforcing mode requested but no policy loaded
那是因为你原来系统启用了selinux的enforcing模式,你需要回到原来的系统关闭selinux就可以了,如果不需要selinux,那干脆编内核的时候就去掉。
2、启动错误提示:VFS:Unable to mount root fs on unknown-block(0,0)
请确保以下两项被编进内核
Device Drivers ---> Block devices --->
RAM disk support
[*] Initial RAM disk (initrd) support
3、启动错误提示:
mkrootdev:lable /1 not found
mount:error 2 mounting ext3
mount:error 2 mounting none
switchroot:mount failed:22
Umount /initrd/dev failed:2
需要以下驱动支持:
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> [*] PCI IDE chipset support
……有问题的话再加
三、关于一些编译选项
1、如果是自己用的桌面系统,别忘了打开内核抢占
Processor type and features ---> Preemption Model (Preemptible Kernel (Low-Latency Desktop)) --->
说明:抢占模式:
No Forced Preemption (Server),这种模式等同于没有使能抢占选项的标准内核,主要适用于科学计算等服务器环境。
Voluntary Kernel Preemption (Desktop),这种模式使能了自愿抢占,但仍然失效抢占内核选项,它通过增加抢占点缩减了抢占延迟,因此适用于一些需要较好的响应性的环境,如桌面环境,当然这种好的响应性是以牺牲一些吞吐率为代价的。
Preemptible Kernel (Low-Latency Desktop),这种模式既包含了自愿抢占,又使能了可抢占内核选项,因此有很好的响应延迟,实际上在一定程度上已经达到了软实时性。它主要适用于桌面和一些嵌入式系统,但是吞吐率比模式2更低。
Complete Preemption (Real-Time),这种模式使能了所有实时功能&#