linux 内核配置、编译和制作


linux 内核配置、编译和制作

linux 内核配置、编译和制作


1、配置内核

linux 内核配置、编译和制作


make config:基于文本模式的交互式配置。

make menuconfig:基于文本模式的菜单型配置

内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,

Linux内核提供了一系列可供参考的内核配置文件,位于内核文件/arch/$(cpu)/configs下,找到一个合适的配置文件复制到linux内核根目录下。

配置好的内核文件.config可用 ls  -a 来查看。


2、编译内核

linux 内核配置、编译和制作


如需获取详细编译信息,可使用:

    make zImage V=1  (在X86平台,zImage只能用于小于512K的内核)

    make bzImage V=1

 编译好的内核位于arch/$(cpu)/boot/目录下


3、编译内核模块

linux 内核配置、编译和制作


    在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、清理内核


linux 内核配置、编译和制作

linux 内核配置、编译和制作


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-


注:菜鸟一枚,可能有错