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