Raspberry Pi 筆記(81):使用USB開機

早在Pi 3的時代已經支援使用USB開機的作業方式,但由於讀取的速度不快,同時也覺得設定上有點麻煩。但是Pi4 具有SPI連接的EEPROM(4MBits / 512KB),執行的速度會比較快,同時 Pi4的USB採用 PCIe BUS的架構,提供Gigabit的乙太網路,這和以前的版本都不同。我們就來看一下如何修改設定,使USB能夠開機。
以下是設定的幾個步驟與指令:

1. 使用SD卡開機。
2. 使用SSH登入系統後,執行系統更新及升級:
$ sudo apt update
$ sudo apt full-upgrade
3. 修改 /etc/default/rpi-eeprom-update 檔案,將 FIRMWARE_RELEASE_STATUS 的值從 "critical" 改成 "stable." :
$ sudo nano /etc/default/rpi-eeprom-update
按下  CTRL   + X 存檔離開,按下 Y  確認存檔。

4. 安裝新的 bootloader
$ sudo rpi-eeprom-update -d -a
5. 檢查韌體版本
$ vcgencmd bootloader_version

下圖可看到韌體的版本日期,這個版本,這個版本要在2020/6/15以後的版本,是比較穩定的。

6. 將系統寫入USB
取出要當作開機的USB插入其他電腦,使用其他電腦執行映像檔寫入工具,記得要將USB格式化成FAT32的檔案格式,如樹莓派官方的映像檔寫入工具Imager或 balena Etcher等,將Raspberry Pi作業系統寫入USB。記得要在SD Card選擇USB所在的磁碟位置,如不知道如何將系統寫入SD 卡,可參考這篇文章:Raspberry Pi 筆記(67):樹莓派官方SD卡燒錄程式Imager及格式化軟體SDFormatter。寫入完成後的畫面如下:

7. 從SD卡的/boot 目錄複製所有 *.dat 和 *.elf 檔案到USB的 /boot 目錄。
複製檔案的方法,可以將USB和原用來開機的SD卡都插到 Windows作業系統中進行複製的動作。以下作法是將USB插入樹莓派進行檔案複製。先執行fdisk看一下USB的Device名稱,可執行以下指令:
$ sudo fdisk -l
可以看到下圖USB磁碟的FAT32所存在的Device是 /dev/sda1。

再建立USB掛載的路徑,並改變該目錄權限給用戶pi。
$ sudo mkdir /media/usbstick
$ sudo chown pi:pi /media/usbstick
再執行掛載 /dev/sda1到剛建立的目錄路徑,並改變目錄,ls看一下目錄內的檔案
$ sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbstick
$ cd /media/usbstick
$ ls
檔案目錄內容如下:

接著更換目錄到 /boot,開始複製 *.dat及 *.elf檔案:
$ cd /boot  
$ sudo cp *.dat /media/usbstick
$ sudo cp *.elf /media/usbstick
8. 關機,取出SD卡後重新開機
到這裡已經完成所有步驟,可以將SD卡取出,重新開機,可以看到Raspbian的開機畫面,就表示安裝成功。

[參考資料]

1 留言

張貼留言

較新的 較舊