X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fscripts%2FGRMLBASE%2F15-initsetup;h=dd074eae0665dbc92f91ee14383ec68298073d44;hb=40b0557155a1203823d820af0b7bef21af037cd2;hp=d7ad56e6dd8306a37c8c85f922c416f068c91417;hpb=352c82226ec5489438b7066db702fb31aa5c68a3;p=grml-live.git diff --git a/etc/grml/fai/config/scripts/GRMLBASE/15-initsetup b/etc/grml/fai/config/scripts/GRMLBASE/15-initsetup index d7ad56e..dd074ea 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/15-initsetup +++ b/etc/grml/fai/config/scripts/GRMLBASE/15-initsetup @@ -8,39 +8,62 @@ set -u set -e +. "$GRML_LIVE_CONFIG" -USERNAME='' -[ -r /etc/grml/grml-live.conf ] && . /etc/grml/grml-live.conf -[ -n "$GRML_LIVE_LOCAL_CONFIG" ] && . "$GRML_LIVE_LOCAL_CONFIG" -[ -n "$USERNAME" ] || USERNAME=grml +systemd_setup() { + fcopy -M -i -B -v -r /etc/systemd -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 + echo "Enabling user '$USERNAME' for autologin" + sed -i "s/\$USERNAME/$USERNAME/" "$target"/etc/systemd/system/getty@tty*.service.d/override.conf + + case "$(cat "${target}"/etc/debian_version)" in + 8.*) + echo "Debian jessie detected. Enabling workaround for unknown systemctl preset-all/set-default exit failure." + $ROOTCMD systemctl preset-all || true + $ROOTCMD systemctl set-default grml-boot.target || true + ;; + *) + $ROOTCMD systemctl preset-all + $ROOTCMD systemctl set-default grml-boot.target + ;; + esac +} -# 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)" +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 -fi -cp $target/etc/runlevel.conf $target/etc/runlevel.conf.original + # 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 -# provide Grml's default file-rc configuration -fcopy -v /etc/runlevel.conf + cp "${target}"/etc/runlevel.conf "${target}"/etc/runlevel.conf.original -# provide Grml's inittab configuration -fcopy -v /etc/inittab -sed -i "s/\$USERNAME\$/${USERNAME}/" $target/etc/inittab + # provide Grml's default file-rc configuration + fcopy -v /etc/runlevel.conf -# provide Grml's bootlocal init scripts -fcopy -v /etc/init.d/bootlocal.first -fcopy -v /etc/init.d/bootlocal.middle -fcopy -v /etc/init.d/bootlocal.last + # 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 +} + +if ifclass FILE_RC ; then + file_rc_setup +else + systemd_setup +fi ## END OF FILE ################################################################# # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2