weird mumi message dupe/drop?

2024-09-26 Thread Lilah Tascheter
so, I just tried to apply v3 of issue #73202, but it failed, first
trying to apply a regular email, then completely dropping the last
patch (in email order, so actually patch 12/14). looking into it, it
seems like the raw messages aren't indexed properly? when downloading
the raw mbox for either @17 or @18, the message for @17 is returned.
all subsequent messages are then shifted one earlier than they should
be. so, mumi am just doesn't work at all.

any clues wtf happened? honestly I'm not even sure where to report this
(if to report this?) and if anyone can, like, fixup the patch series
message files?

thanks!
lilah



Call for testers for bootloader subsystem rewrite!

2024-08-03 Thread Lilah Tascheter
Hey!

I just submitted a patchset containing a full rewrite of Guix's
bootloader subsystem, as in its current state, it was only really meant
to support GRUB. Seeing as we support a large variety of bootloaders,
and a bug in this subsystem could be disasterous, I figured I'd ask for
testers here.

So, anyone willing to throw an experimental patchset at some
(recoverable!) hardware, please test it out and tell me any issues you
encounter!

Link on the issue tracker: https://issues.guix.gnu.org/72457

Thanks!!



extlinux and a bootloader system rewrite

2024-04-22 Thread Lilah Tascheter
heyall!

I've been working on a large bootloader subsystem rewrite to get
everything working together nicer and support future bootloaders
better. however, extlinux is being a bit of an issue.

extlinux installs its second stage (ldlinux.sys) by copying it into the
root (or boot) filesystem, and then copying the on-disk block offset
into the bootblock first-stage. this relies on the now-heavily
discouraged practice of assuming files just stay in the same physical
spot. it requires special treatment with btrfs, will break if anything
rearranges the file-system, and will most likely never work on disk
images.

it hasn't been updated since 2014 and kinda shows.

a possible solution would be re-implementing its installer and instead
installing ldlinux.sys to a separate partition, or maybe see if it
could re-use GRUB's method of installing in the partition gap or even
editing the disk image installer to work in an losetup'd container or
some shit. but, honestly, I don't know if that would actually help
anyone.

does anyone use extlinux on guix still? would anyone mind if I just nix
it (guix it?) entirely in the patch series? grub supports every case
extlinux would support anyway.

thanks!
leila



Re: [RFC] proposal for refactoring bootloaders

2024-02-16 Thread Lilah Tascheter
one more quick change that I've realized will be necessary: add a
bootloader-targets field to boot-parameters. some bootloaders would
need target info to know where to install config files, and
reinstall-bootloader doesn't have access to the operating-system
record. rollbacks to generations pre-field addition shouldn't be an
issue with this either, as existing bootloaders (sans depthcharge?) do
just fine without targets.

all in all, bootloader-installer and bootloader-config-file-installer
would be procedures that return gexps, with the following signatures:

* (installer entries #:key bootcfg mount-offset generation old-entries
   store-crypto-devices store-directory-prefix locale)
* (config-file-installer entries #:key package targets mount-offset
   generation old-entries store-crypto-devices store-directory-prefix
   locale)

mount-offset is the current target, and old-entries becomes an alist with
generation numbers.

- lilah




[RFC] proposal for refactoring bootloaders

2024-02-16 Thread Lilah Tascheter
hi everyone!

I've been working on submitting to mainline some bootloaders I
packaged a while ago on my channel (an efi-stub bootloader supporting
secure boot & full disk encryption and p-boot for pinephones) and came
across a good few hard points in how guix handles bootloaders. the
current system seems to have been made with only grub/extlinux-alikes
in mind, and makes working with everything else extremely cumbersome
and incompatible with generation rollbacks. before I start
making/submitting changes, I wanted to ask for opinions on the following
plan:

* merge bootloader-installer and bootloader-disk-image installer.
  almost all cases where one is used, the other is called with almost
  the exact same arguments, except for in (gnu system image), which
  provides the image itself. this should be provided in general; BIOS
  bootloaders and u-boot need to know the main disk device anyway.

* create a new bootloader-config-installer record field
  (accepting a gexp), replacing bootloader-configuration-file and
  bootloader-configuration-file-generator. it's really only
  grub/extlinux-alikes that use a single, static-path config file. uefi
  configuration involves calling efibootmgr, and p-boot needs an entire
  configuration partition. can provide a helper procedure to replicate
  current behavior, and register the gexp as a gc root to prevent gc of
  boot objects, in lieu of the current behavior.

* provide the full bootloader-configuration record to
  bootloader-installer instead of just bootloader-package. the full
  record is available every time bootloader-installer is called.

* don't provide bootloader-configuration to bootloader-config-installer.
  reinstall-bootloader (guix scripts system) regens the configuration
  without access to the full bootloader-configuration record.
  conceptually, config install should only affect the boot entries
  themselves anyway.

* change initialize-efi-partition (gnu build image) to handle any
  bootloader-installer when used, providing its partition as the target.
  also un-hardcode grub in system-disk-image (gnu system image).

* to facilitate secure boot support, add a
  bootloader-configuration-signing-keypair record field accepting a pair
  of out-of-store paths to encryption keys.

* provide generation numbers to bootloader-installer and
  bootloader-config-installer, to help with coordination between the
  procedures, and bootloader-config-installer allowing incremental
  rollbacks in bootloaders that have to copy the kernel/initrd off-root.

(thanks Hilton Chain for initial discussion on this in the uefi support
patch thread!)

- lilah