ラズパイ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コマンドで出来る方法もありそうなのでそれを試してみることとする。