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

Stop using GRUB #468

Open
roblabla opened this issue Sep 9, 2019 · 1 comment
Open

Stop using GRUB #468

roblabla opened this issue Sep 9, 2019 · 1 comment
Labels
type-feature New feature or request

Comments

@roblabla
Copy link
Member

roblabla commented Sep 9, 2019

GRUB is written in the unholy C language, and as such should be expunged from our systems! In order to implement secureboot, we need to run grub-mkimage in order to embed a key in the GRUB bootloader and embed our grub config. This is annoying as it breaks the build for windows users.

We should use our own bootloader. This bootloader should closely follow the design of NX-Bootloader (the bootloader of HOS/NX). Which means it should:

  1. Do some amount of hardware initialization
  2. Find and load the Package2 (containing the Kernel + builtins)
  3. Verify its signature against a hardcoded key (for simplicity's sake, will be the same as the secure boot key)
  4. Jump to the kernel's entrypoint.

This bootloader should compile to an UEFI binary (rust natively supports building UEFI binaries) that will get signed by the secure boot key.

@roblabla roblabla added the type-feature New feature or request label Sep 9, 2019
@roblabla
Copy link
Member Author

roblabla commented Sep 9, 2019

The most complicated part of this setup will be setting things up to get ourselves a framebuffer. Maybe we should move the framebuffer acquisition in the kernel proper anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant