Subject: [bug#77578] [PATCH 1/2] tests: docker-system: Remove unnecessary services from Docker image.

From: Ludovic Courtès <[email-masked]>
Date: Wed, 07 May 2025 00:21:26 +0200

Hi,

Ludovic Courtès <[email-masked]> writes:

>> +                         (modify-services
>> +                             (append
>> +                              (operating-system-user-services os)
>> +                              (list
>> +                               (service syslog-service-type
>> +                                        (syslog-configuration
>> +                                         (extra-options
>> +                                          '("--rcfile=/etc/syslog.conf"
>> +                                            "--no-forward"
>> +                                            "--no-unixaf"
>> +                                            "--no-klog"))))))
>> +                           ;; 'herd status' is unresponsive. Investigation
>> +                           ;; needed to resolve before migrating from syslog
>> +                           ;; logging.
>> +                           (delete shepherd-system-log-service-type)
>
> I think that’s because by default ‘system-log-service’ tries to open
> /proc/kmsg; it fails in the container, which causes ‘system-log’ to fail
> to start, and then nothing starts.
>
> The solution is to modify ‘shepherd-system-log-service-type’ to set
> ‘kernel-log-file’ to #f (similar to ‘--no-klog’ above).

I also pushed a fix in the Shepherd (which will be in 1.0.5) where
‘system-log’ starts even if #:kernel-log-file is inaccessible:

  https://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=a54a503b01f9da4f6fb49d736dcf90da0fe51f1b

In the meantime, the solution I proposed above remains necessary.

Ludo’.