日期:2014-05-16  浏览次数:20708 次

Ubuntu10.04下Linux内核编译的完整步骤
1、在http://www.kernel.org/上下载最新的内核源代码linux-2.6.33.1.tar.bz2,放在/liqiong/Linux内核 目录下,liqiong是Linux OS的第一个用户名。
2、进入Linux内核源码所在的目录(cd Linux内核),解压该内核代码到/usr/src下:
sudo tar -xjvf linux-2.6.33.1.tar.bz2 -C /usr/src
3、进入Linux内核源码解压后的目录/usr/src/linux-2.6.33.1(cd /usr/src/linux-2.6.33.1)
4、sudo make mrproper         净化解压后的源代码
5、sudo make menuconfig     对内核选项进行配置
在配置过程中会发生如下错误:
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误2
解决办法:
(1)cd / 进入根目录后,在终端输入:sudo apt-get install ncurses
信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
现在没有可用的软件包 ncurses,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 ncurses 还没有可供安装的候选者
(2)然后接着在终端输入:sudo apt-get install libncurses*
信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
注意,根据正则表达式“libncurses*”选中了 libncurses5
注意,根据正则表达式“libncurses*”选中了 libncurses-dev
注意,选取 libncurses5-dev 而非 libncurses-dev
注意,根据正则表达式“libncurses*”选中了 libncursesw5-dbg
注意,根据正则表达式“libncurses*”选中了 libncursesw5-dev
注意,根据正则表达式“libncurses*”选中了 libncurses-ruby
注意,根据正则表达式“libncurses*”选中了 libncurses5-dbg
注意,根据正则表达式“libncurses*”选中了 libncurses5-dev
注意,根据正则表达式“libncurses*”选中了 libncursesw5
将会安装下列额外的软件包:
  libncurses5-dbg libncurses5-dev libncursesw5-dbg libncursesw5-dev
下列【新】软件包将被安装:
  libncurses5-dbg libncurses5-dev libncursesw5-dbg libncursesw5-dev
共升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 92 个软件未被升级。
需要下载 6,201kB 的软件包。
解压缩后会消耗掉 21.1MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://cn.archive.ubuntu.com karmic/main libncurses5-dev 5.7+20090803-2ubuntu2 [1,564kB]
获取:2 http://cn.archive.ubuntu.com karmic/main libncursesw5-dev 5.7+20090803-2ubuntu2 [484kB]
获取:3 http://cn.archive.ubuntu.com karmic/main libncurses5-dbg 5.7+20090803-2ubuntu2 [1,958kB]
获取:4 http://cn.archive.ubuntu.com karmic/main libncursesw5-dbg 5.7+20090803-2ubuntu2 [2,194kB]
下载 6,201kB,耗时 2min 41s (38.5kB/s)                                        
选中了曾被取消选择的软件包 libncurses5-dev。
(正在读取数据库 ... 系统当前总共安装有 112582 个文件和目录。)
正在解压缩 libncurses5-dev (从 .../libncurses5-dev_5.7+20090803-2ubuntu2_i386.deb) ...
选中了曾被取消选择的软件包 libncursesw5-dev。
正在解压缩 libncursesw5-dev (从 .../libncursesw5-dev_5.7+20090803-2ubuntu2_i386.deb) ...
选中了曾被取消选择的软件包 libncurses5-dbg。
正在解压缩 libncurses5-dbg (从 .../libncurses5-dbg_5.7+20090803-2ubuntu2_i386.deb) ...
选中了曾被取消选择的软件包 libncursesw5-dbg。
正在解压缩 libncursesw5-dbg (从 .../libncursesw5-dbg_5.7+20090803-2ubuntu2_i386.deb) ...
正在处理用于 man-db 的触发器...
正在设置 libncurses5-dev (5.7+20090803-2ubuntu2) ...
正在设置 libncursesw5-dev (5.7+20090803-2ubuntu2) ...
正在设置 libncurses5-dbg (5.7+20090803-2ubuntu2) ...
正在设置 libncursesw5-dbg (5.7+20090803-2ubuntu2) ...
(3)再cd /usr/src/linux-2.6.33.1进入内核所在目录,再次输入sudo make menuconfig就好了!
6、对于配置可选择General Setup或者选择其他的自定义选项保存后退出。
7、sudo make dep         建立模块间的依赖信息
8、sudo make clean       删除配置时留下的一些不用的文件
(7、8两步可能对于一些PC没有作用)
9、sudo make bzImage     编译内核,内核较小时可以用make zImage
10、sudo make modules    编译内核模块
当然,在编译内核时,可通过make-j<n>来加速内核的编译,n一般等于CPU