[Tip] 從外接USB設備啟動樹莓派4b


樹莓派默認從tf卡啟動系統,io性能太弱了。最近入手了Argon ONE外殼,可以通過usb外接一個m.2 sata接口的固態硬盤;那么,折騰一下從ssd吧。

方案調查

一番查資料,目前支持兩種啟動方案:

  1. 升級固件,這也是網上推薦的主流方案。這個方案需要先用原版的raspbian升級固件,這樣就可以直接設置從USB設備引導。
    找到的靠譜教程如下:
    1. New Raspberry Pi 4 Bootloader USB / Network Boot Guide
    2. Raspberry Pi 4 Ubuntu USB Boot (No SD Card)

然鵝,我現在用的是Ubuntu系統,這個方案折騰起來比較麻煩,可能還需要重裝系統。pass

  1. 從tf卡引導,將根目錄替換成ssd的分區。這樣理論上兼容性更好,而且可以在現有的系統上升級。不猶豫,馬上開搞。
    參考教程:Raspberry Pi 4 USB Boot Config Guide for SSD / Flash Drives

方案實施

  1. 復制現有系統到ssd,注意,這個操作會清空SSD上面的數據
dd bs=4M if=/dev/mmcblk0 of=/dev/sda
  1. 確認usb設備id,我的是174c:55aa
lsusb

Bus 002 Device 003: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb
  1. 修改cmdline.txt,樹莓派是通過這個文件來確認系統啟動目錄的,直接修改fstab無效
# 備份
cp cmdline.txt cmdline.txt.bak
# 修改為如下內容:
## 1. 注意將XXXX:XXXX替換為上一步獲取的usb id
## 2. 注意root=的配置,需要和硬盤對應的LABEL或者UUID一致(如果是dd復制的數據,這塊應該不用改)
usb-storage.quirks=XXXX:XXXX:u net.ifnames=0 dwc_otg.lpm_enable=0 console=serial
0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline
rootwait fixrtc
  1. 更新/etc/fstab,這一步其實不是必須的,為了不造成迷惑,還是和cmdline.txt的配置保持一致了。
  2. reboot之后就可以看到/目錄已經切換到ssd上面了
ubuntu@rpi:~$ findmnt -n -o SOURCE /
/dev/sdb2
  1. 不服跑個分,io速度提升10倍,哈哈:
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash

     Category                  Test                      Result
HDParm                    Disk Read                 185.42 MB/s
HDParm                    Cached Disk Read          185.55 MB/s
DD                        Disk Write                92.6 MB/s
FIO                       4k random read            4429 IOPS (17716 KB/s)
FIO                       4k random write           5109 IOPS (20439 KB/s)
IOZone                    4k read                   21790 KB/s
IOZone                    4k write                  19337 KB/s
IOZone                    4k random read            16226 KB/s
IOZone                    4k random write           20809 KB/s

                          Score: 4777


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM