Theseus
Theseus copied to clipboard
Does not get as far as shell prompt on AArch64
I'm running make ARCH=aarch64 iso
in Docker, then make ARCH=aarch64 orun host=no
outside Docker. In the terminal it gets as far as drop(): bootstrap_task_cleanup
, same as on Intel, but in the graphical QEMU window the last thing I see is INFO : about to jump to kernel: ffff80000000
.
For a fair comparison I also did exactly the same with ARCH=x86_64
instead of ARCH=aarch64
: then I get Theseus Terminal Emulator
and can run ls
and ps
.
(Sorry if this is expected behaviour. From #702 I got the impression that AArch64 is mostly working.)
Thanks for the report! We haven't tried using Docker for aarch64 builds, but I can try it out when I return from a conference. In the meantime @NathanRoyer ought to be able to give a brief update on expected behavior on aarch64; I know we're in the midst of some changes that may have temporarily disabled interactive IO.
While most of the core blocks of Theseus have been ported to AArch64, the framebuffer (and the rest of the graphics stack) hasn't fully been; the bootloader is responsible for what you see in the graphical QEMU window.
You can start a console via the serial port (by sending any character), but this console is currently limited to statically linked applications.
Thanks! I can confirm that the serial port console does work for me: I get the shell history and cd
, at least!
Great, happy to hear that :ok_hand:
Thanks @egrimley-arm; i do agree that the current state of the aarch64 build is confusing when you see that partially-complete list of displayed logs on the screen. We'll work on that this week to make regular graphical displays work on aarch64 such that you see something more "normal" on the display.
I'll update this issue once that's done 👍
Some to-do items for me to get this working:
- Ensure that all apps are being built for aarch64 so we have a regular interactive console
- Get the framebuffer to work and be initialized on aarch64 as it normally does on x86, or simply disable graphical mode on aarch64 since most boards don't have a default framebuffer device like x86 PCs do.