linux 内核配置、编译和制作
1、配置内核
make config:基于文本模式的交互式配置。
make menuconfig:基于文本模式的菜单型配置
内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,
Linux内核提供了一系列可供参考的内核配置文件,位于内核文件/arch/$(cpu)/configs下,找到一个合适的配置文件复制到linux内核根目录下。
配置好的内核文件.config可用 ls -a 来查看。
2、编译内核
如需获取详细编译信息,可使用:
make zImage V=1 (在X86平台,zImage只能用于小于512K的内核)
make bzImage V=1
编译好的内核位于arch/$(cpu)/boot/目录下
3、编译内核模块
在linux 内核根目录下,
make modules (产生模块文件*.ko)
make modules_install (把散落在各个文件夹下的 *.ko 文件移动到/lib/modules/文件夹下,为打包做好准备)
4、制作 init ramdisk (initrd)
方法: mkinitrd rd-$(内核version) $(内核version)
例: mkinitrd rd-2.6.32 2.6.32
注: rd-2.6.32 自己取的名字,$(内核version) 可以通过查询/lib/modules下的/lib/modules目录得到。
运行结束后,会在运行命令的目录下,生成 一个名为 rd-2.6.32 的文件
5、安装内核(x86)
1)cp */arch/x86/boot/bzImage /boot/vmlinuz-$(内核version)
注:vmlinuz-$(内核version) 为自己取的名字
2)cp */rd-2.6.32 /boot/
3)修改/etc/grub.conf
6、清理内核
7、嵌入式linux内核制作步骤
制作嵌入式平台使用的Linux内核,方法和制作PC平台的Linux内核基本一致。
1)清除原有配置与中间文件
x86: make distclean
arm: make distclean
2)配置内核
x86: make menuconfig
arm: make menuconfig ARCH=arm
3)编译内核
x86: make bzImage
arm: make uImage ARCH=arm CROSS_COMPILE=arm-linux-
注:菜鸟一枚,可能有错