Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Booting on real hardware #58

Open
4 of 5 tasks
IsaacWoods opened this issue Aug 6, 2020 · 1 comment
Open
4 of 5 tasks

Booting on real hardware #58

IsaacWoods opened this issue Aug 6, 2020 · 1 comment
Labels
A-x86_64 Affects the x86_64 architecture C-bootloader Component: bootloader (combine with arch label)

Comments

@IsaacWoods
Copy link
Owner

IsaacWoods commented Aug 6, 2020

I would like to get Pebble booting on a Thinkpad T490, just because that's what I have lying around. This unfortunately does not have a serial port AFAIK, so let's hope it has good GOP support at least.

So far, I've managed to get efiloader booting, but it crashes soon after because there are no load options specified.

Tasks:

  • Don't panic if no load options are specified
  • If no load options, use sensible defaults (e.g. assume kernel is at \kernel.elf) and that we should try and create a framebuffer of some reasonable size
  • Test rendering to the framebuffer from inside the kernel
  • Create some sort of gfxconsole layer to print stuff nicely inside the kernel. I don't think we'll get a userspace working on real hardware for a while, so I think this is a good first step.
  • Build Butler infrastructure for creating an image on a USB stick or something (it would be nice for it to update existing images without needing to format the whole thing as well)
@IsaacWoods
Copy link
Owner Author

IsaacWoods commented Aug 10, 2020

Firstly, UEFI booting and the GOP framebuffer seem to work well on the Thinkpad, so that's nice. However, efiloader currently fails to exit boot services, for an as-of-yet unknown reason. It never seems to actually return from this method, so it seems likely that something's not working correctly inside there.

After building up the gfxconsole layer, we could just add a bunch of logging in there to see where it fails. Falling back to not creating the framebuffer doesn't really work because we can't use ConsoleOut after successfully exiting boot services, so we'd never know.

What a shame it doesn't just have a serial port.

@IsaacWoods IsaacWoods added A-x86_64 Affects the x86_64 architecture C-bootloader Component: bootloader (combine with arch label) labels Feb 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-x86_64 Affects the x86_64 architecture C-bootloader Component: bootloader (combine with arch label)
Projects
None yet
Development

No branches or pull requests

1 participant