
Hello! Not sure if you're still working on this but I'm also running seL4 bare metal on x86-64. My first recommendation which helped me a lot is to try to get it to run on qemu using your disk image rather than using the ./simulate script (I'm assuming you're currently flashing the image to a usb and booting it off a physical machine) because it qemu provides additional debug info especially if a triple fault is happening. You can use OVMF from tianocore to enable qemu to boot uefi images. Here's my grub entry as well: menuentry "Load seL4 VM" --class os { insmod gzio insmod video insmod video_bochs insmod video_cirrus insmod efi_gop insmod efi_uga set root='(hd0,gpt1)' multiboot2 /Fennec/kernel module2 /Fennec/root_task } My other suggestions are to set the cmake variable KernelHugePage to OFF (call cmake with -DKernelHugePage=OFF) as I found it got in the way of booting, for whatever reason. Also, see if padding your root task image out to 1MB helps. Seriously, just add 0s to the end of the file out to a MB or two. Different sections of the kernel are loaded at different addresses, and for me, grub was trying to squeeze the root task image in between two of these sections rather than at the very end, which was causing an assert to fail. Padding the image forces grub to place it after all kernel sections. That assertion fail should show up in the serial log though. Finally, here's the github to my project I'm working on which should boot fine if you follow the steps in the README. The code is a bit of a mess because it was a learning experience for me too. The grub file is under bootloader/grub.cfg and the root task is under sel4/projects/root_task. Output image can be burned to a usb or simulated in qemu (the OVMF files are provided). It should have both serial and graphical output if booted correctly. https://github.com/FennelFoxxo/Fennec/