買って気がついた事実。
いわゆるBIOSやUEFI的にブートデバイス選択できなかった。
浅はかな自分で悲しくなる・・・
ここからのリカバリーをしたいので、設定してみた。
インストール
最近はUbuntuユーザーなのでRaspberry Pi4向けのUbuntu Server 19.10 for RP4てきなをSDカードインストール!
とりあえず、起動までは他のページでもあるので省略。
そしてUSB差し込む!
が、そもそもカーネルのバグでラズパイが4GBメモリ場合、USBを認識しない、とのこと。
まじ?
とりあえずインストールしてsshでログイン。
ちゃんとお家のDHCPを管理してれば余裕。
で、調べたらカーネルアップデートすりゃ改善するらしい。
パッケージ直しておいてほしいよねっと。
apt update
apt dist-upgrade
で、再起動
reboot
これでUSB HDD(キーボードとかも)を差し込むと認識してくれる。
コピー先パーテーションの準備
USB HDD上のOSパーテーションを準備しましょう。
とりあえず初期化しとこ。
対象のパーテーションは確認を忘れないように。
mkfs.ext4 /dev/sda1
で、マウントして
mount -t ext4 -o defaults /dev/sda1 /mnt/
rsyncでSDカードの内容を全コピ
rsync -a --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/
exclude忘れると永遠に終わりません。。
この状態まで来ればあとはブートでどこを読み込むか設定を変更するだけ
ブート設定の変更
まず、起動したいパーテーションのPARTUUIDを調べる
blkid
取得できたPARTUUIDで下記の2ファイルがを変更します。
/boot/firmware/btcmd.txt
/boot/firmware/nobtcmd.txt
変更する箇所はroot=LABEL=writableです。
< net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait
---
> net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=b11b7ad2-84f5-4a48-b13c-3360129e4ac5 rootfstype=ext4 elevator=deadline rootwait
で、両方のファイルを変更して再起動したらUSB HDDを/として読み込んでくれます。
ものぐさなので無料でもらった8GB SDカードをそのまま運用します。
読み込みだけなら簡単には死なないでしょ。多分。