linux内核的配置与编译(基于linux2.38)
步骤:
一、清除临时文件、中间文件和配置文件(命令可选)
- make clean:删除产生的文件,但是保留配置文件
- make mrproper:删除产生的文件 + 保留配置文件
- make distclean:mrproper + 补丁和IDE留下的文件(比较干净)
二、确定目标系统的软硬件配置情况:如:CPU、网卡型号、网络协议等
三、使用如下之一命令配置内核
- make config:基于文本模式的交互式配置
- make menuconfig:基于文本模式的菜单型配置(常用)
- make oldconfig:使用已有的配置文件(.config),但是会询问新增加的配置选项
- make xconfig:图形化的配置(需要安装图形化系统)
四、编译内核
- make zImage
- make bzImage
两者区别在于:在x86平台上,zImage只能用于小于512K的内核
如需获取详细的编译信息,可用
make zImage V=1
make bzImage V=1
编译好的内核位于arch/(cpu)/boot/目录下
五、编译内核模块
- make modules
六、安装内核模块
- make modules_install
将编译好的内核模块从内核源代码copy至 /lib/modules下
七、制作init ramdisk
- mkinitrd initrd-$version $version
内核版本可以通过 uname -r 命令查看
举例: mkinitrd initrd-2.6.29 2.6.29
$version 可以通过查询 /lib/modules 下的目录得到
内核的安装(x86平台)
步骤(linux 内核目录下)
- cp arch/x86/boot/bzImage /boot/vmlinuz-$version
- cp $initrd version /boot/
- 修改 /etc/grub.conf 或者 /etc/lilo.conf (仿照grub.conf文件的linux系统启动的写法) version 为所编译的内核版本号
grub.conf 配置如下
配置安装成功现象(启动时):
my Linux为自己编译的内核