I’ve just recently learned of Haiku and I’m looking to do some work on the ARM port when I’ve got some spare time, however, I’ve run into issues with actually getting the thing to boot.
I’ve been following https://www.haiku-os.org/guides/building/compiling-arm and managed to get it to generate a mmc image, but running:
qemu-system-arm -M raspi2 -kernel haiku_loader.ub -initrd haiku-floppyboot.tgz.ub -dtb rpi2.dtb -m 2G
Results in a black screen in QEMU. I’m not quite sure how to attach gdb, asthe toolchain doesn’t come with it and there’s no ELF image generated, or at least that I can see. Is the ARM port able to actually be booted, or is still in a state where it’s mostly inoperable?
Check the ARM port status here:
TL;DR: ARM port is far away from booting to the desktop, but the kernel should start running on some hw.
Ahh cheers. That makes more sense. The kernel definitely does start.
Is there anything I can use to aid debugging, i.e a gdb remote stub? I can’t really find anything in the documentation besides using the inbuilt kernel debugger that’s part of the software packages.
The kernel will output its information to the serial port. On our side this is pretty much the best you can get at this point (it crashes too hard for a gdb stub to be of much use at this early point).
I don’t know what qemu itself allows in terms of debugging.
IIRC, the Raspberry port has problems setting up the mailbox to communicate with the video part of the chip, as it tries to bring up the framebuffer. This may be a bug in the videocore driver, or it may be a problem with the MMU and mappings, which incorrectly maps the videocore registers to the CPU.