40 Commits
Author SHA1 Message Date
alex e2912b75ba docs(readme): drop beta from shipped features (#126)
* fix(boot): stop warning that Secure Boot is in beta

* docs(readme): drop beta from shipped features
2026-10-06 11:29:04 -07:00
alex 808b162e55 docs(config): move CONFIG.md to docs/config.md (#120)
Keeps the configuration reference next to the setup guides. Updates the README, CLAUDE.md, the doc comment in crates/config and the update-config-docs skill to match.
2026-10-04 14:19:32 -07:00
alex ea115d3a16 docs(config): add CONFIG.md and move the configuration reference out of the README (#119)
CONFIG.md documents every section of sprout.toml, the command line options, BLS support and strict mode. The README keeps the overview and minimal examples and links to it. Adds an update-config-docs skill to keep the reference in sync with the code.
2026-10-04 14:14:13 -07:00
alex 9ac55ada50 fix(boot): make the graphical menu mouse opt-in
Add menu-styles.graphical.enable-mouse, which is off by default. Without it, or without a pointing device, the cursor is not drawn and the hint only mentions the keyboard.
2026-10-04 14:03:34 -07:00
alex ce8f590b7b docs(readme): correct the strict mode table 2026-10-04 10:55:07 -07:00
alex cb9f05f199 docs(readme): document strict mode and the new precedence 2026-10-04 10:55:07 -07:00
alex 4e10d57143 fix(boot): tidy the devicetree, reboot and profile handling after review
Only warn about a devicetree under Secure Boot when the entry has one,
skip the fixup if its protocol can't be opened, and reject a devicetree
whose size is smaller than its header. Announce a reboot before the
delay, advertise the multi-profile UKI feature, and treat a Type 1 entry
with a profile after the first as an extra profile that is not picked as
the fallback default. A failure to read Sprout's own partition no longer
drops the entries of the XBOOTLDR partition, and the README lists every
initrd slot and describes the reboot behaviour more exactly.
2026-10-03 20:23:57 -07:00
alex 27c2d32900 docs(readme): describe the BLS, boot counting and loader.conf support
Update the feature list for what is implemented now, including the
graphical menu and the generators, add the command line options that
were missing, and document the BLS generator options, boot counting,
loader.conf, and the bootloader interface.
2026-10-03 20:23:57 -07:00
alex 5e8fe7c783 feat(menu): add a graphical boot menu (#106)
* feat(menu): add a graphical boot menu

Adds the graphical menu style, selected with menu-style = "graphical" or
--menu-style=graphical. It draws to the graphics output with the existing
framebuffer, using a built-in 8x8 font, and takes input from the keyboard
and from relative or absolute pointers. The Sprout logo is drawn in the
bottom right corner. If there is no graphics output, the simple menu is
used, which still falls back to the basic menu.

The logo is converted from assets/logo-small.png to raw pixels by the build
crate, which adds the png crate as a build-time dependency only.

The default menu style is still simple. Pointer input is untested, as
OVMF has no mouse driver.

* fix(build): only build the logo conversion on the host

CI builds the whole workspace for the UEFI target, which also builds the
build crate for UEFI. The png dependency pulls in simd-adler32, which
crashes LLVM on that target. The logo conversion only runs in build
scripts on the host, so png and the conversion are now left out when
targeting UEFI.
2026-10-03 17:01:48 -07:00
alex 22dde5d0ac docs(readme): link the Linux boot protocol roadmap item to its issue
The Linux boot protocol item linked to the multiboot2 issue (#7)
instead of its own issue (#8).
2026-09-26 20:52:15 -07:00
alex 7b62d414ed feat(menu): add a simple boot menu similar to systemd-boot (#100)
The boot menu is now a BootMenu trait with two styles. The basic menu is
the existing one that prints entries and selects them by number. The new
simple menu is full-screen: entries are centered and highlighted, the
arrow keys, home, end, page up and page down move the selection, enter
boots it, and any key stops the countdown.

The style is picked with --menu-style or menu-style in [options], and
defaults to simple. The timer code used to wait for a key is shared
between both menus in menu.rs.
2026-09-26 19:31:50 -07:00
alex 0fb54a948b chore(doc): add fedora setup guide and tweak existing guides 2025-11-06 23:51:57 -05:00
alex 79615f7436 chore(docs): add openSUSE Secure Boot guide 2025-11-03 04:49:55 -05:00
alex b103fdacf2 chore(docs): add debian setup guide 2025-11-02 19:52:25 -05:00
alex 7be42ba074 chore(docs): reorganize setup guides 2025-11-02 19:26:02 -05:00
alex 8a6f4dc19d chore(docs): add ubuntu secure boot setup guide 2025-11-02 18:08:57 -05:00
alex 5217dd0538 chore(doc): update readme 2025-11-01 02:05:08 -04:00
alex f593f5a601 feat(boot): basic support for secure boot via shim protocol 2025-10-30 22:56:01 -04:00
alex 2e66d8c72e chore(docs): update readme with secure boot notes and roadmap items 2025-10-28 01:43:07 -04:00
alex 3b5e110d1e feat(config): rename [defaults] to [options] 2025-10-27 17:56:38 -04:00
alex fdc5f0e1d2 chore(docs): mention autoconfiguration support for bls and use it in the docs 2025-10-27 03:52:39 -04:00
alex e47c813536 fix(bls): swap from intaking \\loader\\entries to just \\loader
This prepares for further BLS integration.
2025-10-27 00:31:07 -04:00
alex 1d32855d22 Merge pull request #16 from edera-dev/azenla/alpine-edge
chore(docs): alpine edge setup guide
2025-10-27 00:15:28 -04:00
alex 8b6317f221 chore(doc): document the basic boot menu as a supported feature 2025-10-27 00:01:05 -04:00
alex 1f48d26385 chore(docs): alpine edge setup guide 2025-10-26 22:29:30 -04:00
alex e10e98d669 chore(assets): update sprout logo 2025-10-24 16:49:34 -07:00
alex a14686a286 update README with background section 2025-10-24 14:49:11 -07:00
alex 22c8884f7e booting windows is supported! 2025-10-20 20:35:13 -07:00
alex c5ec8dc6a6 add readme information about sprout command line arguments 2025-10-20 18:21:41 -07:00
alex 3d2c31ee1a add a windows setup guide 2025-10-20 13:21:43 -07:00
alex a02ee88afd add a generic linux setup guide 2025-10-20 12:07:22 -07:00
alex e08f6e629f add fedora setup guide 2025-10-20 10:34:55 -07:00
alex 37434d7f65 update logo to be smaller 2025-10-19 20:25:47 -07:00
alex 9b8ba30f56 improve documentation of some functions and more readme work 2025-10-19 20:23:55 -07:00
alex f5f431458c instead of a panic, fail with a specific error if there is no entry to boot 2025-10-19 02:25:55 -07:00
alex a7098cfc20 remove redundant line in readme 2025-10-19 00:39:32 -07:00
alex bfef31646c improve readme even more 2025-10-19 00:38:36 -07:00
alex d151176f4a readme improvements 2025-10-19 00:25:11 -07:00
alex de58188909 add initial logo and readme 2025-10-14 22:58:02 -07:00
alex 17ca11f239 initial commit 2025-10-01 16:45:04 -07:00