-# keep a backup of the original runlevel.conf file for reference
-# but only save it as /etc/runlevel.conf.original if it's not the
-# according livecd version, this should prevent from overriding
-# /etc/runlevel.conf.original if re-running grml-live -b ...
-if ! cmp /etc/runlevel.conf /etc/runlevel.conf.livecd 1>/dev/null || \
- ! cmp /etc/runlevel.conf /etc/runlevel.conf.livecd.small 1>/dev/null ; then
-
- # make sure to store old backup files if they differ as well
- if [ -r $target/etc/runlevel.conf.original ] ; then
- if ! cmp $target/etc/runlevel.conf $target/etc/runlevel.conf.original 1>/dev/null ; then
- cp $target/etc/runlevel.conf.original $target/etc/runlevel.conf.original."$(date +%Y%m%d_%k:%M:%S)"
- fi
- fi
-
- cp $target/etc/runlevel.conf $target/etc/runlevel.conf.original
-fi
+systemd_setup() {
+ fcopy -M -i -B -v -r /etc/systemd
+
+ echo "Enabling user '$USERNAME' for autologin"
+ sed -i "s/\$USERNAME/$USERNAME/" "$target"/etc/systemd/system/getty@tty*.service.d/override.conf
+
+ # FIXME - ssh-bootoption is currently broken
+ # $ROOTCMD systemctl enable ssh-bootoption.service || echo "failed to enable ssh-bootoption.service"
+
+ # fails on overlayfs with
+ # "Failed to unmount transient /etc/machine-id file in our private namespace: Invalid argument"
+ $ROOTCMD systemctl mask systemd-machine-id-commit.service || echo "failed to mask $systemd-machine-id-commit.service"
+ $ROOTCMD systemctl preset-all
+
+ $ROOTCMD systemctl set-default grml-boot.target
+}
+
+file_rc_setup() {
+ if ! [ -r "${target}"/etc/runlevel.conf ] ; then
+ echo 'Warning: /etc/runlevel.conf does not exist...'
+ echo '... assuming we do not have file-rc, skipping 15-initsetup'
+ exit 0
+ fi
+
+ # keep a backup of the original runlevel.conf file for reference
+ if [ -r "${target}"/etc/runlevel.conf.original ] ; then
+ # make sure to store old backup files if they differ as well
+ if ! cmp "${target}"/etc/runlevel.conf "${target}"/etc/runlevel.conf.original >/dev/null ; then
+ cp "${target}"/etc/runlevel.conf.original "${target}/etc/runlevel.conf.original.$(date +%Y%m%d_%k:%M:%S)"
+ fi
+ fi
+
+ cp "${target}"/etc/runlevel.conf "${target}"/etc/runlevel.conf.original
+
+ # provide Grml's default file-rc configuration
+ fcopy -v /etc/runlevel.conf
+
+ # provide Grml's inittab configuration
+ fcopy -v /etc/inittab
+ sed -i "s/\$USERNAME\$/${USERNAME}/" "${target}"/etc/inittab
+
+ # provide Grml's bootlocal init scripts
+ fcopy -v -mroot,root,0755 /etc/init.d/bootlocal.first
+ fcopy -v -mroot,root,0755 /etc/init.d/bootlocal.middle
+ fcopy -v -mroot,root,0755 /etc/init.d/bootlocal.last
+}