Package: fai-client
Version: 5.11
Severity: important
X-Debbugs-Cc: m...@grml.org

Hello Thomas,

you will have noticed that systemd 255 moves its files from / to /usr.
This includes /sbin/init.

Now a problem arises, when:
- I use a basefile tar.gz, made with an old systemd (say, it uses
  testing as of today)
- During baseupdate, systemd gets updated and moves its file (say, I'm
  actually installing unstable)

What happens is this:
- base image gets unpacked, /sbin is a symlink to /usr/sbin,
  /sbin/init is actually /usr/sbin/init
- baseupdate diverts /sbin/init to /sbin/init.distrib (and using
  symlinks, /usr/sbin/init became /usr/sbin/init.distrib)
- baseupdate updates systemd, dpkg 'moves' /sbin/init to /usr/sbin/init,
  but the divert stays in place for /sbin/init.
  At this time, dpkg will have overwritten /usr/sbin/init with the new
  file(!)
- fai-divert -R runs, removes /sbin/init, and removes the divert of
  /sbin/init.
  But: at this point /sbin/init was already the new /usr/sbin/init,
  which is now lost.

As a result /usr/sbin/init is missing, and the system does not boot.

I would suggest dropping all the fai-divert calls in baseupdate.

Chris

Reply via email to