Raspi4B+でBootの初期段階からUARTを出したい
色々Try中ですが、Raspi3までの手順でうまくいかないのでメモ。(まだうまく出来てない)
通常Boot可能なSDを使う場合、Raspi(4含まず)は基本的にSoCにあるROMコードが
SDカード内のbootcode.bin(虹色の奴)を探し、bootcode.binがstart.elfなりを読み込みソレがLinux Kernelをキックして起動していきます。
その辺のBootシーケンスは公式にも記載があります。
Boot sequence - Raspberry Pi Documentation
これまでは、
sed -i -e "s/BOOT_UART=0/BOOT_UART=1/" bootcode.bin
これでbootcode.bin内部のConfigを書き換えてしまえば、UARTでBootの初期段階から覗けたのですが今回はそうもいかない様です。
その辺の記載も、公式にありました。
Raspberry Pi boot modes - Raspberry Pi Documentation
Note: The Raspberry Pi 4B does not use the bootcode.bin file - instead the bootloader is located in an on-board EEPROM chip. The Pi 4B bootloader currently only supports booting from an SD card. Support for USB host mode boot and Ethernet boot will be added by a future software update. See Pi4 Bootflow and SPI Boot EEPROM.
えぇ~って感じがするのですが、microSDを刺さないとBootできない(これまでのRaspi)より、(ちゃんとEEPROMにConfigを格納できれば)素のNetbootができるようにも受け取れますので、結果としてはいい話かもしれないです。
さて、EEPROMをいじるにはvcgencmdコマンドが必要っぽい訳でして、SPIを適当に叩いてEEPROMを壊すわけにもいかず、どうしようという状態・・・