基于rk平臺快速移植ubuntu系統(tǒng)
一、資料準(zhǔn)備:
1、rk linux sdk
2、Ubuntu鏡像源嗎
二、sdk獲取
Rk官方拉取,或者網(wǎng)上搜一下,看有沒有人分享,如有需要可私。官方源碼一般是比較大的,因為repo管理了整個工程,所有記錄都有。
三、ubuntu鏡像源碼獲取
官方路徑:http://cdimage.ubuntu.com/ubuntu-base/releases/
進(jìn)入該網(wǎng)站,可以下載自己需要的版本
版本源碼說明,官方源碼是一個基礎(chǔ)源碼,基本功能是有了,需要定制組件,以及添加rk的硬件支持,才能正常運行工作。具體細(xì)節(jié)可以好好探索。
四、系統(tǒng)鏡像構(gòu)建
在移植之前,可以進(jìn)行一次構(gòu)建,添加相關(guān)基礎(chǔ)組件,因為組件需要在網(wǎng)上下載,把固定的先編譯出來,避免重復(fù)編譯消耗過多時間,這樣可以節(jié)省我們的開發(fā)時間。基本的構(gòu)建框架和指令如下:
五、如何添加rk硬件支持
以下圖片為rk官方適配第三方平臺所需要適配的。
上述代碼基本上已經(jīng)包含了rk的硬件加速,在重新構(gòu)建系統(tǒng)就可以
六、如何添加進(jìn)源碼中
在獲取了基礎(chǔ)鏡像系統(tǒng)之后,可按照以下步驟添加進(jìn)系統(tǒng):
1、根目錄下找到debian,把鏡像系統(tǒng)放到目錄下
2、做兩個編譯腳本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,這兩個編譯腳本對應(yīng)第四、第五點,具體腳本可以參考debian系統(tǒng)構(gòu)建腳本mk-base-debian.sh、mk-rootfs-bullseye.sh
?七、編譯
準(zhǔn)備好了上述步驟之后,加上以下patch,就可以使用原來的編譯指令執(zhí)行一鍵編譯
可能有人會有疑問,不可以單獨整個文件系統(tǒng)燒錄嗎?答案是可以的,但是可能會有問題,導(dǎo)致系統(tǒng)起不來,因為在上述構(gòu)建之后還會加上wifi的補丁,這是在源碼編譯的時候打進(jìn)去的。
按照上述方法去做,應(yīng)該會得到一個完整的鏡像,初次接觸可能調(diào)試過程還是會有點問題,自己細(xì)心找一下就可以了。
一、資料準(zhǔn)備:
1、rk linux sdk
2、Ubuntu鏡像源嗎
二、sdk獲取
Rk官方拉取,或者網(wǎng)上搜一下,看有沒有人分享,如有需要可私。官方源碼一般是比較大的,因為repo管理了整個工程,所有記錄都有。
三、ubuntu鏡像源碼獲取
官方路徑:http://cdimage.ubuntu.com/ubuntu-base/releases/
進(jìn)入該網(wǎng)站,可以下載自己需要的版本
版本源碼說明,官方源碼是一個基礎(chǔ)源碼,基本功能是有了,需要定制組件,以及添加rk的硬件支持,才能正常運行工作。具體細(xì)節(jié)可以好好探索。
四、系統(tǒng)鏡像構(gòu)建
在移植之前,可以進(jìn)行一次構(gòu)建,添加相關(guān)基礎(chǔ)組件,因為組件需要在網(wǎng)上下載,把固定的先編譯出來,避免重復(fù)編譯消耗過多時間,這樣可以節(jié)省我們的開發(fā)時間。基本的構(gòu)建框架和指令如下:
經(jīng)過上述流程,可以構(gòu)建出ubuntu-base-xfce-full-arm64-20240906.tar.gz格式的文件,該文件已經(jīng)包含了你自己需要的組件,接下來我們在這個基礎(chǔ)上去構(gòu)建就可以。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#在這里構(gòu)建自己的組件# Create Useruseradd -G sudo -m -s /bin/bash Linux1024passwd Linux1024 <xieshancaixieshancaiIEOFgpasswd -a Linux1024 videogpasswd -a Linux1024 audiopasswd root <xieshancaixieshancaiIEOFEOF
上述代碼基本上已經(jīng)包含了rk的硬件加速,在重新構(gòu)建系統(tǒng)就可以
六、如何添加進(jìn)源碼中
在獲取了基礎(chǔ)鏡像系統(tǒng)之后,可按照以下步驟添加進(jìn)系統(tǒng):
1、根目錄下找到debian,把鏡像系統(tǒng)放到目錄下
2、做兩個編譯腳本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,這兩個編譯腳本對應(yīng)第四、第五點,具體腳本可以參考debian系統(tǒng)構(gòu)建腳本mk-base-debian.sh、mk-rootfs-bullseye.sh
?七、編譯準(zhǔn)備好了上述步驟之后,加上以下patch,就可以使用原來的編譯指令執(zhí)行一鍵編譯
可能有人會有疑問,不可以單獨整個文件系統(tǒng)燒錄嗎?答案是可以的,但是可能會有問題,導(dǎo)致系統(tǒng)起不來,因為在上述構(gòu)建之后還會加上wifi的補丁,這是在源碼編譯的時候打進(jìn)去的。按照上述方法去做,應(yīng)該會得到一個完整的鏡像,初次接觸可能調(diào)試過程還是會有點問題,自己細(xì)心找一下就可以了。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
移植
+關(guān)注
關(guān)注
1文章
414瀏覽量
29359 -
源碼
+關(guān)注
關(guān)注
8文章
684瀏覽量
31280 -
Ubuntu
+關(guān)注
關(guān)注
5文章
613瀏覽量
33296
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南
前言:在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統(tǒng)時,Docker容器技術(shù)能極大提升開發(fā)部署效率。通過輕量級虛擬化實現(xiàn)環(huán)境隔離與快速
RK3399如何選擇系統(tǒng) Android/debian/ubuntu/buildroot
,可移植性高。 2. Fedora 優(yōu)點: 桌面操作系統(tǒng),大部分人很熟悉,容易上手。源豐富,開源庫可以rpm直接安裝,不需要重新移植。也支持python。 缺點: 官方對ARM支持并不友好,對硬件
發(fā)表于 02-17 10:13
如何在Firefly-RK3399上編譯和移植Linux內(nèi)核和Ubuntu16.04 rootfs?
Firefly-RK3399移植Ubuntu16.04的過程是怎樣的?如何在Firefly-RK3399上編譯和移植Linux內(nèi)核和
發(fā)表于 03-07 07:13
移植Ubuntu16.04系統(tǒng)到ROC-RK3308-CC板子上記錄
的輕量級的Linux操作系統(tǒng)。筆者這里小試了下,移植Ubuntu16.04系統(tǒng)到ROC-RK3308-CC板子上,并記錄在此。首先,更新SD
發(fā)表于 06-09 16:58
RK3399開發(fā)板在Ubuntu系統(tǒng)下實現(xiàn)雙屏顯示及異觸
本文以飛凌嵌入式RK3399開發(fā)板為基礎(chǔ)講解,主要介紹了Ubuntu系統(tǒng)下雙屏顯示及異觸,其它RK3399平臺請參考使用!
發(fā)表于 03-30 14:01
?2179次閱讀
rk3288移植ubuntu
rk3288是一款由瑞芯微推出的高性能ARM處理器,被廣泛應(yīng)用于嵌入式設(shè)備和單板計算機中。本文將介紹如何將Ubuntu操作系統(tǒng)移植到rk32
系統(tǒng)適配 | RK3588適配Ubuntu20.04發(fā)布預(yù)告
前言:為了滿足廣大開發(fā)者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3588的開發(fā)板對Ubuntu20.04LTS操作系統(tǒng)的深度適配與優(yōu)化。此次適配不僅成功移植了
系統(tǒng)適配 | RK3576適配Ubuntu20.04正式發(fā)布
前言:為了滿足廣大開發(fā)者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3576的開發(fā)板對Ubuntu20.04LTS操作系統(tǒng)的深度適配與優(yōu)化。此次適配不僅成功移植了
系統(tǒng)適配 | RK3588 Ubuntu22.04正式發(fā)布
前言:為了滿足廣大開發(fā)者與嵌入式愛好者的需求!眺望電子正式宣布,已完成基于瑞芯微RK3588的開發(fā)板對Ubuntu22.04LTS操作系統(tǒng)的深度適配與優(yōu)化。此次適配不僅成功移植了
Ubuntu 25升級全解析!即將移植RK系列芯片,技術(shù)實踐搶先預(yù)告
性能、開發(fā)工具等維度實現(xiàn)了全方位突破。更重磅的是 —— 我已啟動將 Ubuntu 25 移植到 RK 系列芯片的計劃,后續(xù)會持續(xù)分享實踐細(xì)節(jié),各位敬請期待!
基于rk平臺快速移植ubuntu系統(tǒng)
評論