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
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 {{{