參考: docs/rk3288/ 目錄下面的 Rockchip_RK3288_Linux_SDK_Release_V2.3.0_20201203_CN.pdf
虛擬機采用 Ubuntu 18.04
ubuntu 安裝時候注意可以選擇精簡安裝,速度會快很多。
apt-get install open-vm-tools-desktop
編譯分區要分配100G,避免空間不足
7. SDK 編譯說明
7.1 SDK依賴包安裝
sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip \
device-tree-compiler python-pip libncurses5-dev
7.2 SDK板級配置
./build.sh device/rockchip/rk3288/BoardConfig-rk3288-evb-rk808.mk
配置文件會鏈接到 device/rockchip/.BoardConfig.mk
,檢查該文件可以驗證是否配置成功
可以看到建立了一個軟連接
相關配置介紹:
# Target arch export RK_ARCH=arm # 32位 ARM 架構 # Uboot defconfig export RK_UBOOT_DEFCONFIG=firefly-rk3288 # u-boot 配置文件 # Kernel defconfig export RK_KERNEL_DEFCONFIG=firefly_linux_defconfig # kernel 配置文件 # Kernel dts export RK_KERNEL_DTS=rk3288-firefly # dts 文件 # Buildroot config export RK_CFG_BUILDROOT=rockchip_rk3288 # Buildroot 配置 # Recovery config export RK_CFG_RECOVERY=rockchip_rk3288_recovery # recovery 配置 # parameter for GPT table export RK_PARAMETER=parameter-buildroot.txt # 分區表 # rootfs image path export RK_ROOTFS_IMG=buildroot/output/$RK_CFG_BUILDROOT/images/rootfs.$RK_ROOTFS_TYPE # 根文件系統路徑
部分編譯
編譯 u-boot
./build.sh uboot
編譯 kernel
./build.sh kernel
編譯 recovery
./build.sh recovery
編譯 Buildroot 根文件系統
編譯 Buildroot 根文件系統,將會在 buildroot/output
生成編譯輸出目錄:
./build.sh buildroot # 注:確保作為普通用戶編譯 Buildroot 根文件系統,避免不必要的錯誤。
打包固件
更新各部分鏡像鏈接到 rockdev/
目錄:
./mkfirmware.sh
打包固件,生成的完整固件會保存到 rockdev/pack/
目錄。
./build.sh updateimg
全自動編譯
全自動編譯會執行上述編譯、打包操作,生成完整固件。
./build.sh
http://wiki.t-firefly.com/zh_CN/Firefly-RK3288/buildroot_compile.html