加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1、解決思路 
    • 2、解決方法 
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

技術(shù)貼 | 教你如何在Ubuntu保留文件系統(tǒng)

2022/09/16
1643
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在Ubuntu系統(tǒng)的嵌入式設(shè)備開(kāi)發(fā)過(guò)程中,保留文件系統(tǒng)或者說(shuō)備份當(dāng)前開(kāi)發(fā)板鏡像的需求在不斷增加。

比如Ubuntu文件系統(tǒng)需要安裝庫(kù)文件的話直接使用apt-get工具就可以下載,但由于需要下載的核心板較多,比較費(fèi)時(shí)間,這時(shí)需要將安裝好庫(kù)的文件系統(tǒng)打包出來(lái),或者做成一個(gè)新的鏡像,用于燒錄到其他核心板,如果將庫(kù)的源碼交叉編譯再放入到文件系統(tǒng)的源碼中重新再源碼打包一個(gè)鏡像比較麻煩,而且交叉編譯過(guò)程中可能存在一些問(wèn)題。

今天飛凌小編就通過(guò)OK3399-C開(kāi)發(fā)板針對(duì)以上問(wèn)題來(lái)為各位工程師小伙伴介紹相應(yīng)的解決方法。

1、解決思路 

基于Linux下一切皆文件的思想,開(kāi)發(fā)板啟動(dòng)后進(jìn)行的一系列操作都會(huì)以文件的形式保留在文件系統(tǒng)中,而RK3399處理器的Ubuntu系統(tǒng)提供了文件系統(tǒng)鏡像ubuntu.img用來(lái)編譯生成update.img。

因此我們需要一個(gè)方法使OK3399-C開(kāi)發(fā)板中的文件系統(tǒng)和ubuntu.img中的內(nèi)容保持一致,這樣編譯生成的update.img就包含了當(dāng)前開(kāi)發(fā)板中所配置的環(huán)境,方便用來(lái)備份或者批量部署。

2、解決方法 

其實(shí)飛凌嵌入式的官方論壇知識(shí)庫(kù)之前已經(jīng)發(fā)表了兩個(gè)可以實(shí)現(xiàn)的解決方法,這里不再贅述,只做簡(jiǎn)要說(shuō)明:

方法 1:

請(qǐng)選用PC端進(jìn)入論壇:http://bbs.witech.com.cn/portal.php?mod=view&aid=530

該方法是將ubuntu.img文件copy到開(kāi)發(fā)板中,通過(guò)mount命令掛載后復(fù)制當(dāng)前開(kāi)發(fā)板中的內(nèi)容后,再將ubuntu.img轉(zhuǎn)到開(kāi)發(fā)環(huán)境進(jìn)行編譯,這種方法最為簡(jiǎn)單粗暴容易理解,但很容易因?yàn)椴僮髡叩氖韬龆鴮?dǎo)致復(fù)制不完全。

方法 2:

(在開(kāi)發(fā)環(huán)境模擬開(kāi)發(fā)板掛載ubuntu.img)

請(qǐng)選用PC端進(jìn)入論壇:http://bbs.witech.com.cn/portal.php?mod=view&aid=605

該方法直接將ubuntu.img文件在開(kāi)發(fā)環(huán)境中模擬開(kāi)發(fā)板的環(huán)境進(jìn)行apt-get等操作,可以類比理解如下:

在PC端的VM虛擬機(jī)里運(yùn)行Ubuntu系統(tǒng)

在Ubuntu中的qemu虛擬機(jī)里運(yùn)行ubuntu.img系統(tǒng)

這個(gè)方法比較符合邏輯且操作方便,但需要再將已驗(yàn)證的操作在qemu中再執(zhí)行一次,如果開(kāi)發(fā)周期較長(zhǎng),可能有些在開(kāi)發(fā)板安裝的庫(kù)文件反而在qemu中沒(méi)有安裝導(dǎo)致問(wèn)題出現(xiàn)。

方法3:

通過(guò)rsync同步兩個(gè)文件系統(tǒng)中的內(nèi)容,做到實(shí)時(shí)更新、同步。本文將著重介紹并實(shí)操第三種方法。

rsync的目的是實(shí)現(xiàn)本地主機(jī)和遠(yuǎn)程主機(jī)上的文件同步(包括本地推到遠(yuǎn)程,遠(yuǎn)程拉到本地兩種同步方式)。

本文以O(shè)K3399-C開(kāi)發(fā)板和PC端Ubuntu虛擬機(jī)為例,同步開(kāi)發(fā)板安裝的cutecom(Ubuntu可視化串口調(diào)試工具)到Ubuntu的3399-desktop-release/rootfs/ubuntu.img中。

Ubuntu開(kāi)發(fā)環(huán)境IP:172.16.0.167

OK3399-C開(kāi)發(fā)板IP:172.16.0.168

確保雙方可以ping通,確保兩者皆可ping通百度。

開(kāi)發(fā)環(huán)境操作

1、為開(kāi)發(fā)環(huán)境設(shè)置root用戶密碼,使用命令:passwd root;

2、修改/etc/ssh/sshd_config文件,添加可ssh遠(yuǎn)程登錄權(quán)限。

使用命令:sudo vi /etc/ssh/sshd_config;

添加完成后效果如下圖:

 

3、重啟sshd服務(wù),使用命令:service sshd restart;

4、將源碼中的ubuntu.img掛載出來(lái),建議掛載到同目錄的target目錄下,在OK3399-desktop-release/rootfs目錄下使用命令:sudo mount ubunt.img ./target;

開(kāi)發(fā)板操作

1、更新下載源執(zhí)行命令:sudoapt-get update;

2、下載rsync服務(wù),執(zhí)行命令:sudoapt-get install rsync;

3、如果文件系統(tǒng)已經(jīng)有所更改跳過(guò)此項(xiàng),本文中還未做任何更改,所以將下載cutecom以做測(cè)試,執(zhí)行命令:sudoapt-get install cutecom;
4、將開(kāi)發(fā)板文件系統(tǒng)同步到開(kāi)發(fā)環(huán)境中的文件系統(tǒng)中

 

開(kāi)發(fā)環(huán)境文件系統(tǒng)路徑如下:/home/forlinx/3399/OK3399-desktop-release/rootfs/target;

開(kāi)發(fā)板執(zhí)行命令:rsync -avx /  

root@172.16.0.167:/home/forlinx/3399/OK3399-desktop-release/rootfs/target;

 

首次執(zhí)行需要手動(dòng)填寫yes,記錄成功后,以后就只需要輸入開(kāi)發(fā)環(huán)境的root用戶密碼;

5、在開(kāi)發(fā)環(huán)境查看,是否存在cutecom,結(jié)果如下圖:

 

到此,在OK3399-C開(kāi)發(fā)板安裝的cutecom已經(jīng)同步到開(kāi)發(fā)環(huán)境的ubuntu.img中。

接下來(lái),在開(kāi)發(fā)環(huán)境執(zhí)行編譯腳本燒寫到OK3399-C開(kāi)發(fā)板進(jìn)行驗(yàn)證,將ubuntu.img文件卸載,執(zhí)行命令:sudo umount target。

回到OK3399-desktop-release目錄執(zhí)行編譯腳本 ./build_ubuntu.sh 生成update.img后通過(guò)OTG燒寫到開(kāi)發(fā)板驗(yàn)證cutecom是否存在即可。

6、驗(yàn)證結(jié)果,cutecom存在且可正常執(zhí)行。結(jié)果如下圖所示:

 

以上就是小編為大家整理的在OK3399-C開(kāi)發(fā)板上運(yùn)行Ubuntu系統(tǒng)時(shí)保留文件系統(tǒng)的操作方法,希望能夠?qū)Υ蠹矣兴鶐椭?/p>

作者:楊超凡

Ubuntu

Ubuntu

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開(kāi)源操作系統(tǒng)。

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開(kāi)源操作系統(tǒng)。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

秉承專業(yè)態(tài)度,專注智能設(shè)備核心平臺(tái)研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011