[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46209: 46043 breaks booting with custom shepherd package
From: |
Oleg Pykhalov |
Subject: |
bug#46209: 46043 breaks booting with custom shepherd package |
Date: |
Sun, 31 Jan 2021 22:49:30 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hello,
Thank you for the fast responce.
First of all I want to ask did you try to override Shepherd yourself?
It would be helpful to have a paragraph in the documentation how to
override the Shepherd, and if you know a proper way, please add a small
example of operating-system definition with overriden Shepherd and a
basic service like OpenSSH.
Maxime Devos <maximedevos@telenet.be> writes:
> On Sun, 2021-01-31 at 15:46 +0300, Oleg Pykhalov wrote:
>> Before applied patch [1] I used a hack to override shepherd package:
>>
>> (module-set! (resolve-module '(gnu packages admin)) 'shepherd
>> shepherd-patched)
>>
>> Now on Guix commit eb6b061 I cannot use the previous override, and also
>> the mentioned in [1] way overriding shepherd package doesn't work:
>>
>> (shepherd-root-service-type config => (shepherd-configuration
>> (inherit config)
>> (shepherd shepherd-patched)))
>>
>> I got error about undefined ‘#:supplementary-groups’ which added in
>> ‘shepherd-patched’, so I assume my ‘shepherd-patched’ package not used.
>>
>> [1] https://issues.guix.gnu.org/46043
>
> Can you post your operating system configuration definition?
> Also, were does the error about undefined "#:supplementary-groups"
> appear? When booting, when reconfiguring a ‘live’ system, when
> guix is compiling the shepherd services to .go?
While booting (as I understand in initrd). If I run (system "/bin/sh"),
then "ps auxwww" I got only shepherd and /bin/sh in the process list.
I can publish, but it's too big [1], so if you don't mind I prepared a
virtual-machine to reproduce the issue. Basically I don't even need to
use a patched shepherd to break the VM (result attached as a screenshot
below).
vm-image.tmpl
Description: virtual-machine-definition
> A pitfall to take in mind: it's the ‘essential-services’ field
> you need to modify, not the ‘services’ field of ‘operating-system’.
> My original example at [1] was incorrect. A corrected example:
>
> (operating-system
> [...]
> (services [don't modify this])
> (essential-services
> (modify-services (operating-system-default-essential-services
> this-operating-system)
> (shepherd-root-service-type c =>
> (shepherd-configuration
> (inherit c)
> (shepherd-patched))))))
Screenshot_2021-01-31_22-30-05.png
Description: QEMU Screenshot
signature.asc
Description: PGP signature