0x5a17ed / uefi

Pure Go UEFI library for Linux and Windows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uefi

License: APACHE-2.0

A UEFI library written in go to interact with efivars. Compatible with Windows and Linux.

This library tries its best to follow the UEFI 2.9 specification outlined here.

📦 Installation

$ go get -u github.com/0x5a17ed/uefi@latest

🤔 Usage

package main

import (
	"fmt"

	"github.com/0x5a17ed/uefi/efi/efivario"
	"github.com/0x5a17ed/uefi/efi/efivars"
)

func main() {
	c := efivario.NewDefaultContext()

	if err := efivars.BootNext.Set(c, 1); err != nil {
		fmt.Println(err)
	}
}

For a more in-depth example of how to use this library take a look at efibootcfg.

💡 Features

  • Works on both Linux and on Windows exposing the same API
  • Extensible
  • Simple API
  • Reading individual Boot options
  • Setting next Boot option
  • Managing Boot order

About

Pure Go UEFI library for Linux and Windows

License:Apache License 2.0


Languages

Language:Go 100.0%