A new SD card image which works on the Raspberry Pi 5 (and earlier models)
is now available from http://9p.io/sources/contrib/miller/9pi.img.gz
or /n/sources/contrib/miller/9pi.img.gz

Alternatively, to add a Pi 5 kernel to an existing SD card (9pi or 9legacy),
or to your pxe directory if you're netbooting, there's one available
in /n/sources/contrib/miller/9pi5 - you don't need a 9pi5cpu, just set
'service=cpu' in cmdline.txt and it will boot as a cpu server instead of
a terminal. You will also need new firmware files
  bcm2712-rpi-5-b.dtb
  overlays/vc4-kms-v3d-pi5.dtbo
which you can find in https://github.com/raspberrypi/firmware/raw/stable/boot
or copy from a Raspberry Pi OS SD card. You will also need to add this stanza
to config.txt:

[pi5]
kernel=9pi5
arm_boost=1
enable_uart=1
enable_rp1_uart=1
pciex4_reset=0
dtoverlay=vc4-kms-v3d-pi5

Because the cortex-a76 cores on the Pi 5 force aarch64 instruction
mode while in kernel state, the 9pi5 kernel has to be 64-bit; but it
will execute both 32-bit and 64-bit user processes.  I've tested the
32-bit case with my usual benchmark (the plan9-arm go test suite),
which runs about twice as fast on the pi5 as on the pi4.  The 64-bit
case hasn't been tested so much ...  problem reports are welcome.

I've also submitted 9legacy patches and a new 9legacy-rpi SD card image with
pi5 support, so those should be available soon for people who prefer something
more modern than 4th edition.

A few loose ends remain: soft reboot from a named file isn't supported
yet; nor is the NVME drive; /dev/gpio needs updating because the pi5
has multiple sets of gpios connected to the main cpu and the RP1 i/o
chip; the cpu fan doesn't spin; and HDMI resolution can't be
controlled and is fixed to one of the auto-detected (with luck) set of
1920x1080, 1280x720, or 640x480.

The last two of the above are because fan control and HDMI initialisation have
been removed from the GPU firmware interface, which could easily be accessed by
bare-metal programs (eg non-linux operating systems). Now the assumption seems
to be that everyone runs linux, or is willing to reverse-engineer linux code.
If some noble volunteer would like to hold their nose and do some research into
how those two things can be done, it would be very helpful.

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T7db02c9c4602d6f1-Mec43f57d4d6bdde3d3ebbfc3
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to