I recently purchased a Raspberry Pi 400, which is supposed to be a Raspberry Pi 4 already inside a keyboard. I thought it would be great to get a plan 9 terminal on it. However, I am having some trouble; and I don’t know if it is specific to the Pi 400, myself, or both.

The Pi 400 is the Raspberry Pi keyboard with a ‘Pi 4’ inside. However, the Raspberry Pi 4 is on a different piece of copper. I don’t know how significant this is or not.

Anyway, I downloaded the new 9front image and first used dd to get it onto a 32GB micro SD card. 

On first boot, the Plan 9 kernel appears to start loading, and then I got the following error repeated over and over

sdhc: read error intr 2008002 stat 1fff0000

and then finally /dev/sdM0/data
bootargs is (tcp, tls, il, local!device)

I’ve tried creating images on the Pi itself in Raspian. Tried booting off of a USB to micro SD adapter - all with similar results, possibly different or additional errors. I also tried using balenaEtcher to transfer the image… similar results.

One attempted startup looked like this:

127 holes free
0x004f0000 0x3e600000 1041301504
1041301504 bytes free

Plan 9
cpu0: 1500 MHz ARM Cortex-A72 r0p3
4006M Memory: 998M kernel data, 3008M user, 15011M swap
pcienable PCI.0.0.0: pcr 0->7
pcienable PCI.1.0.0: pcr 0->2
bus dev type     vid  did  intl memory
0   0/0 06 04 00 14e4 2711   0  ioa:00000000-00001000 4096 nema:600000000-600100000 1048576 ->1
1   0/0 0c 03 30 1106 3483   0  0:600000007 4096
#l0: genet: 1000Mbps port 0xFFFFFFFFBD580000 irq 189 ea dca632e63357
usbxhci: 0x1106 0x3483: port 600000000 size 4096 irq 0
cpu3: 1500MHz ARM Cortex-A72 r0p3
cpu2: 1500MHz ARM Cortex-A72 r0p3
cpu1: 1500MHz ARM Cortex-A72 r0p3
#l0: phy1 id 600d84a2 oui 80361

emmc: cmd 371a0000 arg 0 error intr 0 stat 1fff0001
{repeats 15 times}
/dev/sdM0: BCM SD Host Controller 02 Version 10
emmc: cmd 371a0000 arg 0 error intr 0 stat 1fff0001
{repeats 10 times}
/dev/sdM0/data
bootargs is (tcp, tls, il, local!device)[]


As mentioned before, where that emmc error is - I’ve seen the previous mentioned error repeated. Or the following two errors.

sdhc: read error intr 2008000 stat 1fff0206
emmccmd: need to reset Datainhibit intr 0 stat 1fff0206

I realize this may be because I need a different firmware for the Pi 400. I see what looks like a file on github for the Pi 400. But I am not sure what to do with it. Is it supposed to be as easy as copying it to the boot partition? (I tried that and didn’t work). Do I need to recompile a kernel? Do I need to update the other files in the boot partition with those for the bootloader firmware for the Pi?

Thanks in advance!

Mack