Linux 内核编译

1.编译环境

主机环境:Unbuntu 10.04

使用内核版本:2.6.32-21

待编译内核版本:2.6.38

gcc版本号:4.4.*

注意:安装的内核版本要和本机内核版本接近,否则会出现编译不兼容问题。

原因:编译内核的版本和发行版的内核版本不一致,内核是和各个功能模块分开的,内核升级,但文件

系统没有升级,导致内核与之相关的文件系统不匹配。所以尽量使用与主机系统接近的内核版本号。

2.内核编译步骤【准备内核源代码】

1.内核源代码,linux-2.6.38.tar.bz2

2.*.tar.bz2格式的压缩包解压到指定目录下:tar -xjvf  linux-2.6.38.tar.bz2  -C  /usr/src

3.cd   /usr/src/linux-2.6.38【解压文夹所在目录】

4.使用boot目录下主机系统的配置文件,将其拷贝到当前目录下并重命名 cp /boot/config2.6.32-21-generic   /.config

3.配置内核&编译内核&安装内核

1.$ make menuconfig  可能出现的问题

因为这种配置方式是基于ncurse库的图形工具界面,可能环境缺少此功能模块

解决:sudo  apt-get  install  libnucurses5-dev

默认所有选项保存退出

2.$ make  编译内核【此过程时间最长机器配置差需数小时】

3.$ make modules  模块模块

4.$ make modules_install 安装模块

5.$ make 安装内核

4.生成启动【借鉴网上资源】

1.sudo mkinitramfs -o /boot/initrd.img-2.6.38

2.sudo update -initamfs -c -k 2.6.38

3.sudo update-grub2  //自动修改系统引导配置,产生grub.cfg启动文件,此文件中增加了新内核的启动项

5.修改grub配置中的 timeout

1.vi /etc/grub.d/30_os-probe 中三处set timeout = 0 改为set timeout = 10

2.sudo update -grub

原文地址:https://www.cnblogs.com/super90/p/4035096.html