隠居日録

隠居日録

2016年(世にいう平成28年)、発作的に会社を辞め、隠居生活に入る。日々を読書と散歩に費やす

raspberry pi 4Bを買った、FreeBSD13.1のインストールをした

きっかけはHDDが壊れたかもしれない事だった。あのHDDに全面にわたりランダムデータを書き込んでみたが、エラーは発生しなかった。その後にセルフテストしたが、エラーは検出されなかった。そうなるとこれは本当に壊れたのだろうかという疑問が湧いてきた。それで、ラップトップに入れてFreeBSD13.0をzfsでインストールしてみた。zfsはデータに対してチェックサムがあるので、もしデータが何らかの理由でおかしくなったら検出できるはずだ。そして、半年ぐらい週に数時間稼働させているがエラーは発生していない。

FreeBSDzfsってよくわかっていないが、データのチェックサムがある分、少なくともufsよりは優れているだろう思い始め、NAOPINEO2でも使えたらと思ったのだが、いかんせんメモリが足りなくて、多分動かせないだろう。それで、数GBのメモリがあるボードと言ったらraspberry pi 4だ。しかし、半導体不足の影響で、どこも売り切れて買えそうになかった。

ところが、スイッチ・サイエンスでユーザー登録すると、商品の入荷通知のメールの設定ができるというのを知り、早速通知設定したのが、7月中頃だった。7月25日の夕方にメールが来たのだが、メールを受信したときに家にいず、ユーザー名もパスワードもわからず購入できなかった。仕方ないので、また通知の設定をして、次のメールが来たのは8月8日の夕方。この時は家にいたのだが、ユーザー名パスワードの取り出しに手間取っているうちに、売り切れになってしまった。それで、もう一度通知設定をして、次にメールが来たのが8月22日の夕方。過去2回のパターンだと、2週間おきの月曜の6時20分ごろにメールが来るので、それ以前にログイン状態にして待機していた。それで、今回は無事に購入できた。月曜日に注文して、水曜日にはやって来た。

ケースはamazonで、買った。

ACアダプターも一緒に注文した。これらも月曜日に注文して、水曜日に届いた。

早速組み立てを行おうと思ったのだが、ねじやスペーサーがいっぱいあって、どれがどこに使うかわからず、youtubeの動画を見た。HDDはNANOPINEO2用に一月に買ったのを使いまわす予定で、今はまだ搭載していない。

右側の上の基板にはねじ穴があるが、下の基板には穴がないのでスペーサーが入れられない。それで、電源用のUSB-Cのポートの保持が構造的に弱いのではないかと思う。

raspberry pi 4のメモリ以外の利点として、直接USBから起動できるというものがある。動作確認と設定のために、まず公式のファームをSDカードに書き込んで起動して、「apt-get update apt-get upgrade」で更新する。EEPROMのファームを確認すると、

ls /lib/firmware/raspberrypi/bootloader/stable/

pieeprom-2020-04-16.bin  pieeprom-2021-03-18.bin  pieeprom-2022-07-19.bin
pieeprom-2020-06-15.bin  pieeprom-2021-04-29.bin  pieeprom-2022-07-22.bin
pieeprom-2020-07-16.bin  pieeprom-2021-07-06.bin  pieeprom-2022-07-26.bin
pieeprom-2020-07-31.bin  pieeprom-2021-11-22.bin  pieeprom-2022-08-02.bin
pieeprom-2020-09-03.bin  pieeprom-2021-12-02.bin  recovery.bin
pieeprom-2020-12-11.bin  pieeprom-2022-01-25.bin  vl805-000137ad.bin
pieeprom-2021-01-11.bin  pieeprom-2022-02-08.bin  vl805-000138a1.bin
pieeprom-2021-01-16.bin  pieeprom-2022-03-10.bin
pieeprom-2021-02-16.bin  pieeprom-2022-04-26.bin

となっていたので、最新のpieeprom-2022-08-02.binを書き込めばいいのかと思い、

rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2022-08-02.bin

を実行し、再起動した。次にraspi-configのAdvanced Optionsからbootの設定をUSB優先に替えようとしたら、「No EEPROM bin file found for version 2022-08-02」とエラーが出て変更できない。よくわからないが、最新のものがいいわけではなく、rpi-eeprom-updateで表示されるLATESTを使うべきようだ。

rpi-eeprom-update -d -a
BOOTLOADER: up to date
   CURRENT: Tue  2 Aug 15:55:05 UTC 2022 (1659455705)
    LATEST: Tue 26 Apr 10:24:28 UTC 2022 (1650968668)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader/default)
            Use raspi-config to change the release.

  VL805_FW: Using bootloader EEPROM
     VL805: up to date
   CURRENT: 000138a1
    LATEST: 000138a1

LATESTを使うようにしたら、USBからブートできるようになった。

次にFreeBSDである。公式からFreeBSD-13.1-RELEASE-arm64-aarch64-RPI.img.xzをダウンロードして、USBメモリに書き込み、NASpiのUSBポートに挿し込んで、電源を投入した。これは問題なく立ち上がってきた。次にBooting FreeBSD Raspberry Pi 4B from USB Diskのstep 2bを参考に、別なUSBディスクをNASpiに接続して、bsdinstallでインストールした。しかし、これが起動しないのだ。最初はGPT+zfsで試した。次にGPT+ufsで試した。だが起動できなかった。次にMBRを試そうとしたのだが、bsdinstallがPCへのインストールを想定しているようで、ファイル(/boot/mbrなど)が無くてインストールできなかった。HDMIマイクロのケーブルがないので、何が起きているか全くわからない。多分、FreeBSD-13.1-RELEASE-arm64-aarch64-RPI.imgと同じようなパーティションの構成になっていないと、ブートできないのではないかと想像している。zfsでのインストールが完了するまで、ちょっと先が長そうだ。HDMIマイクロの変換コネクタも買ったほうが良いだろうか?