The officially official Devuan Forum!

You are not logged in.

#1 2025-08-11 13:59:50

ffp
Member
Registered: 2024-02-23
Posts: 17  

Devuan Excalibur + Shepherd

Hi everyone, I noticed that Shepherd has been added to trixie's packages:
https://packages.debian.org/trixie/shepherd
And, the Init Freedom page on Devuan lists Shepherd as one of the init systems that are either available or being considered for inclusion in Devuan
Is there even the smallest chance that we could see the option to use Shepherd in Devuan Excalibur?
By that I mean to pick it as one of the available init systems during the system installation.
Thank you for your reply and consideration! smile

Last edited by ffp (2025-08-11 14:00:22)

Offline

#2 2025-09-02 19:32:51

fsmithred
Administrator
Registered: 2016-11-25
Posts: 2,700  

Re: Devuan Excalibur + Shepherd

apt policy shepherd
shepherd:
  Installed: (none)
  Candidate: 1.0.3-1
  Version table:
     1.0.6-2 10
         10 http://deb.devuan.org/merged ceres/main amd64 Packages
     1.0.3-1 500
        500 http://deb.devuan.org/merged excalibur/main amd64 Packages

Offline

#3 2025-09-03 17:39:58

ffp
Member
Registered: 2024-02-23
Posts: 17  

Re: Devuan Excalibur + Shepherd

Hi fsmithred, thank you very much for replying to my message!
Yes, I understand that now the package is included in Devuan as well, but, in my understanding, Shepherd is not a drop-in replacement init system like SysVinit is to systemd, it requires more work to get daemons and services running.
I tried to find more information about this and in my search I stumbled upon this post for Bookworm that talks about how to get Shepherd running.
I wonder if this user's scripts can be used to implement official out of the box Shepherd support for Excalibur?
https://www.opopop.net/Debian_Bookworm_ … it_system/

Offline

#4 2025-09-03 20:20:35

fsmithred
Administrator
Registered: 2016-11-25
Posts: 2,700  

Re: Devuan Excalibur + Shepherd

I don't see scripts on that page, just deb packages. And they aren't the same ones that are in debian/devuan. The versions of guile don't match the current versions in bookworm/daedalus. You're probably better off installing the packages from the repo.

Offline

#5 2025-09-04 08:55:33

ffp
Member
Registered: 2024-02-23
Posts: 17  

Re: Devuan Excalibur + Shepherd

I don't see scripts on that page, just deb packages. And they aren't the same ones that are in debian/devuan. The versions of guile don't match the current versions in bookworm/daedalus. You're probably better off installing the packages from the repo.

If you extract the shepherd-debian 1.5-2 amd64.deb package on the blog I linked to, you'll see that it consists of scripts that are installed in /etc/shepherd.d and a shepherd configuration file which can run said scripts and deal with shutting down or rebooting the system among other things.
I did not say you need to install the init from this blog, what I said was the scripts this user created could potentially work for Excalibur as well. They are just scripts after all.
That said, I am not a developer so take my words with a pinch of salt. Would love to hear more thoughts on the viability of implementing shepherd in Devuan.

Last edited by ffp (2025-09-04 09:10:29)

Offline

#6 Yesterday 09:17:54

ffp
Member
Registered: 2024-02-23
Posts: 17  

Re: Devuan Excalibur + Shepherd

Well, since I proposed looking into it, I decided it wouldn't hurt to see if I could get it to work on Excalibur.
I set up a virtual machine, got the latest netinstall rc1 image, installed the system with the default XFCE desktop environment and got to tinkering with it.
First I ran apt install shepherd which pulled a few dependencies with it too. Then, I installed the shepherd-debian 1.5-2 amd64.deb package from the link I provided.
This includes a bunch of scripts to get many services and daemons running so you have a working OS, as well as a configuration file called /etc/shepherd.scm
In the config file I changed udevd to point from /lib/systemd/systemd-udevd to /sbin/udevd
Then, under root, I did:

nano /etc/default/grub

And there I modified the following:

GRUB_CMDLINE_LINUX_DEFAULT="init=/usr/bin/shepherd"

And then did sudo update-grub
Unfortunately, the system did not boot and gave an error saying:
shepherd: error: "/etc/shepherd.scm": exception thrown while loading configuration file
When adding shepherd.debug into the grub config I got this output:

shepherd[1]: while loading configuration file '/etc/shepherd.scm' "no code for module (system ffi-help-rt)

Apparently, the shepherd packaged in Debian/Devuan is not a dynamic executable and it doesn't include extensions like the Guile FFI which allow it to make system calls for functions like mount, umount, stat, and kill, as well as handle errors and signals.

Later I found out the Debian/Devuan shepherd package also included its own two example configs in usr/share/doc/shepherd/examples/.
At this point, I thought awesomeadam.scm was the most promising way to get a working system and I decided to try to adapt it for Devuan.
Here are the changes I've done:
1) Update all /usr/local/etc/init.d/ paths to point to /etc/init.d/
2) Removed the systemd- prefix for the udev services.
3) Changed the path from /lib/systemd/systemd-udevd to /sbin/udevd
4) Changed the line from #:start (make-forkexec-constructor '("/lib/apparmor/apparmor.systemd" "reload")) to #:start (make-forkexec-constructor '("/etc/init.d/apparmor" "start"))
5) Changed from lightdm:

(define lightdm
  (service '(lightdm display-manager)
	   #:requirement '(dbus)
	   #:documentation "The lightdm service provides the Light Display Manager."
	   #:start (make-forkexec-constructor '("/usr/local/etc/init.d/lightdm"))
	   #:stop (make-kill-destructor)
	   #:respawn? #t))

to slim:

(define slim
  (service '(slim display-manager)
	   #:requirement '(dbus)
	   #:documentation "The slim service provides the Simple Login Manager."
	   #:start (make-forkexec-constructor '("/etc/init.d/slim"))
	   #:stop (make-kill-destructor)
 	   #:respawn? #t))

And updated the register-services and start-service lists to use slim instead of lightdm.
Then, I renamed the file to shepherd.scm and put it into /etc

At this point, I updated GRUB to boot with shepherd again and got vmgwfx errors saying my configuration was likely broken and my hypervisor was unsupported and I didn't get to the slim login screen.
At this point, without any clear information on what was going on, I got stuck.
Well, at least it understands what to do when you press Ctrl+Alt+Del and now I know the scripts turned out to be useless. big_smile

Last edited by ffp (Yesterday 09:24:58)

Offline

Board footer