固件编译
准备工作
开发环境搭建
除了系统要求外,还有其他软硬方面的要求。
64 位系统
硬盘空间大于 40G,如果您进行多个构建,将需要更大的硬盘空间。
推荐使用Ubuntu 16.04 的系统进行编译。其他版本没有具体测试,可能需要对软件包做相应调整。
软件包安装
操作系统安装好后,且用户已自行配置好网络环境,则可继续如下步骤完成相关软件包的安装。
apt-get update
sudo apt-get update
安装 Kernel 及 U-Boot 编译需要依赖的软件包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl \ zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev \ x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev \ libxml2-utils xsltproc unzip device-tree-compiler
安装 Buildroot 编译需要依赖的软件包
sudo apt-get install libfile-which-perl sed make binutils gcc g++ bash \ patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3 \ git repo texinfo pkg-config cmake tree
必要工具安装
sudo apt install genext2fs sudo apt install gawk
注意:编译若遇到报错,可以视报错信息,安装对应的软件包。
交叉编译工具链介绍
鉴于 Rockchip Buildroot SDK 目前只在 Linux 下编译,我们也仅提供了 Linux 下的交叉编译工具链。其中 U-Boot 及 Kernel 使用的编译工具链预置目录在 prebuilt/gcc下,buildroot 使用该开源软件中编译出来的工具链。
U-Boot 及 Kernel 编译工具链
prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
对应版本
gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)
Buildroot 编译工具链
buildroot/output/rockchip_rk3308_release/host/bin/aarch64-rockchip-linux-gnu-
对应版本
gcc version 6.4.0 (Buildroot 2018.02-rc3-00017-g9c68ede)
如果需要其他平台或版本的工具链,需自行编译。
下载 SDK
由于 SDK 比较大,我们提供了一个打包好的.git以供下载:
Firefly-RK3308_Linux_SDK
下载完成后先验证一下 MD5 码:
md5sum Firefly-RK3308_Linux_SDK_git_20190924.7z 97837ef273541b45ab12260db6c01fdd Firefly-RK3308_Linux_SDK_git_20190924.7z
确认无误后,就可以解压:
mkdir -p ~/prj/Firefly-RK3308 cd ~/prj/Firefly-RK3308 7zr x Firefly