基于rk平臺快速移植ubuntu系統
一、資料準備:
1、rk linux sdk
2、Ubuntu鏡像源嗎
二、sdk獲取
Rk官方拉取,或者網上搜一下,看有沒有人分享,如有需要可私。官方源碼一般是比較大的,因為repo管理了整個工程,所有記錄都有。
三、ubuntu鏡像源碼獲取
官方路徑:http://cdimage.ubuntu.com/ubuntu-base/releases/
進入該網站,可以下載自己需要的版本
版本源碼說明,官方源碼是一個基礎源碼,基本功能是有了,需要定制組件,以及添加rk的硬件支持,才能正常運行工作。具體細節可以好好探索。
四、系統鏡像構建
在移植之前,可以進行一次構建,添加相關基礎組件,因為組件需要在網上下載,把固定的先編譯出來,避免重復編譯消耗過多時間,這樣可以節省我們的開發時間。基本的構建框架和指令如下:
五、如何添加rk硬件支持
以下圖片為rk官方適配第三方平臺所需要適配的。
上述代碼基本上已經包含了rk的硬件加速,在重新構建系統就可以
六、如何添加進源碼中
在獲取了基礎鏡像系統之后,可按照以下步驟添加進系統:
1、根目錄下找到debian,把鏡像系統放到目錄下
2、做兩個編譯腳本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,這兩個編譯腳本對應第四、第五點,具體腳本可以參考debian系統構建腳本mk-base-debian.sh、mk-rootfs-bullseye.sh
?七、編譯
準備好了上述步驟之后,加上以下patch,就可以使用原來的編譯指令執行一鍵編譯
可能有人會有疑問,不可以單獨整個文件系統燒錄嗎?答案是可以的,但是可能會有問題,導致系統起不來,因為在上述構建之后還會加上wifi的補丁,這是在源碼編譯的時候打進去的。
按照上述方法去做,應該會得到一個完整的鏡像,初次接觸可能調試過程還是會有點問題,自己細心找一下就可以了。
一、資料準備:
1、rk linux sdk
2、Ubuntu鏡像源嗎
二、sdk獲取
Rk官方拉取,或者網上搜一下,看有沒有人分享,如有需要可私。官方源碼一般是比較大的,因為repo管理了整個工程,所有記錄都有。
三、ubuntu鏡像源碼獲取
官方路徑:http://cdimage.ubuntu.com/ubuntu-base/releases/
進入該網站,可以下載自己需要的版本
版本源碼說明,官方源碼是一個基礎源碼,基本功能是有了,需要定制組件,以及添加rk的硬件支持,才能正常運行工作。具體細節可以好好探索。
四、系統鏡像構建
在移植之前,可以進行一次構建,添加相關基礎組件,因為組件需要在網上下載,把固定的先編譯出來,避免重復編譯消耗過多時間,這樣可以節省我們的開發時間。基本的構建框架和指令如下:
經過上述流程,可以構建出ubuntu-base-xfce-full-arm64-20240906.tar.gz格式的文件,該文件已經包含了你自己需要的組件,接下來我們在這個基礎上去構建就可以。sudo tar -xzf ubuntu-base-20.04.5-base-arm64.tar.gz -C binary/cat<<EOF| sudo chroot $TARGET_ROOTFS_DIR/#再這里添加需要的組件EOFDATE=$(date+%Y%m%d)echo-e"?33[47;36m Run tar pack ubuntu-base-$TARGET-$ARCH-$DATE.tar.gz ?33[0m"sudo tar zcf ubuntu-base-$TARGET-$ARCH-$DATE.tar.gz$TARGET_ROOTFS_DIR
五、如何添加rk硬件支持
以下圖片為rk官方適配第三方平臺所需要適配的。

sudorm-rf$TARGET_ROOTFS_DIRsudo tar -xpf ubuntu-base-$TARGET-$ARCH-*.tar.gzsudomkdir-p$TARGET_ROOTFS_DIR/vendor/etc# packages foldersudo mkdir -p $TARGET_ROOTFS_DIR/packagessudo cp -rpf packages/$ARCH/* $TARGET_ROOTFS_DIR/packagesecho -e "?33[47;36m Extract image1 ?33[0m"#GPU/CAMERA packages folderinstall_packagessudo mkdir -p $TARGET_ROOTFS_DIR/packages/install_packagessudo cp -rpf packages/$ARCH/libmali/libmali-*$MALI*-x11*.deb $TARGET_ROOTFS_DIR/packages/install_packages# sudo cp -rpf ../ubuntu/packages/$ARCH/${ISP5}/camera_engine_$ISP*.deb $TARGET_ROOTFS_DIR/packages/install_packagesecho -e "?33[47;36m Extract image2 ?33[0m"# overlay foldersudo cp -rpf overlay/* $TARGET_ROOTFS_DIR/# sudo cp -rpf sources.list $TARGET_ROOTFS_DIR/etc/apt/# overlay-firmware foldersudo cp -rpf overlay-firmware/* $TARGET_ROOTFS_DIR/echo -e "?33[47;36m Extract image3 ?33[0m"# overlay-debug folder# adb, video, camera test fileif ["$VERSION" == "debug" ];thensudo cp -rpf overlay-debug/* $TARGET_ROOTFS_DIR/fiID=$(stat --format %u $TARGET_ROOTFS_DIR)cat << EOF| sudo chroot $TARGET_ROOTFS_DIR#在這里構建自己的組件# Create Useruseradd -G sudo -m -s /bin/bash Linux1024passwd Linux1024 <xieshancaixieshancaiIEOFgpasswd -a Linux1024 videogpasswd -a Linux1024 audiopasswd root <xieshancaixieshancaiIEOFEOF
上述代碼基本上已經包含了rk的硬件加速,在重新構建系統就可以
六、如何添加進源碼中
在獲取了基礎鏡像系統之后,可按照以下步驟添加進系統:
1、根目錄下找到debian,把鏡像系統放到目錄下
2、做兩個編譯腳本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,這兩個編譯腳本對應第四、第五點,具體腳本可以參考debian系統構建腳本mk-base-debian.sh、mk-rootfs-bullseye.sh
?七、編譯準備好了上述步驟之后,加上以下patch,就可以使用原來的編譯指令執行一鍵編譯
可能有人會有疑問,不可以單獨整個文件系統燒錄嗎?答案是可以的,但是可能會有問題,導致系統起不來,因為在上述構建之后還會加上wifi的補丁,這是在源碼編譯的時候打進去的。按照上述方法去做,應該會得到一個完整的鏡像,初次接觸可能調試過程還是會有點問題,自己細心找一下就可以了。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
移植
+關注
關注
1文章
414瀏覽量
29388 -
源碼
+關注
關注
8文章
685瀏覽量
31317 -
Ubuntu
+關注
關注
5文章
613瀏覽量
33365
發布評論請先 登錄
相關推薦
熱點推薦
干貨分享 | RK3588 Ubuntu系統Docker容器使用指南
前言:在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統時,Docker容器技術能極大提升開發部署效率。通過輕量級虛擬化實現環境隔離與快速
RK3399如何選擇系統 Android/debian/ubuntu/buildroot
,可移植性高。 2. Fedora 優點: 桌面操作系統,大部分人很熟悉,容易上手。源豐富,開源庫可以rpm直接安裝,不需要重新移植。也支持python。 缺點: 官方對ARM支持并不友好,對硬件
發表于 02-17 10:13
如何在Firefly-RK3399上編譯和移植Linux內核和Ubuntu16.04 rootfs?
Firefly-RK3399移植Ubuntu16.04的過程是怎樣的?如何在Firefly-RK3399上編譯和移植Linux內核和
發表于 03-07 07:13
移植Ubuntu16.04系統到ROC-RK3308-CC板子上記錄
的輕量級的Linux操作系統。筆者這里小試了下,移植Ubuntu16.04系統到ROC-RK3308-CC板子上,并記錄在此。首先,更新SD
發表于 06-09 16:58
RK3399開發板在Ubuntu系統下實現雙屏顯示及異觸
本文以飛凌嵌入式RK3399開發板為基礎講解,主要介紹了Ubuntu系統下雙屏顯示及異觸,其它RK3399平臺請參考使用!
發表于 03-30 14:01
?2189次閱讀
rk3288移植ubuntu
rk3288是一款由瑞芯微推出的高性能ARM處理器,被廣泛應用于嵌入式設備和單板計算機中。本文將介紹如何將Ubuntu操作系統移植到rk32
系統適配 | RK3588適配Ubuntu20.04發布預告
前言:為了滿足廣大開發者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3588的開發板對Ubuntu20.04LTS操作系統的深度適配與優化。此次適配不僅成功移植了
系統適配 | RK3576適配Ubuntu20.04正式發布
前言:為了滿足廣大開發者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3576的開發板對Ubuntu20.04LTS操作系統的深度適配與優化。此次適配不僅成功移植了
系統適配 | RK3588 Ubuntu22.04正式發布
前言:為了滿足廣大開發者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3588的開發板對Ubuntu22.04LTS操作系統的深度適配與優化。此次適配不僅成功移植了
Ubuntu 25升級全解析!即將移植RK系列芯片,技術實踐搶先預告
性能、開發工具等維度實現了全方位突破。更重磅的是 —— 我已啟動將 Ubuntu 25 移植到 RK 系列芯片的計劃,后續會持續分享實踐細節,各位敬請期待!
基于rk平臺快速移植ubuntu系統
評論