编译内核
更新时间:2018-03-19 阅读:7654
准备工作
机器配置要求:
64 位 CPU
2GB 交换内存
30GB 空闲的磁盘空间用于构建创建编译环境
编译环境的初始化
Ubuntu 14.04 软件包安装:
$ sudo apt-get install git repo gnupg flex bison gperf build-essential \ zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 \ /usr/lib/i386-linux-gnu/libGL.so
安装 ARM 交叉编译工具链和编译内核相关软件包:
$ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev
下载 Linux SDK
ROC-RK3328-CC Linux 内核代码已不再使用 Android SDK 里面的内核,新的源码获取方式:
git clone https://github.com/FireflyTeam/kernel.git
获取交叉编译工具:
git clone https://github.com/FireflyTeam/build.git git clone https://github.com/FireflyTeam/rkbin.git
完整 SDK 获取,可使用 repo 进行初始化,如下:
repo init --repo-url=https://github.com/FireflyTeam/repo -u https://github.com/FireflyTeam/manifests
在当前目录下执行如下命令,即可下载整个工程代码:
repo sync
也可以到 https://github.com/FireflyTeam/kernel 在线浏览源码。
使用官方脚本编译
单独编译kernel:
./build/mk-kernel.sh roc-rk3328-cc
编译后生成 boot.img 、Image 、rk3328-roc-cc.dtb
单独编译uboot:
./build/mk-uboot.sh roc-rk3328-cc
编译后生成 idbloader.img、trust.img、uboot.img、rk3328_loader_ddr786_v1.06.243.bin
烧写分区映像
编译脚本执行后,所有生成的文件都将拷贝到 out/ 目录下。
请参照 《升级固件》 一文来烧写分区镜像。