Linux编译内核

来源:互联网 发布:电脑桌面备忘录软件 编辑:程序博客网 时间:2024/06/06 14:25


a)        确保gcc  make  libncurses5 和 libncurses5-dev 已经安装,若未安装,则用apt-getinstall **安装即可

b)        http://www.kernel.org/pub/linux/kernel/v2.6/下载源码包,现在实验室的版本一般为linux-2.6.26.2.tar.gz 

在终端下执行下面命令

wget   http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.2.tar.gz /usr/src

c)        cd  /usr/src 进入该目录,执行 tar –xf ./linux-2.6.26.2.tar.gz解压包

d)        cd  /usr/src/linux-2.6.26.2进入该目录

或者apt-get install linux-source-2.6.26.2下载实验室源上的包

e)        开始准备内核编译

                        i.             make  mrproper

                      ii.             make  menuconfig 默认配置即可,选择exit

                     iii.             make  clean 删除以前的模块和文件

                     iv.             make 编译内核。等待时间较长,约20分钟

                      v.             make  bzImage 生成内核文件,默认在/usr/src/arch/x86/boot/bzImage。

                     vi.             make modules 编译模块

                     vii.             make modules_install 安装编译的模块,完成后可以看到/lib/modules/目录下有新生成的模块目录 2.6.26.2,可将其重命名为***。(注:1: 执行该命令前,先将/lib/modules/2.6.26.2-686目录做备份)

                  viii.             make install  在/boot/下面会有 vmlinuz-2.6.26.2  system.map-2.6.26.2 configure-2.6.26.2 生成

f)         配置启动文件

                        i.             执行 mkinitramfs –o  /boot/initrd.img-***   /lib/modules/2.6.26.2(***)

来创建initrd.img; 这样在/boot目录下可以看到由新内核生成的四个文件,检查新生成的这四个文件,务必使其与原四个文件不同(看日期大小即可)。

四个文件为: initrd.img-***  system.map-***   vmlinux-*** 还有个config文件暂不处理 -

*** 即为2.6.26.2 – 安装的内核版本号

                      ii.             修改启动配置文件 vim /boot/grub/grub.cfg  (debian下,也可能在/boot/grub/menu.list)找到 menuentry 开始的文本段,编写如下:(不编辑该文本亦可)

menuentry “Debian linux 2.6.26-2 ***” {

set root=(hd0,1) 与上面的一致即可

search –fs-uuid –set ********(保持不变)

linux   /boot/vmlinuz-***   root=/dev/sda1 ro  与上面的一致即可

initrd   /boot/initrd.img-***

                   } 保存

                   如果是menu.list,则稍有不同。

                  如果没有grub,则需按照apt-getinstall grub 即可

                  

在终端中执行update-grub  。 重启机器,如果人品高,应该在启动项看到自己编译的系统项 “linux 2-6.26-2 ***” 

0 0