Build Kernel
Update time:2018-03-19 Views:7122
Prepare
Machine configuration requirements:
64 bit CPU
2GB swap memory
30GB free disk space which used to build and create a build environment
Compile environment initialization
Ubuntu 14.04 Package Installation:
$ 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
Install ARM Cross-Compile Toolchain and Compile Kernel Related Packages:
$ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev
Download Linux SDK
ROC-RK3328-CC Linux Kernel code is no longer used inside the Android SDK , the new source code access:
git clone https://github.com/FireflyTeam/kernel.git
Get cross-compiled tools:
git clone https://github.com/FireflyTeam/build.git git clone https://github.com/FireflyTeam/rkbin.git
Obtain complete SDK, you can use repo to initialize, as follows:
repo init --repo-url=https://github.com/FireflyTeam/repo -u https://github.com/FireflyTeam/manifests
In the current directory, execute the following command, you can download the entire project code:
repo sync
you can also click this https://github.com/FireflyTeam/kernel to browse the source code online.
Use the Official Script to Compile
Compile kernel separately:
./build/mk-kernel.sh roc-rk3328-cc
after that some files will be generated like boot.img 、Image 、rk3328-roc-cc.dtb
Compile uboot separately:
./build/mk-uboot.sh roc-rk3328-cc
after that some files will be generated like idbloader.img、trust.img、uboot.img、rk3399_loader_v1.08.106.bin
Burning Partition Images
After the build script has been executed, all generated files will be copied to the out / directory.
Please refer to 《Flash Image》 to burn partition images into board.