201706202355Raspberry Pi 3 使用 USB 硬碟開機
之前的 USB 硬碟開機實驗全部失敗,似乎 RPi 3 或是 Raspbian 會認硬體
可是這次就不一樣了
任何一顆硬碟裝上任何一個 USB to IDE/SATA 轉接器都可以用 USB 開機
Raspbian 作業系統果然已經改進不少
-----------------------------
新的 RPi 3 作業系統 Raspbian PIXEL 已經支援 USB 開機
試驗了好幾顆硬碟 (IDE 和 SATA,2.5 吋和 3.5 吋硬碟)
由獨立的電源供應器 (5V 和 12V) 供電直接給 3.5 吋硬碟
或是由獨立的 USB 電源供應器 (5V) 供電給 2.5 吋硬碟
接上 USB to IDE/SATA/External Hard Disk 轉接器
然後再接上 RPi 3 的 USB 孔以後
在不使用 SD 卡的狀態下開機
RPi 3 已經可以認得 USB 硬碟並啟動硬碟上面的作業系統
(前題是 USB 上面只能接上一個資料儲存設備)
只是開機時間因為偵測 USB 裝置而消耗不少時間
經過這些試驗以後,今日是蠻高興的
因為以後再也不用擔心長時間密集使用 RPi 3 上的 SD 儲存設備
會造成 SD 卡過熱以致於 RPi 3 無預警自動關機
-----------------------------
[RPi 3 USB 實驗記錄] 寫入與讀出資料的最高速度 (大概範圍)
2.5吋 80GB IDE 硬碟: 24MB/s 寫入和讀出
3.5吋 80GB IDE 硬碟: 35MB/s 寫入和讀出
2.5吋 1TB SATA 硬碟: 35MB/s 寫入和讀出
[RPi 3 SD 插槽實驗記錄] 寫入與讀出資料的最高速度 (大概範圍)
Class 10 SD HC: 12MB/s 寫入和 22MB/s 讀出
由以上的數據可知,使用 USB 硬碟可提高輸出入資料的速度
-----------------------------
設定步驟:
1. 將 RPi 的 USB 硬碟開機功能給啟動 (舊的作業系統也可以)
a. 使用 SD 卡開機,進入作業系統
b. 修改 config.txt,加入 program_usb_boot_mode=1 於文件的最末行
ex: 於 Ubuntu/Linux Mint 上,打開 terminal,執行:
sudo nano /boot/config.txt
將游標移到最下面的空間,直接加入:
program_usb_boot_mode=1
儲存後關閉 (Ctrl+o, Enter, Ctrl+x) 此 nano 文書處理軟體
c. 重新啟動 RPi 3 以後,於 terminal 內執行:
vcgencmd otp_dump | grep 17:
如果 terminal 顯示:
17:3020000a
那麼這台 RPi 3 的 USB 硬碟開機功能已經被啟動
d. (Option) 刪除 config.txt 內的 program_usb_boot_mode=1
e. 將 RPi 3 關機,並移除 SD 卡
2. 用 PC 下載最新的 Raspbian PIXEL 作業系統,並映射至硬碟上
a. 進入 www.raspberrypi.org 網站
b. 下載 2017年4月 (包含以後) 的 Raspbian ZIP 檔案
c. 解壓縮得到 ISO 檔案
d. 將硬碟接上 USB to IDE/SATA 轉接器,再接上 PC 的 USB port
e. 然後映射 ISO 檔案寫入至硬碟裏面
ex: 於 Ubuntu/Linux Mint 上,打開 terminal,執行:
sudo dd if=<path to image-file> of=<path to disk> bs=4M
而 <path to image-file> 是 ISO 檔案的路徑與檔案名稱
而 <path to disk> 要映射寫入的硬碟。舉例:/dev/sdb
f. 映射結束後,將 USB to IDE/SATA 轉接器拔出 PC 的 USB port
3. 直接測試 RPi 3 的硬碟開機
a. 將 USB to IDE/SATA 轉接器與硬碟接上 RPi 3 的 USB port
b. RPi 3 開機,螢幕出現彩虹方塊,然後出現四顆水果,進入開機程序
c. RPi 3 會自動做 expand disk space,將作業系統的硬碟空間擴張到最大
d. RPi 3 再自動開機,就會進入 PIXEL 作業系統
< Note 1 >
步驟 3 有時候會失敗
有時候擴張作業系統的硬碟空間的動作有瑕疵
可能最終進不了 PIXEL 作業系統的畫面
或是進了 PIXEL 作業系統,卻一直抓不到鍵盤和滑鼠
這時要再重新執行步驟 2,再映射 ISO 到硬碟裏面
< Note 2 >
有時候開機後,RPi 3 並沒有偵測到 USB 硬碟而沒有啟動
請試看看關掉電源以後,再開電看看
(還是要試試先開 USB 硬碟的電源,再開 RPi 3 的電源?)