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