Subject: bug#26339: [PATCH 02/18] system: Add extlinux support.

From: [email-masked] (Ludovic Courtès)
Date: Tue, 09 May 2017 22:40:23 +0200

Hello!

Mathieu Othacehe <[email-masked]> skribis:

>> Woow, that was fast!  :-)
>
> I had time to kill during a train trip :)

I like train trips too.  :-)

>> Good question!  I guess we need to store the name of the bootloader type
>> in the “parameters” file, and then look it up upon switch-generation?
>> But maybe we also need to store a reference to the bootloader package so
>> that it isn’t GC’d?
>
> We have three options for switch-generation :
>
> 1. Do not reinstall bootloader, only update config (current behaviour).
>
> -> It was ok with one bootloader, it's more problematic with multiple
> bootloaders. For example switching between two generations with two
> different bootloaders.

OTOH, if it turns out to be safer to keep the current bootloader, which
is likely I think, then perhaps it’s best to not try to change.

I mean, I prefer a rollback that doesn’t roll back the bootloader over a
rollback that tries to do something smart and makes the system
unbootable.

Of course, if we can make it safe to reinstall the previous bootloader,
that’s optimal.

> 2. Save the bootloader type in "parameters" and reinstall bootloader
> (current bootloader build, not necessarily the one used when creating
> this generation)
>
> -> It's the option I choose in my series.

OK.  I guess I should read that part of the series.

> 3. Same as 2. but also save bootloader used (store reference) and add a
> gc-root to keep it around.
>
> I can try to implement option 3 if you're ok ?

Hmm maybe, I need to investigate.

>> I think the most important is to make sure that our current use case,
>> where people always use GRUB, doesn’t break.
>
> With my basic-one-unencrypted-partition setup it work fine, but it would
> be great if people with more complex setup could try this serie :)

Did you try something like:

  make check-system TESTS="encrypted-root-os btrfs-root-os"

?  It takes quite a bit of time to run, but it’s a good starting point
to test these things.

Thanks!

Ludo’.