本文基于Ubuntu14.04系统进行操作的。
本文会后续更新,这里给出一个简单的流程。本人属于初学者,等进一步深入的时候会进行细节描写。
1.内核获取
方法一:
sudo apt-get install linux-source
使用该办法可以一键获取内核。在我的系统环境下,获取的是:linux-source-3.13.0.tar.bz2
通过以下代码获取内核源代码:
cp /usr/src/linux-source-2.6.35.tar.bz2 ~
cd
tar xjf linux-source-2.6.35.tar.bz2
方法二:
去linux内核官网上下载对应的包。网址:
https://mirrors.edge.kernel.org/pub/linux/kernel/
2.内核编译
Step1:进入内核源代码的文件夹中,执行以下命令,启动基于控制台的设置工具:
make menuconfig
完成之后如下图所示:
通过控制器可以进行相应配置操作的操作。
有关默认配置文件,没有配置文件等情况另行说明,当前只需根据需求配置内核。其中操作说明:
按键 | 操作 |
---|---|
↑ ↓ | 将选择的项目的光标向上/向下移动 |
<TAB> ← → | 切换操作菜单(Select、Exit、Help) |
<Enter> | 按照所选择的操作菜单进行操作 |
Y | 项目设置为:<*>(有效:静态添加) |
N | 项目设置为:< >(无效) |
M | 项目设置为:<M>(有效:做为模块编译) |
<Space> | 项目在 <M>、< >、<*>之间切换 |
<ESC><ESC> | 回到上一层,同<Exit> |
? | 帮助 |
/ | 搜索设置项目 |
Step2:在linux内核源码文件夹中执行一下命令:
make
编译时间依机器性能而定,我使用的虚拟需要2个小时左右,这边可选择如下指令减少编译时间:
make -j4
Step3:将模块安装到系统中。在源码根目录下执行:
sudo make modules_install
则编译后的模块安装到/lib/modules
文件夹下
Step4:安装内核二进制镜像,执行:
sudo make install
如此,内核镜像就安装到/boot
下。在我所使用的Ubuntu系统中,还需执行以下指令来另行生成和安装boot初始化文件系统镜像:
update-initramfs -c -k <内核版本号>