Skip to main content

Live Scan Grub Menu

Build an ESP File System including:

  • standalone EFI & BIOS GRUB images
  • boot time dynamic GRUB menu

Dependencies

  • grub-common

    • grub-mkimage
  • grub-efi-amd64-bin

    • x86_64-efi
  • grub-efi-amd64-signed

    • grubx64.efi.signed
  • grub-pc-bin

    • i386-pc
      • boot.img
      • grub-bios-setup
  • shim-signed

    • shimx64.efi.signed
  • grub-theme-breeze

    • themes/breeze
  • grub-theme-starfield

    • themes/starfield

Project

├── __init__.py
├── __main__.py
├── build.mod
├── build.sh
├── doc.py
├── esp.py
├── grub.cfg.sh
├── grubx64.efi.signed.sh
├── images
│  └── nightly.png
├── license.md
├── live
│  ├── menu
│  │  ├── cmd.sh
│  │  ├── env.sh
│  │  ├── gfx.sh
│  │  ├── main.sh
│  │  ├── pause.sh
│  │  ├── scan.sh
│  │  ├── set.sh
│  │  └── static.sh
│  └── source
│     ├── boot.sh
│     ├── env.sh
│     ├── menu.sh
│     ├── probe.sh
│     ├── scan.sh
│     ├── sys.sh
│     └── util.sh
├── readme
│  └── grub.md
├── readme.md
├── todo.gv
└── todo.svg

Usage

build

build.sh pgp_fingerprint /esp/mount/point [/data/mount/point]

example

/rwx/lsgm/build.sh 9C7613450C80C24F /media/ssd/esp /media/ssd/data

output

├── bios
│  ├── boot.img
│  ├── core.img
│  └── setup.sh
├── boot
│  ├── grub
│  │  ├── fonts
│  │  │  └── *.pf2
│  │  ├── grub.cfg
│  │  ├── grub.pgp
│  │  ├── grubenv
│  │  ├── i386-pc
│  │  │  ├── *.lst
│  │  │  └── *.mod
│  │  ├── locale
│  │  │  └── *.mo
│  │  ├── themes
│  │  │  ├── breeze
│  │  │  │  ├── theme.txt
│  │  │  │  ├── *.pf2
│  │  │  │  ├── *.pf2.license
│  │  │  │  ├── *.png
│  │  │  │  └── *.png.license
│  │  │  └── starfield
│  │  │     ├── README
│  │  │     ├── theme.txt
│  │  │     ├── *.pf2
│  │  │     ├── *.pf2.license
│  │  │     ├── *.png
│  │  │     └── *.png.license
│  │  └── x86_64-efi
│  │     ├── *.lst
│  │     └── *.mod
│  └── lsgm
│     ├── menu
│     │  ├── cmd.sh
│     │  ├── env.sh
│     │  ├── gfx.sh
│     │  ├── main.sh
│     │  ├── pause.sh
│     │  ├── scan.sh
│     │  ├── set.sh
│     │  └── static.sh
│     └── source
│        ├── boot.sh
│        ├── env.sh
│        ├── menu.sh
│        ├── probe.sh
│        ├── scan.sh
│        ├── sys.sh
│        └── util.sh
├── efi
│  └── boot
│     ├── bootx64.efi
│     ├── core.efi
│     └── grubx64.efi
└── grub.env

setup

setup.sh /dev/device
  • example:
bash /media/ssd/esp/bios/setup.sh /dev/sda

Roadmap

Graph

BASH

build

  • make custom

    • fonts
    • keyboard layouts
  • make images

    • mimic grubx64.efi.signed

    • targets

      • arm
      • i386-pc
      • x86_64-efi
      • x86_64-efi-signed
    • embed extra

      • fonts
      • keyboard layouts
      • locales
  • copy

    • fonts
    • locales
    • themes
  • sign files

  • setup bios

    • write for manual call

      • boot image
      • core image
      • setup script
    • auto

      • find esp device
      • write bios_grub partition

live

  • check signatures

  • options

    • check signatures for *.squashfs
    • boot to ram
    • locales
    • themes
  • target specific live-media

    • try -mount-opts
  • refactor grub list_{const,vars,xtra} & split

  • setparams probe_unset & smbios_unset

Python

…

Metadata

Release files for lsgm 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lsgm 0.0.1
File Size Uploaded
lsgm-0.0.1.tar.gz 191.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lsgm 0.0.1
File Interpreter ABI Platform
lsgm-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 207.2 kB

Release files / lsgm-0.0.1.tar.gz

Download URL lsgm-0.0.1.tar.gz
Size 191.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2d58cbc9de06d82af07a56901b1591af648bd90287a8e2b448c697cf4dfc3473
BLAKE2b-256 checksum
How to use checksums
b7bef2afcc0b616fa22fbbab808c5232f7fac86fee5e606f9d2c95ae7e0294df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / lsgm-0.0.1-py3-none-any.whl

Download URL lsgm-0.0.1-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8459f5946e54a3c53265322a8e5ffc6fb51efbd1d35ec4ce6ce88d7bdba1a9e4
BLAKE2b-256 checksum
How to use checksums
35492bca547f24b4f48ac6c8a1d59093c68c327bc4d7a14120e6391410e1112f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page