- 64 位 CPU
- 8GB 物理內(nèi)存+交換內(nèi)存
- 30GB 空閑的磁盤空間用于構(gòu)建,源碼樹另外占用大約 10GB
建議使用 Ubuntu 64ibt 系統(tǒng)開發(fā),如 Ubuntu 14.04 64ibt、Ubuntu 16.04 64ibt等,避免出現(xiàn)環(huán)境問(wèn)題。
您需要一個(gè) 64 位版本的 Ubuntu 。注意:使用老版本 Ubuntu 可能會(huì)有兼容性問(wèn)題。
- Ubuntu 14.04 軟件包安裝:
$ sudo apt-get install git 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-gn u/libGL.so - 安裝 ARM 交叉編譯工具鏈和編譯內(nèi)核相關(guān)軟件包
$ sudo apt-get install gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \ libssl1.0.0 libssl-dev - 目前Buildroot默認(rèn)支持的Qt版本為Qt5.9.1,此版本要求主機(jī)的編譯工具GCC和G++的版本必須為4.8以上,所以如果當(dāng)前編譯環(huán)境的GCC和G++版本小于4.8,請(qǐng)先更新GCC和G++版本,再進(jìn)行編譯。
由于 SDK 比較大,我們提供了一個(gè)打包好的.git以供下載:
- Firefly-PX3-SE_Buildroot_git_180421.7z
下載完成后先驗(yàn)證一下 MD5 碼:
$ md5sum Firefly-PX3-SE_Buildroot_git_180421.7z 21b8c26d61731ce7bacc9000d39f33ed Firefly-PX3-SE_Buildroot_git_180421.7z 確認(rèn)無(wú)誤后,就可以解壓:
mkdir -p ~/proj/Firefly-PX3-SE cd ~/proj/Firefly-PX3-SE 7zr x Firefly-PX3-SE_Buildroot_git_180421.7z git reset --hard 更新remote地址,解決更新倉(cāng)庫(kù)時(shí)的權(quán)限問(wèn)題:
git remote set-url gitlab https://gitlab.com/TeeFirefly/px3se-buildroot.git 以后就可以直接從 gitlab 處更新:
git pull gitlab firefly-px3se:firefly-px3se 也可以到 https://gitlab.com/TeeFirefly/px3se-buildroot 在線瀏覽源碼
編譯內(nèi)核:
cd ~/proj/Firefly-PX3-SE/u-boot make px3se_linux_defconfig make -j8 編譯內(nèi)核:
cd ~/proj/Firefly-PX3-SE/kernel make ARCH=arm px3se_linux_defconfig make ARCH=arm px3se-fireprime.img -j8 編譯 rootfs:
cd ~/proj/Firefly-PX3-SE . envsetup.sh cd ~/proj/Firefly-PX3-SE/buildroot/ make rockchip_px3se_defconfig && cd .. ./build_all.sh && ./mkfirmware.sh 其中,envsetup.sh 是終端環(huán)境變量設(shè)置腳本。有些模塊可通過(guò)rk_make.sh單獨(dú)編譯,此時(shí)需要設(shè)置終端環(huán)境變量。
注意: Buildroot是Linux平臺(tái)上一個(gè)構(gòu)建嵌入式Linux系統(tǒng)的框架。整個(gè)Buildroot是由Makefile腳本和Kconfig配置文件構(gòu)成的。buildroot/dl/目錄存在從官網(wǎng)上下載的開源軟件包,第一次下載后,下次就不會(huì)再去從官網(wǎng)下載了,而是從dl/目錄下拿開源包。因此由于國(guó)內(nèi)網(wǎng)絡(luò)限制,第一次編譯會(huì)很漫長(zhǎng)。為了節(jié)省時(shí)間,我們提供了基本上會(huì)用到的軟件包,下載解壓,將dl目錄拷貝到buildroot/下即可。
- 開源軟件包:dl.7z
firefly提供了便捷的編譯腳本工具。
- 編譯uboot:
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -u - 編譯內(nèi)核:
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -k -d px3se-fireprime 注意:-d dts_file_name,dts默認(rèn)使用px3se-fireprime.dts
- 編譯根文件系統(tǒng):
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh -a - 以上全部編譯:
cd ~/proj/Firefly-PX3-SE ./FFTools/make.sh
上一步驟的 ./mkimage.sh 會(huì)重新打包 rootfs.img。 并將其它相關(guān)的映像文件拷貝到目錄 rockimg/中。以下列出一般固件用到的映像文件:
- kernel.img :內(nèi)核映像。
- recovery.img :急救模式映像。
- resource.img :資源映像,內(nèi)含開機(jī)圖片和內(nèi)核的設(shè)備樹信息。
- rootfs.img:根文件系統(tǒng),ext4 文件系統(tǒng)格式。
請(qǐng)參照《升級(jí)固件》一文來(lái)燒寫分區(qū)映像文件。
如果使用的是 Windows 系統(tǒng),將上述映像文件拷貝AndroidTool (Windows 下的固件升級(jí)工具)的 rockdev\Image 目錄中,之后參照升級(jí)文檔燒寫分區(qū)映像即可,這樣的好處是使用默認(rèn)配置即可,不用修改文件的路徑。
- 在ubuntu下打包統(tǒng)一固件,編譯好SDK后,在SDK根目錄執(zhí)行./FFTools/mkupdate/mkupdate.sh。即可生成統(tǒng)一固件例如:Firefly-PX3SE_Buildroot_DEFAULT_xxxxxx.img
- 在 Windows 下打包統(tǒng)一固件 update.img 很簡(jiǎn)單,按上一步驟將文件拷貝到 AndroidTool 的 rockdev\Image 目錄中,然后運(yùn)行 rockdev 目錄下的 mkupdate.bat 批處理文件即可創(chuàng)建 update.img 并存放到 rockdev\Image 目錄里。
update.img 方便固件的發(fā)布,供終端用戶升級(jí)系統(tǒng)使用。一般開發(fā)時(shí)使用分區(qū)映像比較方便。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6107瀏覽量
37084 -
安卓
+關(guān)注
關(guān)注
5文章
2184瀏覽量
60273 -
Firefly
+關(guān)注
關(guān)注
2文章
547瀏覽量
9117
發(fā)布評(píng)論請(qǐng)先 登錄
roofs根文件系統(tǒng)簡(jiǎn)介制作(下)
Firefly Debian根文件系統(tǒng)使用手冊(cè)指南
Firefly-PX3-SE主板FAQ方案
Firefly-PX3-SE--WIFI模塊及以太網(wǎng)簡(jiǎn)介
嵌入式Linux--根文件系統(tǒng)(一)簡(jiǎn)介
Firefly-PX3-SE編譯根文件系統(tǒng)簡(jiǎn)介
評(píng)論