--- trunk/mlivecdbuild/mlivecdbuild2.sh 2013/03/28 15:39:45 2098 +++ trunk/mlivecdbuild/mlivecdbuild2.sh 2014/01/03 08:19:48 2319 @@ -65,7 +65,7 @@ local systemdcmd case ${cmd} in - add|del|default) + add|del|default|is-enabled) # add given services from profile if [[ -n ${services} ]] then @@ -78,6 +78,7 @@ case ${cmd} in add) chroot ${CDCHROOTDIR} systemctl enable ${i} ;; del) chroot ${CDCHROOTDIR} systemctl disable ${i} ;; + is-enabled) chroot ${CDCHROOTDIR} systemctl is-enabled ${i} ;; default) # convert targets case ${i} in @@ -198,25 +199,25 @@ if [[ -z $(chroot ${CDCHROOTDIR} getent group lock) ]] then echo "adding missing group 'lock'" - chroot ${CDCHROOTDIR} groupadd -g 54 lock + chroot ${CDCHROOTDIR} /usr/lib/mage/mgroupadd -o "-g 54" lock fi # dbus plugdev group if [[ -z $(chroot ${CDCHROOTDIR} getent group plugdev) ]] then echo "adding missing group 'plugdev'" - chroot ${CDCHROOTDIR} groupadd -g 302 plugdev + chroot ${CDCHROOTDIR} /usr/lib/mage/mgroupadd -o "-g 302" plugdev fi # dbus messagebus group if [[ -z $(chroot ${CDCHROOTDIR} getent group messagebus) ]] then echo "adding missing group 'messagebus'" - chroot ${CDCHROOTDIR} groupadd -g 300 messagebus + chroot ${CDCHROOTDIR} /usr/lib/mage/mgroupadd -o "-g 300" messagebus fi # dbus messagebus user if [[ -z $(chroot ${CDCHROOTDIR} getent passwd messagebus) ]] then echo "adding missing user 'messagebus'" - chroot ${CDCHROOTDIR} useradd -u 300 -g messagebus -d /dev/null -s /bin/false messagebus + chroot ${CDCHROOTDIR} /usr/lib/mage/museradd -o "-u 300 -g messagebus -d /dev/null -s /bin/false" messagebus fi fi install -m 0644 $(get_profile fstab) ${CDCHROOTDIR}/etc/fstab || die @@ -253,11 +254,11 @@ then install -m 0644 $(get_profile getty) ${CDCHROOTDIR}/etc/conf.d/getty || die - custom_services add getty@.service + custom_services add getty@tty1.service custom_services add remote-fs.target # disable readahead - custom_services del systemd-readahead-replay.service - custom_services del systemd-readahead-collect.service + custom_services is-enabled systemd-readahead-replay.service && custom_services del systemd-readahead-replay.service + custom_services is-enabled systemd-readahead-collect.service && custom_services del systemd-readahead-collect.service fi # # add hardware detection @@ -353,6 +354,7 @@ # copy everything to the image file and preserve permissions ( cd ${CDCHROOTDIR} && tar cpf - . ) | ( cd ${LIVECDROOT}/loop/mnt && tar xvpf - ) + sleep 3 # now umount everything and create the squashfs image umount ${LIVECDROOT}/loop/mnt || die @@ -395,7 +397,13 @@ install ${ISOLINUX_BIN} ${CDISOROOT}/isolinux || die # kernel - local kimg="$(basename $(readlink ${CDCHROOTDIR}/boot/vmlinuz))" + # support kernel installations without symlinks + if [ -L ${CDCHROOTDIR}/boot/vmlinuz ] + then + local kimg="$(basename $(readlink ${CDCHROOTDIR}/boot/vmlinuz))" + else + local kimg="$(find ${CDCHROOTDIR}/boot -name kernel-\* -printf '%f\n')" + fi install ${CDCHROOTDIR}/boot/${kimg} ${CDISOROOT}/isolinux/${CDKERNELNAME} || die install -m 0644 $(get_profile isolinux.cfg) ${CDISOROOT}/isolinux || die @@ -426,8 +434,14 @@ echo Generating initrd image ... echo '#!/bin/bash' > ${CHROOTSH} || die echo 'export LC_ALL=C' >> ${CHROOTSH} || die - echo 'kv="$(readlink /boot/vmlinuz)"' >> ${CHROOTSH} || die - echo 'kv="${kv/kernel-}/"' >> ${CHROOTSH} || die + # support kernel installations without symlinks + if [ -L ${CDCHROOTDIR}/boot/vmlinuz ] + then + echo 'kv="$(readlink /boot/vmlinuz)"' >> ${CHROOTSH} || die + else + echo "kv=\$(find /boot -name kernel-\* -printf '%f\n')" >> ${CHROOTSH} || die + fi + echo 'kv="${kv/kernel-/}"' >> ${CHROOTSH} || die # prefer dracut echo 'if [[ -x /sbin/dracut ]] || [[ -x /usr/sbin/dracut ]] || [[ -x /usr/bin/dracut ]]' >> ${CHROOTSH} || die echo 'then' >> ${CHROOTSH} || die