DTB replacement

Is it possible to replace the dtb of Haiku for ARM with the one that Raspberry Pi provides or vice versa?

@kallisti5 can maybe chip in

Hi!

So under our current model, we actually use the DTB/FDT that’s embedded within our board-specific u-boot to launch Haiku.

Board Specific u-boots:

Us referencing the internal u-boot or an “override” u-boot
https://git.haiku-os.org/haiku/tree/data/boot/u-boot/boot-arm.scr.txt#n14

fdtcontroladdr is a standard environment variable that u-boot provides pointing to it’s internal DTB/FDT. There’s an alternate path there for a “manual override” DTB/FDT, but that path hasn’t been thoroughly tested yet under the ARM EFI model.

Rune (the “end user tool” which prepares our generic ARM images for various target boards such as the Raspberry Pi 4) looks in the firmware repo above, and lays down the needed files based on a JSON inventory

Please keep in mind though we just recently switched to an EFI bootloader on ARM vs a native u-boot bootloader.

Was: u-boot → boot haiku_loader.ub → Haiku
Now: u-boot → efiboot haiku_loader.efi → Haiku

This is all young still, and there are some blockers with the EFI bootloader not properly loading our kernel yet. I did all of this work originally, but am taking a small break while @tqh takes a look.

1 Like

Sorry for the “intrusion”, but I would love to test Haiku on my Amlogic S912 TV box…
…is it possible to run it from SD card (without touching the stock OS) as CoreElec ?

Thanks !

Haiku doesn’t runs on ARM yet, so the answer is no, not yet.

Nothing prevents Haiku ARM running on any hardware. The biggest limitations of “if Haiku will support my board” is:

  1. Is the device ARMv7 or later?
  2. Does the device have at least 1-2 GiB of RAM?
  3. Does the device have reasonable upstream u-boot support.

If the answer is yes to the questions above, then nothing is actively preventing Haiku from booting on your ARM device. (besides some major non-device-centric limitations @extrowerk pointed out… our new EFI bootloader is having problems starting our kernel)

Now, some supplemental “how difficult” questions…

  1. Does Haiku have Serial/UART drivers? (We have drivers for PL011 and a few other standard serial chipsets already)
  2. Does Haiku have Framebuffer/Video drivers? (We have some known working minimal drivers for Broadcom GPU’s)
  3. Does Haiku have USB chipset drivers for your board?
  1. Amlogic S912 is ARMv8-A/Cortex-A53
  2. I have 2 devices with 2 and 3 Gb RAM
  3. I sincerly don’t know, but both devices runs stock ROMs, atvXperience and CoreElec.

More info here: https://en.wikipedia.org/wiki/Amlogic#Open_source_commitment