RK3588 開發闆上根檔案系統導出并制作img鏡像
- 預準備
- Linux 系統擷取 RK3588 開發闆檔案系統
- 燒寫測試
具體流程分為三步走:
- 将開發闆RK3588的整個根檔案系統的檔案,通過ssh拷貝到PC系統(Ubuntu);
- 将此拷貝的全部檔案,加載到虛拟CD光牒中,制作成img檔案;
- 将img檔案,再燒寫回RK3588開發闆,進行測試。
預準備
在開發闆 RK3588 上的檔案系統需要安裝:ssh、rsync;
本機 PC 電腦或虛拟機(Linux)上安裝:ssh、rsync。
Linux 系統擷取 RK3588 開發闆檔案系統
確定 RK3588 開發闆系統上已安裝 rsync
sudo apt-get install rsync
在本機上建立一個目錄,用來存放 RK3588 開發闆的檔案系統
mkdir rootfs
同步開發闆檔案系統,確定本機能 ping 通開發闆,執行:
#RK3588 IP 為 192.168.1.11
sudo rsync -avx [email protected]:/ rootfs
執行結束後可将開發闆的檔案系統同步到主機上
制作鏡像,用dd工具建立鏡像檔案,在主機執行指令(可以制作出一個大小為 3000M 的空 img 檔案,大小可以修改 count 值)
dd if=/dev/zero of=rk3588.img bs=1M count=3000
/dev/zero:為虛拟盤的名字。
rk3588.img:為要建的鏡像檔案。
bs=1M :表示每塊讀寫1M資料。
count=3000:拷貝塊的數量。
格式化鏡像檔案,并加入 linuxroot 卷标
sudo mkfs.ext4 -F -L linuxroot rk3588.img
挂載鏡像并往裡面拷入修改後的檔案系統
#建立鏡像檔案挂載目錄
mkdir ubuntu-mount
#挂載空的 img 檔案
sudo mount rk3588.img ubuntu-mount
#将檔案系統拷貝到 img 挂載的路徑目錄下
sudo cp -rfp rootfs/* ubuntu-mount
解除安裝鏡像
sudo umount ubuntu-mount
這樣 rk3588.img 裡就已經有剛才制作的根目錄内容了,但 rk3588.img 檔案大小卻是定義的分區大小,不是檔案系統的實際大小,是以還要經過一些處理才能釋出。
檢查并修複rk3588.img鏡像的檔案系統
sudo e2fsck -p -f rk3588.img
精簡rk3588.img鏡像檔案的大小
sudo resize2fs -M rk3588.img
燒寫測試
開發闆的檔案系統已經重新打包成了rk3588.img,用該檔案和相應的核心檔案就可生成系統鏡像,燒錄鏡像後就可直接運作使用者程式,進而省掉了重新安裝包和其他配置的工作。
生成鏡像檔案後,就可以重新燒錄到開發闆進行測試