X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=chroot-script;h=8104df12063f3048a961a64d293f95a512cb8570;hb=457e3e47524aca9f8fa85ae26bf214c2a704adb9;hp=0d95d6790d553445e01f3f36a8b2ebfa97591df9;hpb=3f28b112fddeba2c9a420792507e1b3d1ca273a6;p=grml-debootstrap.git diff --git a/chroot-script b/chroot-script index 0d95d67..8104df1 100755 --- a/chroot-script +++ b/chroot-script @@ -481,7 +481,15 @@ createfstab(){ EOF if [ -n "$TARGET_UUID" ] ; then - echo "/dev/disk/by-uuid/${TARGET_UUID} / auto defaults,errors=remount-ro 0 1" >> /etc/fstab + local rootfs_mount_options=",errors=remount-ro" + case "${FILESYSTEM}" in + f2fs) + # errors=remount-ro is unsupported, see https://github.com/grml/grml-debootstrap/issues/163 + rootfs_mount_options="" + ;; + esac + + echo "/dev/disk/by-uuid/${TARGET_UUID} / auto defaults${rootfs_mount_options} 0 1" >> /etc/fstab else echo "Warning: couldn't identify target UUID for rootfs, your /etc/fstab might be incomplete." fi @@ -587,8 +595,18 @@ efi_setup() { echo "Mounting $EFI on /boot/efi" mount "$EFI" /boot/efi || return 1 + # if efivarfs kernel module is loaded, but efivars isn't, + # then we need to mount efivarfs for efibootmgr usage + if ! ls /sys/firmware/efi/efivars/* &>/dev/null ; then + echo "Mounting efivarfs on /sys/firmware/efi/efivars" + mount -t efivarfs efivarfs /sys/firmware/efi/efivars + fi + echo "Invoking efibootmgr" efibootmgr || return 1 + + umount /sys/firmware/efi/efivars &>/dev/null || true + } # grub configuration/installation {{{