这里总结自己学习linux内核编译安装的心得:
一、下载源代码和编译软件的准备
下载内核源代码:http://www.kernel.org/
安装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具
代码:sudo apt-get install build-essential kernel-package libncurses5-dev
libncurses5-dev是为之后配置内核能运行make menuconfig程序做准备
Build-essential为编译工具,kernel-package是编译内核工具
二、解压源代码
通常是下载到自己的主目录下(其实下载到哪个目录都一样)解压到src文件夹里。这里以最新下载的 linux-3.2.2.tar.bz2 为例。
代码:
cd ~
mkdir src && tar jfx linux-3.2.2.tar.bz2 -C src/
执行后源代码放在 ~/src/linux-3.2.2里。
注:打上ck补丁http://ck.kolivas.org/patches/ 下载
将下载的patch-3.2-ck1.bz2解压得到patch-3.2-ck1放到源代码linux-3.2.2文件夹里执行:patch -p1 < patch-3.2-ck1
三、配置内核
编译前首先清理以前编译时留下的临时文件,相关命令:sudo make mrproper
进入~/src/linux-3.2.2里执行
代码:sudo make menuconfig
第一次调用会使用系统当前内核的配置
中途有两次询问:
询问是否用BFS,选Yes
询问时钟频率,选300Hz
进入menuconfig界面,
在General Setup里,把Control Group Support关掉。
在Processor Type and Features里,把Preemption Model改成Preemptible Kernel (Low-Latency Desktop)
在Processor Type and Features里,把Precessor Family里,改成自己的cpu家族
在Processor Type and Features里,把Maximum number of CPUs改成自己的cpu核心数
具体配置参考:http://lamp.linux.gov.cn/Linux/kernel_options.html
四、编译内核
ubuntu的工具是make-kpkg
相关命令:
sudo make-kpkg clean
sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers
或者是直接make指令
安装新内核:
代码:sudo dpkg -i linux-*.deb
内核安装顺序:
1.linux-image-x.x.x-x-generic_x.x.x-x.x_i386.deb
2.linux-headers-x.x.x-x_x.x.x-x.x_all.deb
3.linux-headers-x.x.x-x-generic_x.x.x-x.x_i386.deb
可利用Gdebi安装