如何在Raspberry Pi 用USB碟開機

Raspberry Pi基本上是使用Macro SD卡來安裝作業系統並且進行開機。不過,某些特殊情況需要使用USB外接碟開機也是可以的。步驟基本上就是以下幾招。(目前只測試 Pi 3B+是OK的,其他較舊的Pi版本,可能不支援USB開機。各位使用前,先確認一下。)

啟動Raspberry Pi 的USB開機功能

  • 先準備一個能在手上這個Raspberry Pi的開機系統。(大多是原先的Micro SD開機,這個系統新舊版本不重要,只要能開機就好,重點是利用它來啟動USB開機功能)
  • 開機完成之後,使用root權限修改/boot/config.txt檔,在檔案最下面,加入以下這行程式後存檔。這行程式為將Raspberry Pi的USB開機功能Enable。

program_usb_boot_mode=1

  • 重新開機,在CLI執行以下指令,確認USB開機功能是否被Enable。如果執行結果是 17:3020000a ,那麼這個Raspberry Pi的USB開機功能就被啟動了。

vcgencmd otp_dump | grep 17:

  • Raspberry Pi關機(sudo shutdown -h now),然後關掉電源,並移除原來的SD卡。

製作USB開機碟

  • 下載您要安裝的作業系統或是到Raspberry Pi官網下載Raspbian作業系統image。下載完成後,將zip檔解壓縮為img檔。(e.g. 2019-09-26-raspbian-buster-full.img)
  • 找一台電腦並且找一個超過16G的USB碟,將Raspbain作業系統image寫入USB碟中。以我使用Mac為例,將USB碟插入Mac筆電中。使用以下指令,查詢插入的USB裝置代號。

diskutil list

  • 如上圖所示,剛才插入Mac的裝置代號為disk3。(要確認是剛才插入的16G那個碟,不能弄錯)
  • 卸載USB碟。因為USB插入Mac電腦都會被自動掛載(mount),所以要利用以下指令先卸載。

diskutil unmountDisk /dev/disk3

  • 使用影像寫入的程式(dd)將要安裝的作業系統影像檔或是從官網下載的作業系統影像檔寫入USB碟中。(以下指令是在影像檔目錄下執行)

sudo dd if=2019-09-26-raspbian-buster-full.img of=/dev/disk3 bs=4m

  • 經過一段時間,這段時間可以很長也可以很短,要看USB寫入速度。以我這個從客戶送的普通16G USB碟,大約等了半小時。(如果是USB硬碟、SSD或Pi 4 的USB 3應該會更快)
  • 完成之後,將剛才寫入作業系統的USB碟插入Raspberry Pi上。(先不要急著開機)

USB開機測試

  • 準備一個HDMI的monitor、USB鍵盤及USB滑鼠,插入Raspberry Pi中,然後把Raspberry Pi開機。開機後,過沒多久monitor會看到左上角有四個樹莓,那就是算是USB開機成功了。由於作業系統預設開機會進入圖形化人機介面,所以要等滿久的。原因是,USB碟的速度真的很慢。依我剛才那個16G送的普通隨身碟,大約要花10分鐘開機。開完機後,確認鍵盤滑鼠都能動之後,接下來要進行網路設定。
  • 在圖形化介面,把CLI的terminal執行起來,在文字介面打以下指令,設定時區以及Wifi帳密。

sudo raspi-config

  • 執行以下指令,確認Wifi連上,並且Check IP。

sudo ifconfig

  • 設定完成。未來如果不用本機端的Monitor,也可以在網域內用SSH連線到Raspberry Pi。
USB開機的Raspberry Pi

參考

https://blog.xuite.net/scl7333/XuiteBlog/513907912-Raspberry+Pi+3+%E4%BD%BF%E7%94%A8+USB+%E7%A1%AC%E7%A2%9F%E9%96%8B%E6%A9%9F
https://blog.csdn.net/kiwi_kid/article/details/53620049