编译Linux内核,听起来似乎是一件难度极高的事情。事实上,真的如此吗?
1.准备工作
- 下载Linux
 
1  | git clone https://github.com/torvalds/linux  | 
- 进入linux目录
 
1  | cd linux  | 
- 切换分支
 
1  | 本文使用4.4版本  | 
2.配置内核
make defconfig:使用默认配置
make menuconfig:使用图形界面,依赖库ncurses
make xconfig:
1  | make menuconfig  | 
3.编译
本文采用ARM64交叉编译,如果系统中没有安装,可以使用如下方式进行安装:
1  | GNU C compiler for the arm64 architecture  | 
下面开始编译:
1  | make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image -j8  | 
如果编译成功,最后会输出如下信息:
1  | OBJCOPY arch/arm64/boot/Image  | 
表示编译后的内核文件为arch/arm64/boot/Image。
当然,编译过程中可能会出现一些问题,比如:
1  | /bin/sh: 1: bc: not found  | 
原因分析:找不到bc
解决办法:安装bc
1  | Ubuntu  |