Raspberry Pi 4 で USB から boot する
Raspberry Pi のクラスタを作成して、Kubernetes を試してみている。
Raspberry Pi は通常 SD カードから OS をブートするのだが、 SD カードだと読み込み、書き込みが遅いという問題があったので USB から boot を試してみた。
## 手順
I'm booting my Raspberry Pi 4 from a USB SSD を参考にした。
示されている通りにやれば動く。
### Raspberry Pi 4 が USB から boot できるようにする
Raspberry Pi のコンソールにアクセス
パッケージを update
$ sudo apt update
$ sudo apt full-upgrade
/etc/default/rpi-eeprom-update
を編集して、critical
からbeta
に変更する。
FIRMWARE_RELEASE_STATUS="beta"
- EEPROM をアップデートする
$ sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-06-15.bin
- 再起動する
$ sudo reboot
### boot 用の USB を準備する
- USB にイメージを書き込む
Raspberry Pi Imager を使って USB メモリにも書き込むことが出来た。
- Raspberry Pi の Firmware の最新版を DL して
boot/*.elf
,boot/*.dat
ファイルを USB drive に書き込む
- USB をアンマウントする
あとは Raspberry Pi 4 の電源を切り、SDカードを取り出し USB を差し込んで、電源をいれれば USB から boot してくれる。
## ディスク書き込み速度比較
USB メモリにすることによって 4 倍近く速くなった。 しかし、 参考にした記事 では SanDisk 32GB の microSD で 34 MB/s 出ているので、下手な USB メモリを使うより速い。
良いデバイスを買いましょうという話でした。
### microSD
pi@raspi2:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 148.139 s, 7.2 MB/s
### USB メモリ
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 39.96 s, 26.9 MB/s