榮品3568搭建編譯Buildroot環境(基于ubuntu1604_64)
1 解壓代碼
$ tar xzvf RK3566-RK3568-SDK-XXX.tgz
2 查看是否生成.git
$ ls -al
drwxrwxr-x 8 fxb fxb 4096 May 9 14:33 .git
3 恢復完整的原始碼
$ git reset --hard
如果 git reset --hard 指令執行結束后看不到完整原始碼,請比較壓縮包的 md5 校驗碼是否一致,不一致請重新下載原始碼包
3.1 原始碼目錄說明
├──app:#存放上層應用 APP,主要是 qcamera/qfm/qplayer/qseting 等一些應用程式,
├──buildroot:#基于 Buildroot(2018.02-rc3)開發的根檔案系統,
├──device/rockchip:#存放各芯片板級配置以及一些編譯和打包韌體的腳本和預備檔案,
├──docs:#存放開發指導檔案、平臺支持串列、工具使用檔案、Linux 開發指南等,
├──IMAGE:#存放每次生成編譯時間、XML、補丁和韌體目錄,
├──external:#存放第三方相關倉庫,包括音頻、視頻、網路、recovery 等,
├──kernel:#存放 Kernel 4.19 開發的代碼,
├──prebuilts:#存放交叉編譯工具鏈,
├──rkbin:#存放 Rockchip 相關 Binary 和工具,
├──rockdev:#存放編譯輸出韌體,
├──tools:#存放 Linux 和 Window 作業系統下常用工具,
├──u-boot:#存放基于 v2017.09 版本進行開發的 U-Boot 代碼,
└──yocto:#存放基于 Yocto 3.2 開發的根檔案系統,
4 編譯 (以下操作,若無特殊說明,均在原始碼根目錄下進行)
4.1 搭建編譯環境
sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g+±multilib unzip device-tree-compiler python-pip ncurses-dev pyelftools
注意:編譯程序中可能會因為缺少某些庫或軟體,安裝相應的報錯即可,
4.2buildroot(linux)系統編譯
4.2.1 選擇對應的開發板配置
$ ./build.sh init
1. BoardConfig-pro-rk3566-buildroot.mk
2. BoardConfig-pro-rk3566-debian.mk
3. BoardConfig-pro-rk3568-buildroot.mk
4. BoardConfig-pro-rk3568-debian.mk
Which would you like? [0]: 3 #選擇 31 編譯 pro-rk3568-buildroot 版型
4.2.2 配置buildroot默認環境
source envsetup.sh
Top of tree: /home/rpdzkj/third/lixin/rk3566-rk3568/rk3566-rk3568-linux
You're building on Linux
Lunch menu...pick a combo:
0. non-rockchip boards
.
.
.
62. rockchip_rk3566 # pro-rk3566 選擇62
63. rockchip_rk3568 # pro-rk3568 選擇63
.
.
.
1. rockchip_rv1126_rv1109_uvcc_spi_nand
Which would you like? [0]: 63
或者執行如下指令直接選擇版型:
$ source envsetup.sh rockchip_rk3566
4.2.2 編譯代碼
$ ./build.sh # 默認編譯 uboot、kernel、rootfs、recovery
編譯成功后將會在 rockdev/ 目錄下生成如下鏡像檔案:
$ ls rockdev/
MiniLoaderAll.bin #引導 uboot、檢測啟動方式
parameter.txt #系統磁區表、內核傳參
uboot.img #引導系統磁區
trust.img #ARM TrustZone 特性磁區
misc.img #記錄 recovery 升級資訊
boot.img #內核、設備樹、logo 磁區
recovery.img #恢復還原磁區
rootfs.img #根檔案系統磁區
oem.img #存放 OEM 資源磁區
update.img #完整韌體 用于整包燒寫
4.2.3 Tips
單獨編譯 uboot
$ ./build.sh uboot
生成鏡像:rockdev/uboot.img
單獨編譯 kernel
$ ./build.sh kernel
生成鏡像:rockdev/boot.img
單獨編譯buildroot檔案系統
$ ./build.sh buildroot
生成鏡像:rockdev/rootfs.img
單獨編譯recovery
$ ./build.sh recovery
生成鏡像:rockdev/recovery.img
單獨編譯 buildroot 應用
單獨編譯 qcamera 應用
$ make qcamera -dirclean && make qcamera -rebuild -j16
單獨編譯 rkwifibt
$ make rkwifibt-dirclean && make rkwifibt-rebuild -j16
.
.
.
自己腦補...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286832.html
標籤:其他
