打包根文件系統,並製作成img鏡像。
整體操作一共三步:
一、將開發板的整個根文件系統的文件,通過ssh拷貝到PC系統(Ubuntu);
二、將此拷貝的全部文件,加載到虛擬光盤中,製作成img文件;
三、將img文件,再燒回開發板,進行測試。
樓主就用自己的一塊瑞芯微的PX30開發板做測試吧。
第一步
先創建2個目錄。一個是掛載虛擬盤用的,一個是根文件系統的所有源目錄。
rootfs爲虛擬盤用,現在是空的,rootf-source就是我們的rootfs的根文件系統。
操作完這些,就已經完成四分之一的工作了,是不是很簡單。
第二步
或許有人說我,我怎麼知道你是不是自己定製的根文件系統?
我在自己的rootfs-source目錄中創建一個文件夾,比較醒目的那種。
又創建了一個文件夾。名叫test-zc。
下面開始具體創建鏡像文件的操作,打包生成img文件
用dd工具創建鏡像文件
dd if=/dev/zero of=linux-rootfs.img bs=1M count=1024
/dev/zero:爲虛擬盤的名字。
linux-rootfs.img爲你的穿建的鏡像文件。
bs=1M
count=1024爲此鏡像的大小。一般1G的根文件系統很大了,如果擔心不夠用,也可以直接2048.
格式化鏡像文件
sudo mkfs.ext4 linux-rootfs.img
掛載鏡像並往裏面拷入修改後的文件系統:
sudo mount linux-rootfs.img rootfs
sudo cp -rfp rootfs-source/* rootfs/
卸載鏡像
sudo umount rootfs
這樣linux-rootfs.img裏就已經有剛纔製作的根目錄內容了,但linux-rootfs.img文件大小卻是定義的分區大小,不是文件系統的實際大小,所以還要經過一些處理才能發佈。
檢查並修復linux-rootfs.img鏡像的文件系統,不熟悉的朋友可以通過網絡瞭解此工具:
sudo e2fsck -p -f linux-rootfs.img
sudo resize2fs -M linux-rootfs.img
可以看一下,我們的img鏡像現在變成只有487MB了。這個也就是我們需要燒錄的鏡像的img完全包。
第三步
img燒錄到設備froot分區
1、開發板鏈接Windows電腦,並打開AndroidTools燒錄工具,讓開發板進入Loading模式;
2、選擇rootfs 分區,並選擇前面製作的根文件系統linux-rootfs.img,進行燒錄;
3、燒錄進度100% 後,開發板會自動重啓,進入新系統。