Skip to content

Conversation

@starnight
Copy link
Contributor

EOS has decides using RPi Linux kernel, including the device tree & overlays to have better hardware support on RPi devices, including RPi
500. So, here uses RPi OS' config.txt for composing the device tree by the RPi firmware.

Got the config.txt from image 2025-10-01-raspios-trixie-arm64.img.xz downloaded from Raspberry Pi OS downloads 1.

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211943756834438

Going to use RPi linux kernel from rpi OSTree branch on RPi devices to
have better hardware support. Then, the system should use the device
tree from the RPi kernel and composed by the RPi firmware.

Because, there is already the RPi kernel, install the device tree blobs
and overlays from the OSTree deployment into boot partition directly,
instead of those original prepared dtbs. To include more RPi devices'
device tree blobs and overlays, enlarge the boot partition size to 512
MB, just like RPi OS image.

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211622697341771
RPi firmware composes the device tree with overlays. Not only the single
device tree blob. So, teach u-boot pass the device tree composed by RPi
firmware to kernel. Other arm64 platforms keep use the device tree
deployed by OSTree commit directly.

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211725762061813
RPi firmware coworks with device tree to decide the CMA size
automatically. Then, kernel allocates the CMA memory. So, there is no
need to insert the customized cma argument into the boot command.

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211645002178218
@starnight starnight marked this pull request as draft November 17, 2025 07:04
EOS has decides using RPi Linux kernel, including the device tree &
overlays to have better hardware support on RPi devices, including RPi
500. So, here uses RPi OS' config.txt for composing the device tree by
the RPi firmware.

Got the config.txt from image 2025-10-01-raspios-trixie-arm64.img.xz
downloaded from Raspberry Pi OS downloads [1].

[1]: https://www.raspberrypi.com/software/operating-systems/

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211943756834438
U-Boot cannot boot systems on RPi 4 series until enable UART. But,
U-Boot cannot boot systems on RPi 5 series until disable UART. So, make
it only enable UART on RPi 4 series devices.

https://phabricator.endlessm.com/T30780#883184
https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211943756834438
…ition

PRi 5 series devices, including RPi 500 cannot boot u-boot until install
RPi 5 series device tree blobs into RPi image's boot partition.

Note: RPi 500 uses device tree blob bcm2712-rpi-5-b.dtb, too.

https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211800919141751
https://app.asana.com/1/1203676861188277/project/1211061530470838/task/1211943756834438
@starnight
Copy link
Contributor Author

This is blocked on #192.

@starnight starnight marked this pull request as ready for review November 17, 2025 09:06
@starnight starnight requested a review from dsd November 17, 2025 09:07
@dsd dsd merged commit 6ba1564 into master Nov 17, 2025
2 checks passed
@dsd dsd deleted the enable-rpi5-boot branch November 17, 2025 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants