lsgm/readme.md

223 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

2023-09-30 12:46:03 +00:00
# Live Scan Grub Menu
Build an ESP File System including:
* standalone EFI & BIOS GRUB images
* boot time dynamic GRUB menu
2023-11-21 13:29:08 +00:00
## Dependencies
2023-09-30 12:46:03 +00:00
2023-11-21 13:29:08 +00:00
* grub-common
* grub-mkimage
* grub-efi-amd64-bin
2023-09-30 12:46:03 +00:00
* x86_64-efi
2023-11-21 13:29:08 +00:00
* 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
2023-09-30 12:46:03 +00:00
2023-11-21 13:29:08 +00:00
```
├── __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
2023-11-30 12:34:21 +00:00
│ │ ├── main.sh
2023-11-22 21:56:22 +00:00
│ │ ├── pause.sh
2023-11-21 13:29:08 +00:00
│ │ ├── scan.sh
2023-11-30 12:34:21 +00:00
│ │ ├── set.sh
│ │ └── static.sh
2023-11-21 13:29:08 +00:00
│ └── source
│ ├── boot.sh
│ ├── env.sh
│ ├── menu.sh
│ ├── probe.sh
│ ├── scan.sh
2023-11-30 12:34:21 +00:00
│ ├── sys.sh
2023-11-21 13:29:08 +00:00
│ └── util.sh
├── readme
│ └── grub.md
├── readme.md
├── todo.gv
└── todo.svg
```
2023-09-30 12:46:03 +00:00
2023-11-21 13:29:08 +00:00
## Usage
2023-11-21 08:13:18 +00:00
2023-11-21 13:29:08 +00:00
### build
2023-11-21 08:13:18 +00:00
2023-11-21 13:29:08 +00:00
```
build.sh pgp_fingerprint /esp/mount/point [/data/mount/point]
```
2023-09-30 12:46:03 +00:00
2023-11-21 13:29:08 +00:00
#### example
2023-11-11 15:36:57 +00:00
2023-11-21 13:29:08 +00:00
```
/rwx/lsgm/build.sh 9C7613450C80C24F /media/ssd/esp /media/ssd/data
```
2023-11-11 15:36:57 +00:00
2023-11-21 13:29:08 +00:00
#### output
2023-11-21 08:13:18 +00:00
```
├── 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
2023-11-30 12:34:21 +00:00
│ │ ├── main.sh
2023-11-22 21:56:22 +00:00
│ │ ├── pause.sh
2023-11-21 08:13:18 +00:00
│ │ ├── scan.sh
2023-11-30 12:34:21 +00:00
│ │ ├── set.sh
│ │ └── static.sh
2023-11-21 08:13:18 +00:00
│ └── source
│ ├── boot.sh
│ ├── env.sh
│ ├── menu.sh
│ ├── probe.sh
│ ├── scan.sh
2023-11-30 12:34:21 +00:00
│ ├── sys.sh
2023-11-21 08:13:18 +00:00
│ └── util.sh
├── efi
│ └── boot
│ ├── bootx64.efi
│ ├── core.efi
│ └── grubx64.efi
└── grub.env
```
2023-11-21 13:29:08 +00:00
### setup
```
setup.sh /dev/device
```
* example:
```
bash /media/ssd/esp/bios/setup.sh /dev/sda
```
## Roadmap
![Graph](todo.svg)
### BASH
#### build
* [ ] make custom
* [ ] fonts
* [ ] keyboard layouts
* [ ] make images
* [ ] mimic grubx64.efi.signed
* [ ] targets
* [ ] arm
* [x] i386-pc
* [x] x86_64-efi
* [x] x86_64-efi-signed
* [ ] embed extra
* [ ] fonts
* [ ] keyboard layouts
* [ ] locales
* [x] copy
* [x] fonts
* [x] locales
* [x] themes
* [x] sign files
* [ ] setup bios
* [x] write for manual call
* [x] boot image
* [x] core image
* [x] setup script
* [ ] auto
* [ ] find esp device
* [ ] write bios_grub partition
#### live
* [x] check signatures
* [ ] options
* [x] check signatures for *.squashfs
* [x] boot to ram
* [ ] locales
* [ ] themes
* [ ] target specific live-media
* [ ] try -mount-opts
2023-11-24 05:32:00 +00:00
* refactor grub list_{const,vars,xtra} & split
2023-11-30 12:34:21 +00:00
* setparams probe_unset & smbios_unset
2023-11-24 05:32:00 +00:00
2023-11-21 13:29:08 +00:00
### Python