この記事はRaspberry Pi 4上でFedora CoreOS(FCOS)を動かすための情報をまとめた記事です。内容は随時更新予定。
内容は記事執筆時点のものです(2020/8/4)
(2020/9/2更新)
(2020/9/7更新)
検証機:Raspberry Pi 4 Model B(8GB RAM)
ツイート
Fedora CoreOS on Raspberry Pi 4.
— Shion Tanaka (@tnk4on) 2020年7月22日
Boot from Unofficial FCOS aarch image and Pi 4 UEFI Firmware v1.17.#RaspberryPi #fedora #coreos pic.twitter.com/0vF5WxXYq1
Raspberry Pi 4でFedora CoreOSを動かしてみました。SDカードでUEFIを起動できれば後は通常の手順でできます。
— Shion Tanaka (@tnk4on) 2020年7月22日
RAMが3GB制限があったりとまだ実用的ではないですが。もう少し使えるようになればOKD 4のノードにしてみようかと。
ゆくゆくはPi 4のみでOKD 4クラスターの構築を... https://t.co/suKJ68zVyx
使用したFCOS aarchの非公式イメージはこちらhttps://t.co/Z2Ydxo2Ldr
— Shion Tanaka (@tnk4on) 2020年7月22日
Pi 4はFedora動作対象外(2020/8/2時点)
そのため、現時点では非公式FCOSイメージを利用します
非公式FCOSイメージ
UEFIの導入
FCOSで起動するためにPi 4にUEFI Firmwareを導入します。
Raspberry Pi 4 UEFI Firmware Images
Making Pi ServerReady – SBBR-compliant (UEFI+ACPI) AArch64 firmware for the Raspberry Pi 4
なお、現時点では3GB RAMまでしか使用できない制限があります。
Most OSes will be not be able to use more than 3 GB of RAM, even if you have a 4 GB or 8 GB model. This is the result of a hardware bug in the Broadcom CPU that powers the Rapsberry Pi 4. In order to be able to access more than 3 GB of RAM, OSes such as Linux or Windows require a workaround, like the one proposed in issue #20.
原因はPi 4ハードウェアに起因するため、OS側での対処が必要です。
この件については下記のIssue #20で扱われています。
(2020/9/2追記)
Linux kernel 5.8でパッチが含まれるようになりました。FCOSで kernel 5.8以降のバージョンがリリースされると、3GB以上のRAM利用が可能になりそうです。 FCOS 32.20200901.1.0 ではkernelは5.8.4になっています。
(2020/9/7追記) UEFIイメージ v1.20 と FCOS非公式イメージ 32.20200903.dev で3GB RAMの制限を回避して8GBで実行することに成功しました。
Successfully running on FCOS on Pi4 with 8GB RAM.
— Shion Tanaka (@tnk4on) 2020年9月6日
Unofficial FCOS image 32.20200903 can be run on Kernel 5.8.4.#RaspberryPi #fedora #coreos pic.twitter.com/sLcaJSyqb3
EEPROMを最新に更新
利点
- 失敗してもリカバリーができる
- 起動しない場合は大抵起動ディスクに問題
- EEPROMは滅多に壊れない
手順
参考記事
rpi-eeprom
起動手順
UEFIイメージで起動
- ダウンロードしたZipファイルを展開し、FAT16/32でフォーマットしたSDカードに書き込み
- SDカードから起動
- UEFIの起動画面が表示されたら、ESCを押してメニューに入る
- Device Manager > Raspberry Pi Configuration >Advanced Configuration
- Limit RAM to 3 GB: Disabled
- F10を押し設定を保存。ESCでトップ画面に戻り、Continueを選択。再起動後、再度ESCを押してメニューに入り、設定値保存されているか確認。
- FCOSのISOを書き込んだUSBメモリを接続し、Boot Managerからデバイスを選択して起動
- またはBoot Orderを変更して起動後に自動起動するようにする
注意点
- SDカードによってはUEFIメニューの設定値が保存されないことがある
- SDカードを変更して試してみるとよい
EEPROMアップデートで、USB起動できる?(検証継続)
- Raspberry Pi OS 64bitはUSB起動可能だが、UEFIイメージはUSB起動できず
- SD/USBメモリを変更しても起動不可
- USBメモリの先頭パーティションにUEFIを書き込めばいけそう(下記記事参照)