[HEADS-UP] systemd is now the default init system in rawhide

Lennart Poettering mzerqung at 0pointer.de
Sat Jul 24 01:26:29 UTC 2010


I have just uploaded a new systemd and a new upstart package which make
systemd the default init system for Rawhide. The scheme I followed makes
sure that in case systemd actually breaks systems there is an easy path
back to upstart. And here's how it works:

- "upstart" and "systemd" are now parallel installable. When you upgrade
  rawhide you will get both installed. (we'll drop upstart eventually,
  but during the testing phase i made sure to explicitly install both,
  so that there is a safe backup init system)

- You can boot into either of them by setting the "init=" kernel cmdline
  option according to your wishes. If you pass "init=/bin/systemd" you
  will boot into systemd, if you pass "init=/sbin/upstart" you will boot
  into upstart (note the /sbin vs. /bin!)

- Since there can only be one implementation providing the /sbin/init
  file name, I have split off -sysvinit packages from both packages
  which symlink this to either /bin/systemd (in the systemd-sysvinit
  pkg) or /sbin/upstart (in the upstart-sysvinit pkg). Something similar
  is done for /sbin/reboot and the other well-known SysV client
  utilities. That basically means you can choose which init system to
  use by default simply by installing either of these two packages. By
  default systemd-sysvinit will now be installed. As mentioned the
  "upstart" and "systemd" packages do not conflict -- but
  "upstart-sysvinit" and "systemd-sysvinit" do. The former two packages
  include all the actual code, and the latter then install them under
  the well-known names via symlinks.

- Note that using the upstart client tools on a systemd system will of
  course make certain functionality unavailable. Vice versa it is
  similar: using the systemd client tools on an upstart boot will of
  course make certain functionality unavailable, too. However, I
  carefully made sure that both tool sets work well enough to be able to
  at least bring up and reboot the machine.

So, to put this in shorter words:

  If systemd does not work for you and you need a temporary fix, pass
  "init=/bin/upstart" on the kernel command line.

  If systemd does not work for you and you need a non-temporary fix,
  install "upstart-sysvinit".

I think this offers a good and soft transition for rawhide.

I have tested all this quite extensibly on my machines, but of course, I
am not sure how this will break on other people's machines. I
sincerly hope I didn't break anything major with this transition. So
please report bugs and don't rip off my head because I might have broken
your boot... I didn't do it on purpose, promised! ;-)

systemd.4-3 is the package version this switch of defaults has taken
place in.


Lennart Poettering - Red Hat, Inc.

More information about the devel mailing list