1. 程式人生 > 其它 >樹莓派最小映象製作

樹莓派最小映象製作

參考連結:https://blog.csdn.net/u013451404/article/details/80552765

1、使用df -h命令 檢視需要製作映象樹莓派系統TF卡中實際有效資料佔用:

2、將sd卡取出用讀卡器插入另一臺樹莓派後使用fdisk -l命令檢視分割槽資訊,一般是/dev/sda,記錄下/dev/sda2的start扇區
3、調整分割槽佔用大小:使用e2fsck和resize2fs命令縮減sdb2分割槽
  (1) sudo e2fsck -f /dev/sda2
  (2) sudo resize2fs /dev/sda2 3G (實際佔用大小)

4、重建分割槽大小為調整後的大小:用fdisk命令重建分割槽,讓分割槽大小與我們縮減後的大小一致,這裡的具體操作步驟為,呼叫fdisk /dev/sdb後首先用fdisk中的d命令刪除sdb2分割槽,
然後用n命令重新建立sdb2分割槽,按n後選擇新建主分割槽(p),分割槽號與之前要一致,寫2。接著就到了關鍵的地方了,建立分割槽需要填分割槽的start扇區,所以這裡就要將步驟2記錄下來的start扇區寫到這裡,
這樣才能保證資料不丟失。填寫完start扇區後還要填end扇區,這裡我們直接用+3G的方式讓它自己去算結束扇區。馬上又要進入關鍵步驟:回車後它會問你這裡原來已經有一個ext4分割槽存在了,
是否需要刪除該分割槽標識?(紅色字型部分)。這裡一定要輸入n,不要讓它刪除原有分割槽標識,不然就悲劇了...。接著就回車並用w命令讓它寫入我們重建分割槽的修改。完成分割槽重建後重新掛載分割槽成功,
且用fdisk命令檢視也已經變成了3G。到此準備工作就算完成了。
sudo fdisk /dev/sda


5、將縮減後的TF卡映象到一個img檔案中:
dd if=/dev/sda of=rpi.img bs=1M count=???
dd if=/dev/sda of=rpi.img bs=1M count=3120
使用dd命令將我們重建並縮減了分割槽的TF備份。通過fdisk命令檢視重建後所有分割槽佔用到的最後一個扇區來計算需要dd映象的資料長度,
我這裡sda2的end扇區是最後一個佔用的扇區,為7317503,但是由於扇區是從0開始編號的,所以實際整個TF卡上的分割槽一共佔用了7317504個扇區,
每個扇區是512位元組,那麼實際佔用(7317504*512)/(1024*1024) = 3573MB,所以我們需要使用dd命令從TF卡中dd出來3573MB資料到img檔案即可(命令在示例中),
dd命令的bs引數代表每次dd多少資料,count代表dd多少次,經過前面的計算,我這裡填的是每次dd 1MB一共dd 3573次。dd完成後我們縮減後的整個TF卡就已經備份到debian-on-rpi.img檔案中了,
通過fdisk命令檢視該檔案實際上與檢視縮減後的TF是一樣的,同時將該檔案掛載到系統中也可以看到資料是真實有效的。
到這裡備份工作就完成了,我們成功的將一個16G TF卡中的樹莓派系統備份到了一個3G中的img檔案中。