要把 Armbian 裝到主板上的 eMMC 有兩種方式,一個是先用 sdcard 開機,另外把 img file 放入隨身碟,插入後再 dd 進去,步驟比較多但比較完整。
另一個方式一樣先透過 sdcard 開機後,使用內建功能把 sdcard 裡的資料全部搬到 eMMC,好處是原來在 sdcard 裡的系統設定都會完整搬過去,缺點是可能會有檔案缺失。就讓我們來看看這兩個方法分別怎麼做吧!
方法一:用 sdcard 開機後,自行 dd 系統
如果在 mac 系統下,先使用這個指令確定記憶卡所在位置
diskutil list
假設是 /dev/disk3,我們使用下面指令將 img 寫入 sdcard。在 mac 下使用 r 開頭的裝置寫入速度會快很多。
dd if=<os_img_path> of=/dev/rdisk3 bs=1M
接著使用記憶卡開機,並將含有 img 檔案的隨身碟插入 SBC,使用這個指令確定 eMMC 和隨身碟位置
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 57.3G 0 disk
└─sda1 8:1 1 57.3G 0 part
mmcblk0 179:0 0 14.9G 0 disk
└─mmcblk0p1 179:1 0 14.7G 0 part /
mmcblk2 179:8 0 7.3G 0 disk
└─mmcblk2p1 179:9 0 7.2G 0 part
mmcblk2boot0 179:16 0 4M 1 disk
mmcblk2boot1 179:24 0 4M 1 disk
zram0 254:0 0 50M 0 disk /var/log
zram1 254:1 0 499.8M 0 disk [SWAP]
從這個範例可以看到隨身碟會掛在 /dev/sda,內建的 eMMC 則在 /dev/mmcblk2,記憶卡則在 /dev/mmcblk0。我們先將隨身碟掛上去。
sudo mkdir /mnt/usbdrive
sudo mount /dev/sda1 usbdrive
緊接著就是 dd。使用 status=progress 可以在 console 上顯示進度。
cd /mnt/usbdrive
dd if=<os_img_path> of=/dev/mmcblk2 bs=1M status=progress
完成後重開機,同時拔掉記憶卡和隨身碟,就可以用內建的 eMMC 開機了!
方法二:用 sdcard 開機後,使用 armbian 內建功能搬移
首先依序進入 sudo armbian-config > System > Install > Boot from eMMC
點同意後,選擇 ext4,等待搬移跑完。過程中可能會跳幾次錯誤訊息,主要是因為系統還開著,某些檔案會被佔用,導致搬移時會跳錯誤。
結束後重開機,拔掉記憶卡即可。
我實測結果大部分正常,但可能會遇到一些奇怪的問題,比如說網路初始化異常,或是系統可能會無預警的當機。這可能是搬移的過程中部分檔案失敗導致,因此我還是建議使用方法一,乾淨的安裝最穩定!
就是這麼簡單!趕快試試吧!
延伸閱讀:
Banana Pi 好燙!加個風扇吧!
Raspberry Pi 當機自救!為他開啟 Watchdog 吧!