Run dracut with --no-hostonly
Prepare older filesystems before upgrade

In the pre-pivot hook, ensure that /run exists in the filesystem root so
that systemd can bind the initramfs /run mount into it. Remount /sysroot
with the original options (ro) after new directories are created so that
the post-pivot fsck doesn't get upset.

In the upgrade-pre hook, run convertfs on unconverted sysroots.
Add prepare-rootfs.sh to the Makefile
Skip udev cleanup when upgrading from non-systemd

If the system being upgraded from does not use systemd, mask the
initrd-udevadm-cleanup-db service. Normally, the handling of udev data
would happen as follows:

  - systemd in the initramfs runs systemd-udevd.service, which writes
    data about devices to /run/udev/data
  - systemd in the initramfs runs initrd-udevadm-cleanup-db, which
    deletes most of that data
  - switch root
  - systemd in the real root runs systemd-udevd.service with the real
    root hooks and rules, which writes data in /run/udev/data again

When upgrading from RHEL6, there is not systemd in the real root, so
nothing repopulates /run/udev/data. This data is needed by dracut when
generating the initramfs for the new kernel, so for this case just leave
behind the data from the initramfs.