linux内核编译(3.0.1版本)解说.md
本文参考 :/uidid-3211008.html
一、编译环境
ubuntu 10.04.1 ,要编译的内核源码版本3.0.1
二、下载并解压源代码
首先从linux内核的官网www .把源代码下载下来。
也可以把下面的地址复制进迅雷等下载工具进行下
载 :http://www ./pub/linux/kernel/v3.0/linux-3.0.1.tar.bz2
先将下载的linux-3.0.1.tar.bz2复制进/usr/src/ 目录下 ,命令如下 :
我们这里假定你存放的位置是文档 (Documents )(可以在资源管理器的地址栏右键-复制
地址 ,再到终端按Ctrl+Shift+V粘贴 ):
cd Documents
sudo cp linux-3.0.1.tar.bz2 /usr/src
Password:输 入 密 码 (光 标 不 会 移 动 ,不 用 担 心 ,密 码 正 常 输 入 )
检查是否复制成功 :
cd /usr/src
ls
//这 里 会 列 出文 件 以及 文 件 夹 ,正 常情 况 下应 该 会 有 linux-3.0.1这 个 文 件
解压源码 :
sudo tar zxvf linux-3.0.1.tar.bz2
检查是否解压成功 :
ls
//这 里 会 列 出linux-3.0.1 linux-3.0.1.tar.bz2
三、构建编译环境 (此步骤最好在联网条件下进行 ,不然有一定
几率会报错 )
现在我们安装基本的编译器套件 :
sudo apr-get install build-essential gcc g++ gdb make
四、安装ncurses库
这里使用Ubuntu系统 ,因为系统自带的ncurses库在支持make menuconfig的时候会出错 ,
所以 ,依然要安装ncurses库 ,这里我们从源码安装。首先去ncurses官
网/pub/gnu/ncurses/ 上下载源码。这里我们下载5.9版本 ,并通过简单的安
装方式.configure 和make、make install方式安装。
假定你现在把ncurses-5.9.tar.gz .存放在文档 (Documents)下面 :
cd Documents
sudo tar zxvf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
sudo make
sudo make install
编译过程可能会报错 ,我们先忽略它。
五、配置内核
一切准备工作做完 ,现在我们就可以配置内核了 ,这里我们使用make menuconfig方式。
sudo /usr/src/linux-3.0.1
sudo make menuconfig
在使用make menuconfig这个命令后 ,会出现如下的字符界面 ,我们就可以在这个界面上对
内核进行配置。但是如果这不是你第一次配置这个内核 ,那么请先运行 :make mrproper来
清除以前的配置 ,回到默认配置 ,然后再运行 :make menuconfig。
如果你不是第一次配置内核 ,请使用下面的命令 :
sudo make mrproper
sudo make menuconfig
如果你是Intel的CPU ,则无需设置 ,直接 方向键→ 然后 Enter 退出。如果是AMD的CPU ,
请查看本文参考的文章 ,里面有详细描述。
cpu的设置在linux内核编译过程中 ,不是必需的 ,即使保持默认的386选项 (我们刚才把它
改成了AMD ),内核也能正常运行 ,只不过运行慢一些而已。
六、编译内核
对内核的配置完成之后 ,现在就可以开始编译内核了 ,只需要一个简单的make命令即可 ,
之后我们就只能慢慢等 ,直到编译完成 ,在我的电脑上 ,大概用了25分钟。下图是运行
make后的部分输出。
sudo make
七、安装内核
编译完成之后 ,我们需要安装内核 ,主要分为如下几步 :
安装模块
安装模块 ,对于内核来说 ,每一个内核版本有自己的模块目录 ,默认在/lib/modules/内核版
本号这个目录下 ,make modules_install会创建对应的目录 ,并把对应的模块文件拷贝过
去。注意 ,这一步必须要在编译过内核再做。
sudo make modules_install
拷贝bzImage文件
bz Image文件是内核映像文件 ,是启动内核所必需的