X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=chroot-script;h=e499c9568fd3b84a65d367e0888553678411501d;hb=97308cda86705fa3006f38a6eda2edfdf9b9e30e;hp=498451fec6de960d60afd22fb100994d889b9e34;hpb=73829b0497532dfff79a0c23c3f39c7bfb83ea05;p=grml-debootstrap.git diff --git a/chroot-script b/chroot-script index 498451f..e499c95 100755 --- a/chroot-script +++ b/chroot-script @@ -530,6 +530,28 @@ fstab() { } # }}} +# ensure we have according filesystem tools available {{{ +install_fs_tools() { + local pkg="" + + # note: this is supposed to be coming either via command lines' + # $_opt_filesystem or via createfstab() + case "${FILESYSTEM}" in + jfs) + pkg="jfsutils" + ;; + xfs) + pkg="xfsprogs" + ;; + esac + + if [ -n "${pkg:-}" ] && ! dpkg --list "${pkg}" 2>/dev/null | grep -q '^ii' ; then + echo "Filesystem package ${pkg} not present, installing now" + DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL "${pkg}" + fi +} +# }}} + # set up hostname {{{ hostname() { if [ -n "$HOSTNAME" ] ; then @@ -579,7 +601,12 @@ initrd() { # generate initrd if [ -n "$INITRD" ] ; then echo "Generating initrd." - update-initramfs -c -t -k "$KERNELVER" + if [ "$INITRD_GENERATOR" = 'dracut' ] ; then + DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL dracut + dracut --no-hostonly --kver "$KERNELVER" --fstab --add-fstab /etc/fstab --force --reproducible $INITRD_GENERATOR_OPTS + else + update-initramfs -c -t -k "$KERNELVER" $INITRD_GENERATOR_OPTS + fi fi } # }}} @@ -751,7 +778,8 @@ trap signal_handler HUP INT QUIT TERM for i in chrootmirror grmlrepos backportrepos kernelimg_conf \ kernel packages extrapackages reconfigure hosts \ - default_locales timezone fstab hostname initrd grub_install passwords \ + default_locales timezone fstab install_fs_tools hostname \ + initrd grub_install passwords \ custom_scripts upgrade_system remove_apt_cache services \ remove_chrootmirror; do if stage $i ; then