[systemd-devel] systemd-nspawn and Debian

Lennart Poettering lennart at poettering.net
Fri Feb 8 11:24:55 PST 2013


On Fri, 08.02.13 09:54, Jake Edge (jake at lwn.net) wrote:

> 
> so, i'm trying to follow along with systemd for admins part 6 and
> hitting the following problem on Fedora 18 (audit=0, fwiw):
> 
> # debootstrap --arch=amd64 unstable debian/
> ...
> (needed to put /sbin in my path in order for debootstrap to work, btw)
> 
> # systemd-nspawn -D debian/ /sbin/init
> Spawning namespace container on /srv/debian (console is /dev/pts/18).
> INIT: version 2.88 booting
> INIT: No inittab file found

Hmm, an empty inittab? That sounds as if something is broken with your
debootstrap install? Did you check if inittab exists?

Note that we carefully made sure that systemd works fine inside such a
container, but didn't do the same work for sysvinit. Hence: you might
need to do a bit of manual work to get sysvinit to work, including for
example manually disabling some init scripts which only make sense on
real hosts. For example, init scripts for statically loading kernel
modules only work on the host, not in the container, and need to be
disabled. Same for udev, and more. (But of course, if your inittab is
missing entirely, then you already have a much bigger problem, to fix
first...)

You might get quite far by installing Debian's systemd package into your
container -- but that package is stuck at 44 which is quite old, because
they are in freeze.

What I did is this: I installed Debian unstable into a directory with
debootstrap, then installed Debian's systemd .deb into it and then
manually built systemd git in it and simply install it into the
container's /usr. That works pretty well, and gets me an equally clean
boot as stock Fedora does.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list