I maintain some out-of-tree Linux device drivers that have been around
for yonks and ship with system V init scripts. There's an install
script (or Makefile recipe) that attempts attempts to figure out where
to put an init script and set up symlinks as appropriate.

It's not perfect, but so far it has worked good enough.  It doesn't
work great with openrc [e.g. doesn't enable the init script
automatically], but people seem to be able to figure it out.

Now I've got a customer that runs systemd and reports that the init
script "doesn't work" for some undefined value of "doesn't work".

I've pretty much always been a system V init guy and have only
grumblingly adapted to openrc.  [Insert crotchety old Unix guy
ramblings here... blah blah version 7... PDP-11 blah DECwriter blah
silent 700 blah blah ASR-33... kids these days... ad naseam.]

Needless to say: I find systemd distasteful, but I've got customers
who use it.  So...

I keep reading that systemd is "compatible with system V init
scripts", but documentation on how that works seems to be somewhat
lacking and/or wrong.  e.g. The upstream docs refer to using
/sbin/system to run old-style init scripts found in /etc/init.d, but
neither /sbin/system nor the /etc/init.d directory seem to exsit on
the systemd machine that I'm testing with.  I'm currently testing with
Arch Linux, but I'm also going to set up a Gentoo/systemd system.

I've also seen recommendations that one would be better off just doing
it the right way and writing a systemd .service file.

Any advice on whether it would be easier to use a common init script
with sysV/OpenRC/systemd or to write a separate .service file?

-- 
Grant Edwards               grant.b.edwards        Yow! Where's the Coke
                                  at               machine?  Tell me a joke!!
                              gmail.com            


Reply via email to