这篇文档会介绍如何编译Linux内核源码。
我们推荐使用Fenix来编译Linux内核源码,只需要简单几条命令即可完成编译。如果还没有搭建开发环境,请参考文档编译Ubuntu/Debian固件搭建开发环境。
设置环境
选择需要编译的板子型号,如:VIM3
,U-Boot版本,Linux版本,系统版本等等。
1 | $ source setenv.sh |
Note目前每个板子都支持两个版本的Linux。如下:
- 芯片原厂自带的原始Linux,版本为
4.9
,该版本功能全面,但是版本比较旧- 主线版本Linux,版本会一直随主线更新,该版本功能相对不是很完善,但是版本跟随主线
根据实际需求选择不同的Linux版本。
修改内核配置[可选的]
如果你想要修改默认的内核配置,可以参考如下步骤。
1 | $ make kernel-config |
编译
通过简单的命令即可编译Linux Debian包。
1 | $ make kernel |
编译后的Debian包在目录build/images/debs/{VERSION}/{BOARD}
下
VERSION :表示Fenix版本号,如1.0.7
BOARD :表示对应的板子,如VIM3
所以目录可能为build/images/debs/1.0.7/VIM3
,其中有三个包是我们所需要的,分别为:dtb包,image包和头文件包。
- 4.9
- DTB -
linux-dtb-amlogic-4.9_1.0.7_arm64.deb
- IMAGE -
linux-image-amlogic-4.9_1.0.7_arm64.deb
- Header -
linux-headers-amlogic-4.9_1.0.7_arm64.deb
- DTB -
- Mainline
- DTB -
linux-dtb-amlogic-mainline_1.0.7_arm64.deb
- IMAGE -
linux-image-amlogic-mainline_1.0.7_arm64.deb
- Header -
linux-headers-amlogic-mainline_1.0.7_arm64.deb
- DTB -