ラズパイ4のUSB-SSD起動
ラズパイ4は、現時点でUSBストレージからの起動に対応していないようである。そこで取り合えず以前ラズパイZEROで試したSDメモリーとUSBストレージ(今回は120GのSSD)を組み合わせた起動方法を試してみた。
方法は
1.SSDを別のLinuxマシンでFAT32でフォーマット
2.最新のOSである2019-09-26-raspbian-buster-full.zipを balenaEtcher で書き込む
3.起動に使うマイクロSDカードをFAT32てフォーマット
4.SSDとマイクロSDカードをwindowsマシンに繋ぎ、SSD側のboot以下にあるファイル、フォルダ全てをマイクロSDカードにコピー
5.SSDにある/etc/fstabを変更する。
PARTUUID=5e3da3da-01/ /boot vfat defaults 0 2
PARTUUID=5e3da3da-02 / ext4 defaults,noatime 0 1
を/bootはSDカードにあるためそのPARTUUIDである
PARTUUID=b275bf8f-01 /boot vfat defaults 0 2
PARTUUID=5e3da3da-02 / ext4 defaults,noatime 0 1
に変更する。
/bootにあるcmdline.txt中のルートを指定している
console=serial0,115200 console=tty1 root=PARTUUID=5e3da3da-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
は、SSDの/bootをコピーしているため変更なしで使える。
pi@raspi4:~ $ df
ファイルシス 1K-ブロック 使用 使?幼 使用% マウント位置
/dev/root 115059704 8829204 101473664 9% /
devtmpfs 1867796 0 1867796 0% /dev
tmpfs 1999892 0 1999892 0% /dev/shm
tmpfs 1999892 8764 1991128 1% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 1999892 0 1999892 0% /sys/fs/cgroup
/dev/mmcblk0p1 7764992 53552 7711440 1% /boot
tmpfs 399976 4 399972 1% /run/user/1000
/dev/sda1 258095 53033 205062 21% /media/pi/boot
でサイズから120GのSSDで動いていることが確認できる。/dev/sda1はSSDにインストールした時の/bootの残骸で不要であるが自動でマウントされている。
このやり方は最初からSSDにシステムをインストールする方法であるが、SDカードで稼働中のシステムをSSDに移す方法もありそうである。
かってWin32DiskImager でシステムのコピーをしたことがあり、その方法を試みたが、何故か/rootのPARTUUIDが設定されず不調であった。
Linuxのdumpコマンドで出来る方法もありそうなのでそれを試してみることとする。