如何在Ubuntu保留檔案系統和備份當前開發板映象
在Ubuntu
保留檔案系統或者說
備份當前開發板映象的需求在不斷增加。
比如Ubuntu檔案系統需要安裝庫檔案的話直接使用apt-get工具就可以下載,但由於需要下載的核心板較多,比較費時間,這時需要將安裝好庫的檔案系統打包出來,或者做成一個新的映象,用於燒錄到其他核心板,如果將庫的原始碼交叉編譯再放入到檔案系統的原始碼中重新再原始碼打包一個映象比較麻煩,而且交叉編譯過程中可能存在一些問題。
今天飛凌小編就透過OK3399-C開發板針對以上問題來為各位工程師小夥伴介紹相應的解決方法。
1
解決思路
基於Linux下一切皆檔案的思想,
開發板啟動後進行的一系列操作都會以檔案的形式保留在檔案系統中,而RK3399處理器的Ubuntu系統提供了檔案系統映象ubuntu.img用來編譯生成update.img。
因此我們需要一個方法使OK3399-C開發板中的檔案系統和ubuntu.img中的內容保持一致,這樣編譯生成的update.img就包含了當前開發板中所配置的環境,方便用來備份或者批次部署。
2
解決方法
其實飛凌嵌入式的官方論壇知識庫之前已經發表了兩個可以實現的解決方法,這裡不再贅述,只做簡要說明:
方法 1:
請選用PC端進入論壇:
該方法是將ubuntu.img檔案copy到開發板中,透過mount命令掛載後複製當前開發板中的內容後,再將ubuntu.img轉到開發環境進行編譯,這種方法最為簡單粗暴容易理解,但很容易因為操作者的疏忽而導致複製不完全。
方法 2:
(在開發環境模擬開發板掛載ubuntu.img)
請選用PC端進入論壇:
該方法直接將ubuntu.img檔案在開發環境中模擬開發板的環境進行apt-get等操作,可以類比理解如下:
在PC端的VM虛擬機器裡執行Ubuntu系統
在Ubuntu中的qemu虛擬機器裡執行ubuntu.img系統
這個方法比較符合邏輯且操作方便,但需要再將已驗證的操作在qemu中再執行一次,如果開發週期較長,可能有些在開發板安裝的庫檔案反而在qemu中沒有安裝導致問題出現。
方法3:
透過rsync同步兩個檔案系統中的內容,做到實時更新、同步。本文將著重介紹並實操第三種方法。
rsync的目的是實現本地主機和遠端主機上的檔案同步(包括本地推到遠端,遠端拉到本地兩種同步方式)。
本文以OK3399-C開發板和PC端Ubuntu虛擬機器為例,同步開發板安裝的cutecom(Ubuntu視覺化串列埠除錯工具)到Ubuntu的3399-desktop-release/rootfs/ubuntu.img中。
Ubuntu開發環境IP:172.16.0.167
OK3399-C開發板IP:172.16.0.168
確保雙方可以ping通,確保兩者皆可ping通百度。
開發環境操作
1、為開發環境設定root使用者密碼,使用命令:passwd root;
2、修改/etc/ssh/sshd_config檔案,新增可ssh遠端登入許可權。
使用命令:sudo vi /etc/ssh/sshd_config;
新增完成後效果如下圖:
3、重啟sshd服務,使用命令:service sshd restart;
4、將原始碼中的ubuntu.img掛載出來,建議掛載到同目錄的target目錄下,在OK3399-desktop-release/rootfs目錄下使用命令:sudo mount ubunt.img ./target;
開發板操作
1、更新下載源執行命令:sudoapt-get update;
2、下載rsync服務,執行命令:sudoapt-get install rsync;
3、如果檔案系統已經有所更改跳過此項,本文中還未做任何更改,所以將下載cutecom以做測試,執行命令:sudoapt-get install cutecom;
4、將開發板檔案系統同步到開發環境中的檔案系統中
開發環境檔案系統路徑如下:
/home/forlinx/3399/OK3399-desktop-release/rootfs/target;
開發板執行命令:
rsync -avx / \
root@172.16.0.167:/home/forlinx/3399/OK3399-desktop-release/rootfs/target;
首次執行需要手動填寫yes,記錄成功後,以後就只需要輸入開發環境的root使用者密碼;
5、在開發環境檢視,是否存在cutecom,結果如下圖:
到此,
在OK3399-C開發板安裝的cutecom已經同步到開發環境的ubuntu.img中。
接下來,在開發環境執行編譯指令碼燒寫到OK3399-C開發板進行驗證,將ubuntu.img檔案解除安裝,執行命令:sudo umount target。
回到OK3399-desktop-release目錄執行編譯指令碼 ./build_ubuntu.sh 生成update.img後透過OTG燒寫到開發板驗證cutecom是否存在即可。
6、驗證結果,cutecom存在且可正常執行。結果如下圖所示:
以上就是小編為大家整理的在OK3399-C開發板上執行Ubuntu系統時保留檔案系統的操作方法,希望能夠對大家有所幫助!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2915084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- win10備份系統成映象檔案怎麼操作 如何備份win10系統映象Win10
- python保留7天備份檔案Python
- 開發板和 Ubuntu 之間怎麼傳檔案Ubuntu
- 如何在 Ubuntu 上使用 ZFS 檔案系統Ubuntu
- 檔案的基本管理和XFS檔案系統備份恢復
- win10系統如何備份檔案 win10系統備份檔案在哪裡Win10
- 如何備份win10系統映象_備份win10系統映象的步驟Win10
- 實戰:xfs檔案系統的備份和恢復
- 如何備份整個硬碟為映象檔案?硬碟
- win10系統下itunes備份檔案在哪 win10怎麼開啟unes備份檔案Win10
- 備份保留策略
- python 備份檔案,從 D盤 到Z盤。並且保留15天的檔案Python
- ubuntu 系統及映象Ubuntu
- 在Linux中,如何建立檔案系統的備份?Linux
- XFS檔案系統的備份、恢復、修復
- Linux作業系統定時備份檔案方法Linux作業系統
- 如何下載 Ubuntu 映象檔案?Ubuntu
- 小白自制Linux開發板 三. Linux核心與檔案系統移植Linux
- Android開發:獲取當前系統時間和日期的方法Android
- PC 和開發板之間傳輸檔案
- 如何在Windows 11系統中將任意檔案(如bat/log等)固定在開始選單?WindowsBAT
- Dragonfly 基於 P2P 的檔案和映象分發系統Go
- Linux系統配置檔案簡易shell備份指令碼Linux指令碼
- Linux中檔案/檔案系統的壓縮、打包和備份總結(基於rhel7)Linux
- 如何在Debian和Ubuntu下重新打包Deb檔案Ubuntu
- 使用Busybox製作最小檔案系統並燒寫入開發板
- 網校系統開發前要做哪些準備?
- 雲備份和同步檔案資料
- rsync同步和備份檔案到本地
- sql檔案備份SQL
- Ubuntu系統中修改hosts檔案Ubuntu
- 檔案和檔案系統
- Linux中XFS檔案系統的備份,恢復,修復Linux
- win10系統iso映象檔案的開啟方法Win10
- Ubuntu IOS檔案映象下載網站UbuntuiOS網站
- 12 使用RMAN備份和恢復檔案
- 資料丟失如當頭棒喝,資料備份重如山!
- 使用ramdisk啟動ubuntu檔案系統Ubuntu