Skip to content

Grub script in order to configure the boot order externaly via web server

License

Notifications You must be signed in to change notification settings

jamofer/grub-uefi-http-selector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

GUHS

GRUB UEFI HTTP Selector, configure your boot order externaly via web server.

How it works?

image

You need to install GUHS Server in a external machine and then install GUHS CLI in your system pointing to the deployed server.

Why GUHS could be useful?

GUHS exposes via REST API it's configuration, so you can automate which target do you want to boot the next time you power on your computer. Even you can create a frontend/mobile APP or a home-assistant integration in order to control the boot configuration and combine it with Wake On Lan.

Requirements

  • Python3.7 or above for both CLI and Server APPs.
  • Root permissions for the CLI.
  • To have GRUB with UEFI and network stack enabled.
  • If you use secureboot you need to have HTTP module signed.
  • Network card available.
  • A second machine to deploy GUHS Server. (IE: Raspberry PI)

How to install

Install and deploy GUHS server

# Install the web server
pip3 install guhs-server

# Run it in background
nohup guhs-server &

Install GUHS in GRUB

# Install it in your desirable GRUB system
sudo pip3 install guhs-cli

# Install GUHS in your GRUB bootloader
$ guhs-cli install
GUHS Server hostname/ip? <<user input>>
Available boot targets:
  1. Ubuntu
  2. Ubuntu2
  3. Windows XP
Default target? <<user input>>
Boot selection timeout? <<user_input>>

Known issues

Secure boot

By default GRUB doesn't have HTTP module signed, you can setup in your UEFI configuration secureboot to "Other OS" in order to solve this.

Network stack on GRUB

I just tried on my own computer and VirtualBox

  • Asus ROG STRIX X570-I GAMING: It sometimes doesn't initialize network stack, disabling fastboot works better but sometimes network stack does not initialize.
  • VirtualBox UEFI: Works perfect.

About

Grub script in order to configure the boot order externaly via web server

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published