[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

System image boots but fails to start essential shepherd services

From: Richard Sent
Subject: System image boots but fails to start essential shepherd services
Date: Thu, 23 May 2024 12:14:11 -0400

Hi Guix!

I'm trying to generate a system image for an Arm SBC, flash the image to
an SD card, and run Guix on that SD card. The image does boot with the
help of an onboard UEFI bootloader, but Shepherd fails to start any

I generated my image with this command:

--8<---------------cut here---------------start------------->8---
guix system image -L . rsent/machines/lan/caustic.scm --system=aarch64-linux
--8<---------------cut here---------------end--------------->8---

This is a minified version of the contents of caustic.scm:

--8<---------------cut here---------------start------------->8---
(define-public caustic-system
    ;; lan-minimal-system provides a few additional services on top of 
    (inherit lan-minimal-system)
    (kernel (customize-linux #:name "linux-libre-arm64-generic-guix"
                             #:linux linux-libre-arm64-generic
                             ;; Enable QEMU support. Realistically this won't
                             ;; be emulating anything, but enable it anyway
                             ;; because lan-minimal-system uses QEMU and
                             ;; won't boot without it due to the
                             ;; file-system/proc/sys/fs/binfmt_misc shepherd
                             ;; requirement.
                             #:configs '("CONFIG_BINFMT_MISC=m")))
    (initrd-modules '()) ;Not needed with arm64-generic. Most of
                         ;%default-initrd-modules are built in.
    (file-systems (cons*
                     (mount-point "/boot/efi")
                     (device (file-system-label "boot"))
                     (type "vfat"))
                     (device (file-system-label root-label))
                     (mount-point "/")
                     (type "ext4"))

(define caustic-image-type
   (name 'caustic-efi)
   (constructor (lambda (os)
                   (inherit efi-disk-image)
                   (operating-system os)
                   (platform aarch64-linux)
                   (volatile-root? #f))))))

(define caustic-efi-image
    (os+platform->image caustic-system aarch64-linux
                        #:type caustic-image-type))
   (name 'caustic-efi-image)))

--8<---------------cut here---------------end--------------->8---

I see many messages printed to the console like this (the specific file
being executed changes, but otherwise it's the same).

--8<---------------cut here---------------start------------->8---
[   15.009930] shepherd[1]: exec of 
failed: Too many levels of symbolic links
--8<---------------cut here---------------end--------------->8---

Before eventually Shepherd gives up:

--8<---------------cut here---------------start------------->8---
[   46.107131] shepherd[1]: The following services could not be started in the 
background: guix-daemon ssh-daemon avahi-daemon ntpd NetworkManager xorg-server
 wpa-supplicant upower-daemon pam term-console elogind dbus-system nscd syslogd 
console-font-tty6 console-fon                                                
[   46.107629] t-tty5 console-font-tty4 console-font-tty3 console-font-tty2 
--8<---------------cut here---------------end--------------->8---

Has anyone encountered this issue before? What could be causing this?

Take it easy,
Richard Sent
Making my computer weirder one commit at a time.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]