# define chroot mirror {{{
chrootmirror() {
- if [ -n "$KEEP_SRC_LIST" ] ; then
- echo "KEEP_SRC_LIST has been set, skipping chrootmirror stage."
+ if [ "$KEEP_SRC_LIST" = "yes" ] ; then
+ echo "KEEP_SRC_LIST has been enabled, skipping chrootmirror stage."
return
fi
# remove local chroot mirror {{{
remove_chrootmirror() {
- if [ -n "$KEEP_SRC_LIST" ] ; then
- echo "KEEP_SRC_LIST has been set, skipping remove_chrootmirror stage."
+ if [ "$KEEP_SRC_LIST" = "yes" ] ; then
+ echo "KEEP_SRC_LIST has been enabled, skipping remove_chrootmirror stage."
return
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 {{{