Theseus icon indicating copy to clipboard operation
Theseus copied to clipboard

Does not get as far as shell prompt on AArch64

Open egrimley-arm opened this issue 1 year ago • 9 comments

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.)

egrimley-arm avatar Sep 26 '23 10:09 egrimley-arm

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.

kevinaboos avatar Sep 26 '23 15:09 kevinaboos

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.

NathanRoyer avatar Sep 26 '23 15:09 NathanRoyer

Thanks! I can confirm that the serial port console does work for me: I get the shell history and cd, at least!

egrimley-arm avatar Sep 28 '23 15:09 egrimley-arm

Great, happy to hear that :ok_hand:

NathanRoyer avatar Sep 28 '23 15:09 NathanRoyer

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.

kevinaboos avatar Oct 03 '23 16:10 kevinaboos

I'll update this issue once that's done 👍

kevinaboos avatar Oct 03 '23 16:10 kevinaboos

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.

kevinaboos avatar Oct 08 '23 05:10 kevinaboos