x86平台内核配置、编译和安装

1.先解压内核

    命令:tar jxvf linux.2.6.29.tar.bz2

    备注:执行此命令前需要先把linux.2.6.29.tar.bz2复制到/usr/src/文件下。

    cp  -Rf/mnt/hgfs/linux-shared/linux.2.6.29.tar.bz2/usr/src/(其中linux-shared是通过VM tools让物理主机与虚拟机之间共享文件夹)

    cp命令定义如下:

    cp -Rf /home/user1/* /root/temp/
     将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
    即格式为:cp -Rf 原路径/ 目的路径/

2.清理内核

  命令:make distclean

         make clean

        make  mrproper

  备注:执行此命令一定要在内核代码的顶层目录

3确定目标系统的软硬件系统情况:cpu型号、网卡类型、所支持的网络协议

 4.配置内核

     命令:make menuconfig 

     使用默认配置即可,退出保存

    备注1:内核配置通常在一个已有的配置文件的基础上,通过修改得到新的配置文件,linux内核提供了一系列可供参考的内核配置文件,位于Arch/Scpu/configs/(linux-2.6.29/arch/x86/configs)(复制到内核的顶层目录即linux-2.6.29)

系统当前的配置位于:/boot/


5.编译内核

   命令:make bzImage

   完成后,生成的内核映像bzImage位于/arch/x86/boot目录下

6.编译内核模块

   命令:make modules

   备注:编译内核和编译内核模块之间的区别:因为内核可以将驱动和功能模块动态的载入内核,所以在需要时吧功能模块动态载入,所以就有了,内核模块的编译!

7.安装内核模块

   命令:make modules_install

   完成安装后,编译好的内核模块会从内核源代码目录拷贝至/lib/modules下,本实验会拷贝到/lib/modules/2.6.29目录下

  备注:编译某个文件出错,找到对应文件的makefile,修改里面的宏定义

  Usb驱动:linux-2.6.29/drivers/usb/musb

                    Vi   makefile

 

 8.制作init ramdisk  作用:提供一种让内核可以简单使用ramdik的能力。这些能力包括:格式化一个ramdisk,加载文件系统内容到ramdisk,将ramdisk作为根文件系统。

    命令:mkinitrd init-2.6.29 2.6.29

    完成后,在当前目录下会生成initrd-2.6.29

9.安装内核

 1因为linux启动时,会从/boot目录下来寻找内核文件与init ramdisk,所以需将内核与init armdisk拷贝至/boot目录

  命令:cp linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29(可任意命名)

       cp initrd-2.6.29 /boot/

 此时,vmlinuz-2.6.29为内核   initrd-2.6.29init ramdis


2)为了让grub在启动的时候,提供我们自己制作的linux内核的选择项,需要修改grub

 

 配置文件

  命令:vi /etc/grub.config

 添加   title my linux2.6.29           

             root hd0,0

             kernel /vmlinuz-2.6.29 ro root=LABEL=/ rhgb quiet

             initrd /initrd-2.6.29

 10.重启虚拟机,选择我们制作的内核

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值