Raspberry Pi 4をUSB-SSDから起動
Raspberry Pi 4をUSB-SSDから起動させたいと思っていたら色々問題があたったので、備忘録。
まずRaspberry Pi、USB起動には適合するケースがある。
コマンドプロンプトで lsusb -t を実行
Driver=uasだとうまく起動ドライブに使えないらしい。
: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
usb-strageだと起動できる。
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
対策としては次のサイトにある
「Raspberry Pi 4でUSB3.0接続のSSDがとても遅い」
https://signal-flag-z.blogspot.com/2020/03/raspberry-pi-4usb30ssd.html#google_vignette
現状のケースをuasドライバーを使わないようにブラックリストにいれる。取りあえず最後に
usb-storageだと多分つまずかずにインストールできる。
すでに運用しているSDから移行する場合は「SD Card Copier」を使うらしいのだが、GUI環境でしか使えないらしい。それは面倒だ。今回はrpi-cloneをつかう。インストールは至って簡単で
git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin
だけ、
lsblkで接続されているSSDを確認。
sudo rpi-clone sda
でコピーがOK。
PARTUUIDの確認
sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="bootfs" LABEL="bootfs" UUID="XXX" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="XXX-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="XXX-0
/dev/sda2: LABEL="rootfs" UUID="dYYY" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="YYY-02"
/dev/sda1: LABEL_FATBOOT="bootfs" LABEL="bootfs" UUID="F737-8E10" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="aYYYy-01"
/dev/sda2: LABEL="rootfs" UUID="d6ecfcd5-2703-41bf-9301-10c403b6fb0c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="aYYYy-02"
PARTUUIDがブート環境に適合していないので、手書きで変更が必要。
まずはsda1の編集
sudo mount /dev/sda1 /mnt
でマウント、/mnt/cmdline.txt の編集
sudo nano /mnt/cmdline.txt
root=PARTUUID=aYYYy-02
sudo umount /mnt/
PARTUUID=aYYYy-01 /boot/firmware vfat defaults 0 2
PARTUUID=aYYYy-02 / ext4 defaults,noatime 0 1
で再起動でOK
usaを無効化
sudo nano /boot/firmware/cmdline.txt で編集
lsusbでdeviceのIDを確認 17xx:10xx だったとすると
先頭に
usb-storage.quirks=17xx:10xx:u console=tty1・・・・・・
と続ける。
コメント
コメントを投稿