mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
add progressbar on grub
This commit is contained in:
parent
8fc765963b
commit
ca3fa0a540
1 changed files with 21 additions and 8 deletions
|
@ -857,15 +857,16 @@ _do_grub_bios() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_do_grub_uefi() {
|
_setup_grub_uefi() {
|
||||||
_do_uefi_common || return 1
|
_do_uefi_common || return 1
|
||||||
[[ "${_UEFI_ARCH}" == "X64" ]] && _GRUB_ARCH="x86_64"
|
[[ "${_UEFI_ARCH}" == "X64" ]] && _GRUB_ARCH="x86_64"
|
||||||
[[ "${_UEFI_ARCH}" == "IA32" ]] && _GRUB_ARCH="i386"
|
[[ "${_UEFI_ARCH}" == "IA32" ]] && _GRUB_ARCH="i386"
|
||||||
[[ "${_UEFI_ARCH}" == "AA64" ]] && _GRUB_ARCH="arm64"
|
[[ "${_UEFI_ARCH}" == "AA64" ]] && _GRUB_ARCH="arm64"
|
||||||
_do_grub_common_before
|
_do_grub_common_before
|
||||||
_chroot_mount
|
_chroot_mount
|
||||||
|
_progress "25" "Setting up GRUB(2) UEFI..."
|
||||||
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
||||||
_progress "10" "Setting up GRUB(2) UEFI..."
|
_progress "50" "Setting up GRUB(2) UEFI..."
|
||||||
# install fedora shim
|
# install fedora shim
|
||||||
[[ -d ${_DESTDIR}/${_UEFISYS_MP}/EFI/BOOT ]] || mkdir -p "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT
|
[[ -d ${_DESTDIR}/${_UEFISYS_MP}/EFI/BOOT ]] || mkdir -p "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT
|
||||||
cp -f /usr/share/archboot/bootloader/shim"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/BOOT"${_UEFI_ARCH}".EFI
|
cp -f /usr/share/archboot/bootloader/shim"${_SPEC_UEFI_ARCH}".efi "${_DESTDIR}"/"${_UEFISYS_MP}"/EFI/BOOT/BOOT"${_UEFI_ARCH}".EFI
|
||||||
|
@ -888,15 +889,19 @@ _do_grub_uefi() {
|
||||||
fi
|
fi
|
||||||
_chroot_umount
|
_chroot_umount
|
||||||
_GRUB_UEFI=1
|
_GRUB_UEFI=1
|
||||||
_do_grub_config || return 1
|
_progress "100" "Setting up GRUB(2) UEFI completed."
|
||||||
_GRUB_UEFI=""
|
sleep 2
|
||||||
|
}
|
||||||
|
|
||||||
|
_setup_grub_uefi_sb() {
|
||||||
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
||||||
_progress "50" "Setting up GRUB(2) UEFI..."
|
_progress "25" "Setting GRUB(2) UEFI Secure Boot..."
|
||||||
# generate GRUB with config embeded
|
# generate GRUB with config embeded
|
||||||
#remove existing, else weird things are happening
|
#remove existing, else weird things are happening
|
||||||
[[ -f "${_DESTDIR}/${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" ]] && rm "${_DESTDIR}"/"${_GRUB_PREFIX_DIR}"/grub"${_SPEC_UEFI_ARCH}".efi
|
[[ -f "${_DESTDIR}/${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" ]] && rm "${_DESTDIR}"/"${_GRUB_PREFIX_DIR}"/grub"${_SPEC_UEFI_ARCH}".efi
|
||||||
### Hint: https://src.fedoraproject.org/rpms/grub2/blob/rawhide/f/grub.macros#_407
|
### Hint: https://src.fedoraproject.org/rpms/grub2/blob/rawhide/f/grub.macros#_407
|
||||||
# add -v for verbose
|
# add -v for verbose
|
||||||
|
_progress "50" "Setting GRUB(2) UEFI Secure Boot..."
|
||||||
if [[ "${_RUNNING_ARCH}" == "aarch64" ]]; then
|
if [[ "${_RUNNING_ARCH}" == "aarch64" ]]; then
|
||||||
${_NSPAWN} grub-mkstandalone -d /usr/lib/grub/"${_GRUB_ARCH}"-efi -O "${_GRUB_ARCH}"-efi --sbat=/usr/share/grub/sbat.csv --modules="all_video boot btrfs cat configfile cryptodisk echo efi_gop efifwsetup efinet ext2 f2fs fat font gcry_rijndael gcry_rsa gcry_serpent gcry_sha256 gcry_twofish gcry_whirlpool gfxmenu gfxterm gzio halt hfsplus http iso9660 loadenv loopback linux lvm lsefi lsefimmap luks luks2 mdraid09 mdraid1x minicmd net normal part_apple part_msdos part_gpt password_pbkdf2 pgp png reboot regexp search search_fs_uuid search_fs_file search_label serial sleep syslinuxcfg test tftp video xfs zstd chain tpm" --fonts="ter-u16n" --locales="en@quot" --themes="" -o "${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" "boot/grub/grub.cfg=/${_GRUB_PREFIX_DIR}/${_GRUB_CFG}"
|
${_NSPAWN} grub-mkstandalone -d /usr/lib/grub/"${_GRUB_ARCH}"-efi -O "${_GRUB_ARCH}"-efi --sbat=/usr/share/grub/sbat.csv --modules="all_video boot btrfs cat configfile cryptodisk echo efi_gop efifwsetup efinet ext2 f2fs fat font gcry_rijndael gcry_rsa gcry_serpent gcry_sha256 gcry_twofish gcry_whirlpool gfxmenu gfxterm gzio halt hfsplus http iso9660 loadenv loopback linux lvm lsefi lsefimmap luks luks2 mdraid09 mdraid1x minicmd net normal part_apple part_msdos part_gpt password_pbkdf2 pgp png reboot regexp search search_fs_uuid search_fs_file search_label serial sleep syslinuxcfg test tftp video xfs zstd chain tpm" --fonts="ter-u16n" --locales="en@quot" --themes="" -o "${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" "boot/grub/grub.cfg=/${_GRUB_PREFIX_DIR}/${_GRUB_CFG}"
|
||||||
elif [[ "${_RUNNING_ARCH}" == "x86_64" ]]; then
|
elif [[ "${_RUNNING_ARCH}" == "x86_64" ]]; then
|
||||||
|
@ -917,8 +922,16 @@ _do_grub_uefi() {
|
||||||
#sleep 5
|
#sleep 5
|
||||||
${_NSPAWN} grub-mkstandalone -d /usr/lib/grub/"${_GRUB_ARCH}"-efi -O "${_GRUB_ARCH}"-efi --sbat=/usr/share/grub/sbat.csv --modules="all_video boot btrfs cat configfile cryptodisk echo efi_gop efi_uga efifwsetup efinet ext2 f2fs fat font gcry_rijndael gcry_rsa gcry_serpent gcry_sha256 gcry_twofish gcry_whirlpool gfxmenu gfxterm gzio halt hfsplus http iso9660 loadenv loopback linux lvm lsefi lsefimmap luks luks2 mdraid09 mdraid1x minicmd net normal part_apple part_msdos part_gpt password_pbkdf2 pgp png reboot regexp search search_fs_uuid search_fs_file search_label serial sleep syslinuxcfg test tftp video xfs zstd backtrace chain tpm usb usbserial_common usbserial_pl2303 usbserial_ftdi usbserial_usbdebug keylayouts at_keyboard" --fonts="ter-u16n" --locales="en@quot" --themes="" -o "${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" "boot/grub/grub.cfg=/${_GRUB_PREFIX_DIR}/${_GRUB_CFG}"
|
${_NSPAWN} grub-mkstandalone -d /usr/lib/grub/"${_GRUB_ARCH}"-efi -O "${_GRUB_ARCH}"-efi --sbat=/usr/share/grub/sbat.csv --modules="all_video boot btrfs cat configfile cryptodisk echo efi_gop efi_uga efifwsetup efinet ext2 f2fs fat font gcry_rijndael gcry_rsa gcry_serpent gcry_sha256 gcry_twofish gcry_whirlpool gfxmenu gfxterm gzio halt hfsplus http iso9660 loadenv loopback linux lvm lsefi lsefimmap luks luks2 mdraid09 mdraid1x minicmd net normal part_apple part_msdos part_gpt password_pbkdf2 pgp png reboot regexp search search_fs_uuid search_fs_file search_label serial sleep syslinuxcfg test tftp video xfs zstd backtrace chain tpm usb usbserial_common usbserial_pl2303 usbserial_ftdi usbserial_usbdebug keylayouts at_keyboard" --fonts="ter-u16n" --locales="en@quot" --themes="" -o "${_GRUB_PREFIX_DIR}/grub${_SPEC_UEFI_ARCH}.efi" "boot/grub/grub.cfg=/${_GRUB_PREFIX_DIR}/${_GRUB_CFG}"
|
||||||
fi
|
fi
|
||||||
|
_progress "100" "Setting up GRUB(2) UEFI Secure Boot completed."
|
||||||
|
sleep 2
|
||||||
fi
|
fi
|
||||||
_progress "98" "Setting up GRUB(2) UEFI..."
|
}
|
||||||
|
|
||||||
|
_do_grub_uefi() {
|
||||||
|
_setup_grub_uefi | _dialog --title " Logging to ${_LOG} " --gauge "Setting up GRUB(2) UEFI..." 6 75 0
|
||||||
|
_do_grub_config || return 1
|
||||||
|
_GRUB_UEFI=""
|
||||||
|
_setup_grub_uefi_sb | _dialog --title " Logging to ${_LOG} " --gauge "Setting up GRUB(2) UEFI Secure Boot..." 6 75 0
|
||||||
if [[ -e "${_DESTDIR}/${_UEFISYS_MP}/EFI/grub/grub${_SPEC_UEFI_ARCH}.efi" && -z "${_UEFI_SECURE_BOOT}" && -e "${_DESTDIR}/boot/grub/${_GRUB_ARCH}-efi/core.efi" ]]; then
|
if [[ -e "${_DESTDIR}/${_UEFISYS_MP}/EFI/grub/grub${_SPEC_UEFI_ARCH}.efi" && -z "${_UEFI_SECURE_BOOT}" && -e "${_DESTDIR}/boot/grub/${_GRUB_ARCH}-efi/core.efi" ]]; then
|
||||||
_BOOTMGR_LABEL="GRUB"
|
_BOOTMGR_LABEL="GRUB"
|
||||||
_BOOTMGR_LOADER_PATH="/EFI/grub/grub${_SPEC_UEFI_ARCH}.efi"
|
_BOOTMGR_LOADER_PATH="/EFI/grub/grub${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
@ -958,7 +971,7 @@ _install_bootloader_uefi() {
|
||||||
# https://github.com/systemd/systemd/issues/27837
|
# https://github.com/systemd/systemd/issues/27837
|
||||||
# https://sourceforge.net/p/gnu-efi/bugs/37/
|
# https://sourceforge.net/p/gnu-efi/bugs/37/
|
||||||
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
if [[ -n "${_UEFI_SECURE_BOOT}" ]]; then
|
||||||
_do_grub_uefi | _dialog --title " Logging to ${_LOG} " --gauge "Setting up GRUB(2) UEFI. This needs some time..." 6 75 0
|
_do_grub_uefi
|
||||||
else
|
else
|
||||||
_dialog --title " ${_UEFI_ARCH} UEFI Bootloader " --menu "" 8 40 2 \
|
_dialog --title " ${_UEFI_ARCH} UEFI Bootloader " --menu "" 8 40 2 \
|
||||||
"${_EFISTUB_MENU_LABEL}" "${_EFISTUB_MENU_TEXT}" \
|
"${_EFISTUB_MENU_LABEL}" "${_EFISTUB_MENU_TEXT}" \
|
||||||
|
@ -967,7 +980,7 @@ _install_bootloader_uefi() {
|
||||||
"EFISTUB")
|
"EFISTUB")
|
||||||
_do_efistub_uefi ;;
|
_do_efistub_uefi ;;
|
||||||
"GRUB_UEFI")
|
"GRUB_UEFI")
|
||||||
_do_grub_uefi | _dialog --title " Logging to ${_LOG} " --gauge "Setting up GRUB(2) UEFI. This needs some time..." 6 75 0 ;;
|
_do_grub_uefi ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue