内核配置:
make config:基于文本模式的交互式配置
make menuconfig:基于文本模式的菜单型配置
<*>文件经过编译由.c文件到.o文件,最后链接压缩为内核镜像,它存放在内存。
<M>内核模块,同上经过编译后会把.o文件安装到硬盘。
< >表示不选择该功能
配置结果文件是隐藏文件,可以用ls -a 在内核文件下查看.config version
linux内核提供了一系列可供参考的内核配置文件,位于Arch/cpu/configs
接下来,我们利用虚拟机上的linux系统的配置文件来创建自己的升级版内核,并在虚拟机上运行该内核。
3、编译内核(编译内核、编译内核模块、制作ramdisk)
3.1、编译内核
make zImage只能编译小于512K的内核
make bzImage我们一般会使用这种方法编译内核
如需获取详细编译信息,可使用:
make zImage V=1
make bzImage V=1
编译好的内核位于arch/cpu/boot/目录下***
3.2编译内核模块
make modules 编译内核模块
make modules_install 将编译好的内核模块,从内核源代码目录复制到/lib/modules下**,为打包做好准备
经过第一步编译后,散落在各个文件下的.ko文件为内存模块。需要集中移动到/lib/modules这个就由make modules_install来完成
3.3制作init ramdisk
方法:mkinitrd initrd-$version $version
例如:mkinitrd initrd-2.6.32 2.6.32
通过uname -r 获得正在运行的内核版本
*$version可以通过查询/lib/modules下的目录得到
4、安装内核
1、cp arch/x86/boot/bzImage
/boot/vmlinuz-$version
2、cp initrd-$version /boot/
3、修改/etc/grub.conf的后四行
5、清理内核
make clean 清理编译内核生产的.o文件
make distclean 清理编译内核生产的.o文件和.config $version
记忆几个命令
rpm -qa | grep kernel 找到内核包信息
rpm -e kernel-内核包名