今天编译内核,make menuconfig后配置了一下,也许禁用了太多了,结果make的时候出现了很多语法错误。后来,重新配置了一下,只去掉了少量的选项,再次编译就没问题了,只是出现了少量的warning(一般都是使用了未初始化的变量)。
总结一下:
1. 把内核源代码解压拷贝到/usr/src/kernels目录下,目录名为linux-2.6.20.6
2. cd /usr/src/kernels
ln -s linux-2.6.20.6 linux
cd linux/include
ln -s asm /usr/include/asm
ln -s linux /usr/include/linux
ln -s scsi /usr/include/scsi
3. cd /usr/src/kernels/linux
进行内核配置,具体配置方法在网上查
make menuconfig
编译内核
make
(其中会自动执行modpost,把*.o都生成为*.ko文件)
安装模块
make modules_install
4. 编译好了以后,在/lib/modules文件夹下会生成对应内核版本的文件夹,如 "2.6.20.6",新生成的扩展名为ko的内核模块都在这里。
5. 安装内核
cd /usr/src/kernels/linux
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.20.6
cp System.map /boot/System.map-2.6.20.6
cd /boot
下面这一步会生成initrd-2.6.20.6.img文件
/sbin/mkinitrd initrd-2.6.20.6.img 2.6.20.6
6. 配置grub
编辑/etc/grub.conf,加入类似如下行:
title Fedora Core (2.6.20.6)
#下面这一行根据你linux所在的分区而定
root (hd0,7)
kernel /boot/vmlinuz-2.6.20.6 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.20.6.img
7. 重启电脑,选择Fedora Core (2.6.20.6)
wangdehua 于 2007-05-04 17:20:59发表:
谢谢分享
学习中!!