[root@localhost linux-2.6.35.i686]# vi Makefile /*修改line 4为 EXTRAVERSION = .6-45.fc14.i686 要保证与uname -r的结果一致 */ [root@localhost linux-2.6.35.i686]# make mrproper [root@localhost linux-2.6.35.i686]# cp configs/kernel-2.6.35.6-i686.config .config [root@localhost linux-2.6.35.i686]#
或者考/boot下的config来用也行
执行
make
make modules
现在已经达到了一个编译过的完整的内核源码了,
/lib/modules/2.6.35.6-45.fc14.i686/build/本来就存在并连接到/usr/src/kernels/2.6.35.6-45.fc14.i686,
现在将其连接到/root/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686/即可
(这个貌似也不必自己动手去做,执行过make install 时会自动修正链接)
执行
make modules_install
*********************************************************************
如果想安装一下刚才编译过的内核
执行
make install
(系统将会把vmlinuz和System.map复制到/boot目录下并自动加上$(uname -r)后缀,
同时修改grub/boot/grub/menu.lst,2.6以前版本需要手动拷贝vmlinuz和System.map)
重启即可见到新内核
对于grub.conf(menu.list仅是一个指向他的符号)
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-LogVol02 # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.35.6-45.fc14.i686) root (hd0,0) kernel /vmlinuz-2.6.35.6-45.fc14.i686 ro root=/dev/mapper/VolGroup-LogVol02 rd_LVM_LV=VolGroup/LogVol02 rd_LVM_LV=VolGroup/LogVol00 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet initrd /initramfs-2.6.35.6-45.fc14.i686.img kernel所指文件是内核镜像
initrd所指img文件用于引导硬件到实际内核vmlinuz能够接管并继续引导的状态
而System.map是内核导出的符号表
这三种文件都会存在/boot下
*********************************************************************
看来fedora下重新安装一个内核还是蛮方便的