Linux内核编译

      经过几天的努力,本人终于把一个内核编译成功了,嘿嘿,现在把编译过程记下来,以后再接再励,^_^

 

注意:以下的操作都要有root权限。

 

1.首先是下载内核源码,在kernel.org上可以下载,有一些网站上有镜像,速度会快很多。我下的是linux-2.6.36.tar.bz2

 

2、解压缩。cd /usr/src ;    tar -xvf  /home/ibm/linux-2.6.36.tar.bz2.  /usr/src下就会多一个linux-2.6.36文件夹。/usr/src目录是用来存放linux内核源码的目录。

 

3.进入/usr/src/linux-2.6.36,以后的大部分操作都是在这个文件夹下进行。执行make mrproper。这步的作用是清理该目录下以前编译时生成的文件,不包括/boot和/lib/modules下的。最后这两个目录的作用等会儿就知道了。如果是刚下的内核就不用清理也行。

 

4、开始配置内核。执行make config或make menuconfig或make xconfig。后来我在网上看见还有make oldconfig等。这几个的作用都一样。我用的是muneconfig。据说make config是让你回答n个y/n的形式,没有make menuconfig好用,而xconfig是图形界面,我试的时候提示让我装qt3,于是我最后用的是menuconfig。这是基于菜单的。里面的选项是什么意思我也不是很清楚。执行make menuconfig时有可能会提示没有ncurses,执行apt-get install libncurses5-dev 再make menuconfig就行了。我使用了默认的配置make defconfig。然后再根据自己的需要make menuconfig修改配置。

 

5、make dep这一步是确认依赖性的,我执行的时候屏幕提示不必要。

 

6、编译内核映像文件:make bzImage

 

7、make modules,编译模块

注:6、7步可以合并成一个make命令

 

8、make modules_install安装模块

 

9、建立要载入的内核映像文件,这步是把编好的内核放到/boot目录下,执行mkinitramfs -o /boot/initrd.img-2.6.36 /lib/modules/2.6.36 如果不加绿色的这部分重启时会有找不到lib/modules/modules.dep.temp的错误。我就在这儿折腾了好长时间,还重编译了好几次。

 

10、安装内核,执行make install,将内核相关的文件全部复制到/boot下

 

11、配置grub,使系统从新的内核引导。修改/boot/grub/menu.lst文件,添加新内核的内容。就是有title,kernel,initrd之类的地方,照着旧内核写就行,把版本之类的地方改一下。

 

12、需要注意的是,有时候改完了未必加载成功,可能仍然需要把系统根目录(即/)下的两个软链接vmlinuz和initrd.img一并修改为/boot下对应的新内核映像文件,才可以成功加载。


13、reboot

 

查看当前版本信息可以用命令uname -r。 

你可能感兴趣的:(qt,图形,linux内核)