前 言
請先按照開發(fā)環(huán)境搭建文檔進(jìn)行開發(fā)環(huán)境搭建,由于系統(tǒng)編譯過程需下載相關(guān)軟件工具包,因此請確保Ubuntu可正常訪問互聯(lián)網(wǎng)。本說明文檔適用開發(fā)環(huán)境如下:
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
虛擬機(jī):VMware16.2.5
開發(fā)環(huán)境:Ubuntu20.04.6 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-5.10.160、Linux-RT-5.10.160
Debian:Debian11
LinuxSDK:LinuxSDK-[版本號](基于rk3588_linux_release_v1.2.1_20230720)
Debian系統(tǒng)相關(guān)軟件包位于產(chǎn)品資料“4-軟件資料Debian”目錄下,具體如下表所示。其中,我司已提供U-Boot、Kernel、Filesystem和Debian系統(tǒng)鏡像文件,U-Boot、Kernel、Filesystem源碼位于LinuxSDK開發(fā)包內(nèi)。
備注:我司推薦使用最新版本的LinuxSDK,亦可根據(jù)“4-軟件資料DebianLinuxSDKLinuxSDK-feature-support.pdf”的變更說明,自行替換對應(yīng)模塊(如device/rockchip)至舊版本LinuxSDK進(jìn)行使用。
表 1
LinuxSDK安裝
安裝依賴軟件
執(zhí)行如下命令,安裝LinuxSDK開發(fā)包依賴軟件。
備注:安裝過程中,請保證Ubuntu可正常訪問互聯(lián)網(wǎng),若提示"*** is already the newest version ***"表示該軟件已安裝,請忽略。
Host# sudo apt-get install -y git ssh make gcc libssl-dev
liblz4-tool expect expect-dev 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 ncurses-dev
libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev
libmpc-devlibmpfr-dev
圖 1
圖 2
執(zhí)行如下命令,將Python2和Python軟鏈接為Python3。
Host# sudo ln -s /usr/bin/python3 /usr/bin/python2
Host# sudo ln -s /usr/bin/python3/usr/bin/python
Host# ls -al /usr/bin/python*
圖 3
執(zhí)行如下命令,查看Python版本,確認(rèn)是否鏈接成功。
備注:Python版本需3.8.0及以上。
Host# python --version
Host# python2 --version
圖 4
請將產(chǎn)品資料“4-軟件資料DebianTools”目錄下的LZ4_old1-dev.zip壓縮包拷貝至Ubuntu,執(zhí)行如下命令進(jìn)行解壓。
Host# unzip LZ4_old1-dev.zip
圖 5
執(zhí)行如下命令,進(jìn)行安裝LZ4。
Host# cd LZ4_old1-dev/
Host# make
Host# sudo make install
Host# sudo install -m 0755 lz4 /usr/bin/lz4
圖 6
圖 7
執(zhí)行如下命令,查看LZ4版本信息。
備注:LZ4版本需v1.9.3及以上。
Host# lz4 -v
圖 8
執(zhí)行如下命令,安裝PPA。
Host# sudo apt install software-properties-common
圖 9
執(zhí)行如下命令,向PPA中更新Git軟件源,需按回車鍵確認(rèn)更新。
Host# sudo add-apt-repository ppa:git-core/ppa
圖 10
執(zhí)行如下命令,更新軟件列表并安裝Git。
備注:安裝時長受網(wǎng)絡(luò)速率影響,請耐心等待。
Host# sudo apt-get update
Host# sudo apt-get install git
圖 11
圖 12
執(zhí)行如下命令,查看Git版本信息。
備注:建議將版本更新至2.38.0及以上,以免因版本過低導(dǎo)致LinuxSDK編譯失敗。
Host# git -v
圖 13
請將產(chǎn)品資料“4-軟件資料DebianTools”目錄下的live-build-master.zip壓縮包拷貝至Ubuntu系統(tǒng)live-build目錄下,執(zhí)行如下命令新建live-build目錄,并進(jìn)行解壓。
Host# mkdirlive-build
Host# cd live-build
Host# unzip live-build-master.zip
圖 14
圖 15
執(zhí)行如下命令,安裝live-build-master相關(guān)文件。
Host# cd live-build-master
Host# sudo apt-get remove live-build
Host# git clone https://salsa.debian.org/live-team/live-build.git --depth 1 -b debian/1%20230131
圖 16
執(zhí)行如下命令,編譯相關(guān)配置。
Host# cd live-build
Host# rm -rf manpages/po/
Host# sudo make install -j8
圖 17
解壓LinuxSDK
由我司提供的LinuxSDK-[版本號].tar.gz開發(fā)包位于產(chǎn)品資料“4-軟件資料DebianLinuxSDK”目錄下,基于瑞芯微的rk3588_linux_release_v1.2.1_20230720進(jìn)行開發(fā)。
打開Ubuntu,執(zhí)行如下命令,創(chuàng)建RK3588工作目錄。
Host# mkdir -p/home/tronlong/RK3588
圖 18
請將LinuxSDK開發(fā)包拷貝至RK3588工作目錄,執(zhí)行如下命令,將LinuxSDK開發(fā)包解壓至RK3588工作目錄。耗時5min后解壓完成,生成rk3588_linux_release_v1.2.1文件夾,即為LinuxSDK源碼目錄。為了減少LinuxSDK大小,通過repo進(jìn)行壓縮,壓縮后在LinuxSDK源碼目錄下生成.repo的隱藏目錄。
備注:LinuxSDK版本號以實際情況為準(zhǔn)。
Host# cd /home/tronlong/RK3588/
Host# tar -zxf LinuxSDK-v2.0.tar.gz
圖 19
執(zhí)行如下命令,查看當(dāng)前LinuxSDK源碼目錄。
備注:LinuxSDK-v2.5.tar.gz及以上版本,無需從repo倉庫更新LinuxSDK源碼。
Host# cd rk3588_linux_release_v1.2.1/
Host# ls -al
表 2?LinuxSDK源碼目錄結(jié)構(gòu)
圖 20
解壓Debian dl壓縮包
請將產(chǎn)品資料“4-軟件資料DebianLinuxSDK”目錄下的dl.tar.gz壓縮包拷貝至"RK3588/rk3588_linux_release_v1.2.1/buildroot/"目錄。dl.tar.gz壓縮包用于存放從官網(wǎng)下載的開源軟件包,LinuxSDK編譯時可從該目錄獲取開源包,以節(jié)約下載時間,提高編譯效率,且能避免因網(wǎng)絡(luò)環(huán)境差異導(dǎo)致編譯失敗的問題。
圖 21
執(zhí)行如下命令,將dl.tar.gz壓縮包解壓至當(dāng)前目錄。
Host# tar -zxf dl.tar.gz
圖 22
Debian系統(tǒng)鏡像編譯、生成
配置編譯選項
進(jìn)入LinuxSDK源碼目錄,執(zhí)行如下命令配置編譯選項。
Host# ./build.sh device/rockchip/rk3588/tl3588_evm_defconfig
圖 23
配置編譯設(shè)備樹文件
由于部分外設(shè)功能之間存在引腳復(fù)用關(guān)系,因此需通過不同的設(shè)備樹文件進(jìn)行配置。我司提供的設(shè)備樹文件位于LinuxSDK源碼"kernel/arch/arm64/boot/dts/rockchip/"目錄,具體說明如下。
表 3
評估板使用的設(shè)備樹文件存在多級的依賴關(guān)系,具體如下表所示。表中的下一級設(shè)備樹文件,被上一級設(shè)備樹文件所引用。
表 4
LinuxSDK默認(rèn)編譯的設(shè)備樹文件為tl3588-evm.dts,如需替換為支持對應(yīng)功能的其他設(shè)備樹,請參考以下步驟修改。本次操作以替換為tl3588-evm-edp.dts設(shè)備樹進(jìn)行演示,如需使用支持其它設(shè)備樹,修改方法同理。
執(zhí)行如下命令,修改"device/rockchip/rk3588/tl3588_evm_defconfig"文件。
Host# vi device/rockchip/rk3588/tl3588_evm_defconfig
圖 24
修改內(nèi)容如下:
#RK_KERNEL_DTS_NAME="tl3588-evm" //添加注釋符"#"
RK_KERNEL_DTS_NAME="tl3588-evm-edp" //刪除注釋符"#"
圖 25
執(zhí)行如下命令,配置編譯選項。
Host# ./build.sh device/rockchip/rk3588/tl3588_evm_defconfig
圖 26
配置內(nèi)核選項
我司默認(rèn)配置的是Linux內(nèi)核(推薦使用)。如需修改內(nèi)核編譯選項配置,請繼續(xù)執(zhí)行"make xxxmenuconfig"命令打開圖形配置界面。此命令通過讀取當(dāng)前目錄的.config文件,以圖形界面的方式提供內(nèi)核編譯配置查看和修改方法。如無需修改內(nèi)核編譯選項配置,可跳過此步驟。
menuconfig是一套圖形化的配置工具,需要ncurses庫支持。ncurses庫提供了一系列的API函數(shù)供調(diào)用者生成基于文本的圖形界面,因此需要先執(zhí)行如下命令通過網(wǎng)絡(luò)安裝ncurses庫。
Host# sudo apt-get install libncurses5-dev
Host# sudo apt-get install libncursesw5-dev
圖 27
ncurses庫安裝完成后,執(zhí)行如下命令打開圖形配置界面。
Host# ./build.sh kernel-config
圖 28
圖 29
可通過鍵盤的方向鍵選中對應(yīng)菜單欄。在被選中的情況下,可按Enter鍵進(jìn)入子菜單。菜單選項中藍(lán)色高亮的字母代表此菜單選項的快捷鍵,可在鍵盤上按下對應(yīng)的字母快速選中對應(yīng)的菜單選項。每個菜單選項前的括號內(nèi)容表示當(dāng)前菜單選項的配置狀態(tài)。選中對應(yīng)的菜單選項后,按下Y鍵,會將相應(yīng)的選項配置編譯到內(nèi)核中,同時菜單選項前面變?yōu)? * >。按下N鍵,不會將相應(yīng)的選項配置編譯到內(nèi)核中。按下M鍵,會將相應(yīng)的選項配置編譯為內(nèi)核模塊,菜單選項前面變?yōu)? M >。如需搜索,可按下/鍵打開搜索框,然后輸入要搜索的內(nèi)容。圖 30在圖形配置界面中,進(jìn)入"General setup -> Preemption Model (Voluntary Kernel Preemption (Desktop)) ---> "路徑,選中"Fully Preemptible Kernel (Real-Time)"選項,即可配置為Linux-RT內(nèi)核,此時菜單選項前面變?yōu)? X )。反之,則配置為Linux內(nèi)核。圖 31配置完畢后,可雙擊Esc鍵自動保存退出。圖 32編譯LinuxSDK在LinuxSDK安裝目錄下執(zhí)行如下命令,一鍵編譯生成U-Boot、Kernel、Debian、Recovery等鏡像,并打包生成Debian系統(tǒng)鏡像。Host# ./build.sh圖 33由于當(dāng)前模式為非root用戶,因此在編譯過程中若遇到如下提示,請輸入用戶密碼,本次輸入Tronlong。圖 34預(yù)計耗時約2小時后編譯完成,最終在rockdev目錄下生成U-Boot、Kernel、Debian、Recovery等鏡像和Debian系統(tǒng)鏡像,如下圖所示。圖 35圖 36表 5鏡像文件說明請參考《系統(tǒng)啟動卡制作及系統(tǒng)固化》文檔,將Debian系統(tǒng)鏡像文件固化至Micro SD卡或eMMC。備注:由于每次執(zhí)行命令"./build.sh"編譯LinuxSDK都會備份output目錄下的鏡像至"output/TL3588-EVM/DEBIAN/20231221_164609/IMAGES/"目錄下,將會占用較多的存儲空間,因此請根據(jù)實際情況刪除無需保留的鏡像文件,釋放儲存空間。圖 37由于篇幅過長等原因,部分內(nèi)容均不逐一展示,如需獲取完整版詳細(xì)資料,請關(guān)注創(chuàng)龍科技微信公眾號或官網(wǎng),或者評論區(qū)留言,感謝您的支持!
審核編輯 黃宇
-
瑞芯微
+關(guān)注
關(guān)注
27文章
708瀏覽量
53628 -
RK3588
+關(guān)注
關(guān)注
8文章
503瀏覽量
7101
發(fā)布評論請先 登錄
【技術(shù)分享】RK3588如何搭建xenomai3+ethercat
瑞芯微 RK3588 平臺系統(tǒng)啟動卡制作及 eMMC 固化操作手冊
瑞芯微RK3588與RK3576技術(shù)參數(shù)詳解
迅為RK3588開發(fā)板Linux安卓麒麟瑞芯微國產(chǎn)工業(yè)AI人工智能
干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南
迅為瑞芯微iTOP-3588開發(fā)板/核心板
迅為iTOP-RK3588S開發(fā)板/核心板瑞芯微RK3588S處理器6TOPS算力內(nèi)置NPU
iTOP-3588開發(fā)板采用瑞芯微RK3588處理器四核心架構(gòu)GPU內(nèi)置獨立NPU強(qiáng)大的視頻編解碼
RK3588主板:多元場景的硬核“芯”力量
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

瑞芯微 RK3588 平臺 Debian 系統(tǒng)開發(fā)案例與使用說明
評論