Subject: bug#40998: closed (Re: bug#40998: [PATCH 1/4] system: Add a version field to the <boot-parameters> record.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 01 Mar 2022 18:33:02 +0000

Your bug report

#40998: Guix System's initrd doesn't honor rootflags

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40998: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40998
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#40998: [PATCH 1/4] system: Add a version field to the <boot-parameters> record.
From: Maxim Cournoyer <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Tue, 01 Mar 2022 13:32:09 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Ludovic,

Maxim Cournoyer <[email-masked]> writes:

> Hi Ludovic,
>
> Ludovic Courtès <[email-masked]> writes:
>
>> Hi!
>>
>> Maxim Cournoyer <[email-masked]> skribis:
>>
>>> This version field exposes the (already present) version information of a boot
>>> parameters file.
>>>
>>> * gnu/system.scm (%boot-parameters-version): New variable.
>>> (<boot-parameters>)[version]: New field.
>>> (read-boot-parameters): Use it.
>>> (operating-system-boot-parameters-file): Likewise.
>>> * tests/boot-parameters.scm (test-read-boot-parameters): Use
>>> %boot-parameters-version as the default version value in the template.
>>
>> [...]
>>
>>> +  ;; New versions are not backward-compatible, so only accept past and current
>>> +  ;; versions, not future ones.
>>> +  (define (version? n)
>>> +    (member n (iota (1+ %boot-parameters-version))))
>>> +
>>>    (match (read port)
>>> -    (('boot-parameters ('version 0)
>>> +    (('boot-parameters ('version (? version? version))
>>
>> I still have a preference for an explicit list right here, for clarity,
>> and so that we don’t unwillingly find ourselves treating any past
>> version in the same way in the future.
>
> OK.  I prefer that we can bump %boot-parameters-version at one place and
> have the rest of the code base do the right thing instead of having to
> manually remember to adjust bits left and right.  I've added a comment
> next to %boot-parameters-version to mention it should be incremented by
> 1 when bumping it.
>
>> I think I wasn’t clear about it (sorry!) but I wonder if we could,
>> instead of bumping the version, use something like:
>>
>>   (find (cut string-prefix? "gnu.load=") kernel-arguments)
>>
>> to determine whether we’re dealing with an “old-style” “parameters”
>> file.
>>
>> If that’s not possible, then what this patch is doing SGTM.
>
> That's not possible, because the parameters file doesn't include the
> gnu.load nor gnu.system parameters because of their self-referential
> nature, so we don't have such information to look at.
>
> I'll be looking toward pushing this series today.

I've now pushed it as 6d9d616113cf051d80567b584a5b0a6489ddc065.  Thanks
for the review!

Maxim

Subject: Guix System's initrd doesn't honor rootflags
From: [email-masked]
To: bug-guix <[email-masked]>
Date: Fri, 01 May 2020 09:53:11 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Which means users cannot pass a 'rootflags=degraded' command line option
to the kernel line in GRUB to attempt booting a system whose RAID array
is degraded.

rootflags is standard across distributions, and is what users expect.

Such support was added in earlier version of the patches proposed here:
https://issues.guix.gnu.org/37305#0 but is later simplified out.

Maxim