[Pkg-sysvinit-devel] Bug#799329: sysvinit: does not work inside systemd-nspawn

Andreas Henriksson andreas at fatal.se
Fri Sep 18 09:13:57 UTC 2015


Control: tags -1 + confirmed

Hello Tomasz Buchert.

I also think it would be nice to be able to test sysvinit compatibility
with systemd-nspawn. Keeping a full virtual machine is just too much
overhead.

I simply did this to set up my environment:

debootstrap unstable /tmp/debian-tree
chroot /tmp/debian-tree passwd
systemd-nspawn -D /tmp/debian-tree -b
# now in the container:
apt-get install sysvinit-core
poweroff
# now start container with sysvinit:
systemd-nspawn -D /tmp/debian-tree /sbin/init
# please note the /sbin/init instead of -b, for autoboot order see:
# https://github.com/systemd/systemd/blob/master/src/nspawn/nspawn.c#L2603


When booting I (after waiting for a while) received this output:
[...]
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting enhanced syslogd: rsyslogd.
[ ok ] Starting periodic command scheduler: cron.

INIT: Id "6" respawning too fast: disabled for 5 minutes
INIT: Id "4" respawning too fast: disabled for 5 minutes
INIT: Id "2" respawning too fast: disabled for 5 minutes
INIT: Id "1" respawning too fast: disabled for 5 minutes
INIT: Id "3" respawning too fast: disabled for 5 minutes
INIT: Id "5" respawning too fast: disabled for 5 minutes
INIT: no more processes left in this runlevel


This made me suspect a problem with spawning getty.
I made the following changes to /tmp/debian-tree/etc/inittab
to confirm this:

1:2345:respawn:/bin/bash
#1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

bash spawns successfully!

This is how systemd seems to spawn getty:
$ systemctl cat console-getty.service | grep ExecStart
ExecStart=-/sbin/agetty --noclear --keep-baud console 115200,38400,9600 $TERM


Replacing the bash line above with this:
1:2345:respawn:/sbin/agetty --noclear --keep-baud console 115200,38400,9600 linux

And voila!

Regards,
Andreas Henriksson



More information about the Pkg-sysvinit-devel mailing list