mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
add big UEFI changes
This commit is contained in:
parent
a03de7db82
commit
f8fd851fc0
14 changed files with 174 additions and 157 deletions
|
@ -13,7 +13,7 @@ arch_acpi arch_motd arch_memtest arch_intel_wireless \
|
||||||
arch_linux_firmware arch_hwdetect ide pata scsi sata memdisk arch_cdrom \
|
arch_linux_firmware arch_hwdetect ide pata scsi sata memdisk arch_cdrom \
|
||||||
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw arch_virtio dmraid \
|
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw arch_virtio dmraid \
|
||||||
arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs arch_filesystems arch_remote \
|
arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs arch_filesystems arch_remote \
|
||||||
arch_cpufreq arch_links arch_kexec arch_ppp arch_pppoe arch_xl2tpd arch_grub arch_efibootmgr \
|
arch_cpufreq arch_links arch_kexec arch_ppp arch_pppoe arch_xl2tpd arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr \
|
||||||
arch_lilo arch_syslinux arch_iptables arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient \
|
arch_lilo arch_syslinux arch_iptables arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient \
|
||||||
arch_smartmontools arch_licenses arch_wireless arch_wireless_staging_lts arch_linux_atm arch_netcfg arch_fsarchiver arch_addons \
|
arch_smartmontools arch_licenses arch_wireless arch_wireless_staging_lts arch_linux_atm arch_netcfg arch_fsarchiver arch_addons \
|
||||||
arch_vim arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_weechat arch_nmap arch_tcpdump \
|
arch_vim arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_weechat arch_nmap arch_tcpdump \
|
||||||
|
|
|
@ -13,7 +13,7 @@ arch_acpi arch_motd arch_memtest arch_linux_firmware arch_intel_wireless \
|
||||||
arch_hwdetect pata scsi sata memdisk arch_cdrom arch_pcspkr arch_net arch_isdn pcmcia \
|
arch_hwdetect pata scsi sata memdisk arch_cdrom arch_pcspkr arch_net arch_isdn pcmcia \
|
||||||
arch_sound usb usbinput arch_fw arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 \
|
arch_sound usb usbinput arch_fw arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 \
|
||||||
arch_encrypt btrfs arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
arch_encrypt btrfs arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
||||||
arch_pppoe arch_lilo arch_grub arch_efibootmgr arch_syslinux arch_iptables arch_pciutils arch_usbutils \
|
arch_pppoe arch_lilo arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr arch_syslinux arch_iptables arch_pciutils arch_usbutils \
|
||||||
arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless arch_wireless_staging \
|
arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless arch_wireless_staging \
|
||||||
arch_linux_atm arch_netcfg arch_fsarchiver arch_addons arch_vim arch_wipe arch_testdisk arch_ddrescue \
|
arch_linux_atm arch_netcfg arch_fsarchiver arch_addons arch_vim arch_wipe arch_testdisk arch_ddrescue \
|
||||||
arch_chntpw arch_weechat arch_nmap arch_tcpdump arch_speedtouch arch_openconnect arch_dnsmasq arch_platform \
|
arch_chntpw arch_weechat arch_nmap arch_tcpdump arch_speedtouch arch_openconnect arch_dnsmasq arch_platform \
|
||||||
|
|
|
@ -14,7 +14,7 @@ arch_linux_firmware arch_intel_wireless arch_hwdetect pata scsi sata memdisk arc
|
||||||
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
||||||
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
||||||
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd arch_pppoe \
|
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd arch_pppoe \
|
||||||
arch_lilo arch_grub arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
arch_lilo arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
||||||
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses \
|
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses \
|
||||||
arch_wireless arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_addons \
|
arch_wireless arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_addons \
|
||||||
arch_vim arch_platform arch_chntpw arch_mmc arch_pxelinux arch_dmidecode arch_wiki_lite \
|
arch_vim arch_platform arch_chntpw arch_mmc arch_pxelinux arch_dmidecode arch_wiki_lite \
|
||||||
|
|
|
@ -14,7 +14,7 @@ arch_linux_firmware arch_intel_wireless arch_hwdetect pata scsi sata memdisk arc
|
||||||
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
||||||
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt \
|
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt \
|
||||||
btrfs arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
btrfs arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
||||||
arch_pppoe arch_lilo arch_grub arch_efibootmgr arch_syslinux arch_iptables \
|
arch_pppoe arch_lilo arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr arch_syslinux arch_iptables \
|
||||||
arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools \
|
arch_pciutils arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools \
|
||||||
arch_licenses arch_wireless arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver \
|
arch_licenses arch_wireless arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver \
|
||||||
arch_addons arch_vim arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_mmc \
|
arch_addons arch_vim arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_mmc \
|
||||||
|
|
|
@ -14,7 +14,7 @@ arch_linux_firmware arch_intel_wireless arch_hwdetect pata scsi sata memdisk \
|
||||||
arch_cdrom arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
arch_cdrom arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
||||||
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
||||||
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd arch_pppoe \
|
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd arch_pppoe \
|
||||||
arch_lilo arch_grub arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
arch_lilo arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
||||||
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless \
|
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless \
|
||||||
arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_addons arch_vim arch_pxelinux \
|
arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_addons arch_vim arch_pxelinux \
|
||||||
arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_platform arch_mmc arch_dmidecode \
|
arch_wipe arch_testdisk arch_ddrescue arch_chntpw arch_platform arch_mmc arch_dmidecode \
|
||||||
|
|
|
@ -14,7 +14,7 @@ arch_linux_firmware arch_intel_wireless arch_hwdetect pata scsi sata memdisk arc
|
||||||
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
arch_pcspkr arch_net arch_isdn pcmcia arch_sound usb usbinput arch_fw \
|
||||||
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
arch_virtio dmraid arch_advanced_root arch_devicemapper arch_mdadm arch_lvm2 arch_encrypt btrfs \
|
||||||
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
arch_filesystems arch_remote arch_cpufreq arch_links arch_kexec arch_ppp arch_xl2tpd \
|
||||||
arch_pppoe arch_lilo arch_grub arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
arch_pppoe arch_lilo arch_grub arch_refind arch_gummiboot arch_efilinux arch_efibootmgr arch_syslinux arch_iptables arch_pciutils \
|
||||||
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless \
|
arch_usbutils arch_openvpn arch_vpnc arch_pptpclient arch_smartmontools arch_licenses arch_wireless \
|
||||||
arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_vim arch_addons arch_wipe \
|
arch_wireless_staging arch_linux_atm arch_netcfg arch_fsarchiver arch_vim arch_addons arch_wipe \
|
||||||
arch_testdisk arch_ddrescue arch_chntpw arch_platform arch_mmc arch_dmidecide arch_wiki_lite \
|
arch_testdisk arch_ddrescue arch_chntpw arch_platform arch_mmc arch_dmidecide arch_wiki_lite \
|
||||||
|
|
|
@ -218,20 +218,11 @@ _download_uefi_shell_tianocore() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_download_uefi_refind_bin_sourceforge() {
|
|
||||||
|
|
||||||
mkdir -p "${ALLINONE}/packages/"
|
|
||||||
|
|
||||||
## Download latest rEFInd bin archive from sourceforge
|
|
||||||
curl --verbose -f -C - --ftp-pasv --retry 3 --retry-delay 3 -o "${ALLINONE}/packages/refind-bin.zip" -L "http://sourceforge.net/projects/refind/files/latest/download"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
_prepare_uefi_gummiboot_USB_files() {
|
_prepare_uefi_gummiboot_USB_files() {
|
||||||
|
|
||||||
mkdir -p "${ALLINONE}/EFI/boot"
|
mkdir -p "${ALLINONE}/EFI/boot"
|
||||||
cp -f "/boot/efi/EFI/arch/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${ALLINONE}/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
cp -f "/usr/lib/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${ALLINONE}/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
cp -f "/boot/efi/EFI/arch/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi" "${ALLINONE}/EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi"
|
cp -f "/usr/lib/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi" "${ALLINONE}/EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
|
||||||
mkdir -p "${ALLINONE}/loader/entries/"
|
mkdir -p "${ALLINONE}/loader/entries/"
|
||||||
|
|
||||||
|
@ -241,25 +232,25 @@ default archboot-${_UEFI_ARCH}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat << EOF > "${ALLINONE}/loader/entries/archboot-${_UEFI_ARCH}.conf"
|
cat << EOF > "${ALLINONE}/loader/entries/archboot-${_UEFI_ARCH}.conf"
|
||||||
title Arch Linux (${_UEFI_ARCH}) archboot
|
title Arch Linux ${_UEFI_ARCH} archboot
|
||||||
linux /boot/vmlinuz_${_UEFI_ARCH}
|
linux /boot/vmlinuz_${_UEFI_ARCH}
|
||||||
initrd /boot/initramfs_${_UEFI_ARCH}.img
|
initrd /boot/initramfs_${_UEFI_ARCH}.img
|
||||||
options gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH}
|
options gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat << EOF > "${ALLINONE}/loader/entries/archboot-${_UEFI_ARCH}-lts.conf"
|
cat << EOF > "${ALLINONE}/loader/entries/archboot-${_UEFI_ARCH}-lts.conf"
|
||||||
title Arch Linux LTS (${_UEFI_ARCH}) archboot
|
title Arch Linux LTS ${_UEFI_ARCH} archboot
|
||||||
efi /EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi
|
efi /EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options -f \\boot\\vmlinuz_x86_64_lts gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH} initrd=\\boot\\initramfs_${_UEFI_ARCH}.img
|
options -f \\boot\\vmlinuz_x86_64_lts gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH} initrd=\\boot\\initramfs_${_UEFI_ARCH}.img
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat << EOF > "${ALLINONE}/loader/entries/uefi-shell-${_UEFI_ARCH}-v2.conf"
|
cat << EOF > "${ALLINONE}/loader/entries/uefi-shell-${_UEFI_ARCH}-v2.conf"
|
||||||
title UEFI ${_UEFI_ARCH} Shell v2 - For Spec. Ver. >=2.3 systems
|
title UEFI ${_UEFI_ARCH} Shell v2
|
||||||
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v2.efi
|
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v2.efi
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat << EOF > "${ALLINONE}/loader/entries/uefi-shell-${_UEFI_ARCH}-v1.conf"
|
cat << EOF > "${ALLINONE}/loader/entries/uefi-shell-${_UEFI_ARCH}-v1.conf"
|
||||||
title UEFI ${_UEFI_ARCH} Shell v1 - For Spec. Ver. <2.3 systems
|
title UEFI ${_UEFI_ARCH} Shell v1
|
||||||
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v1.efi
|
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v1.efi
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -502,11 +493,9 @@ _prepare_kernel_initramfs_files
|
||||||
|
|
||||||
_download_uefi_shell_tianocore
|
_download_uefi_shell_tianocore
|
||||||
|
|
||||||
# _download_uefi_refind_bin_sourceforge
|
|
||||||
|
|
||||||
_prepare_uefi_gummiboot_USB_files
|
_prepare_uefi_gummiboot_USB_files
|
||||||
|
|
||||||
_prepare_grub_uefi_CD_files
|
# _prepare_grub_uefi_CD_files
|
||||||
|
|
||||||
unset _UEFI_ARCH
|
unset _UEFI_ARCH
|
||||||
unset _SPEC_UEFI_ARCH
|
unset _SPEC_UEFI_ARCH
|
||||||
|
@ -519,7 +508,7 @@ sed -i -e "s/@@DATE@@/$(date)/g" -e "s/@@KERNEL@@/$KERNEL/g" -e "s/@@LTS_KERNEL
|
||||||
|
|
||||||
cd "${WD}/"
|
cd "${WD}/"
|
||||||
|
|
||||||
## Generate the BIOS+UEFI+ISOHYBRID ISO image using xorriso (extra/libisoburn package) in mkisofs emulation mode
|
## Generate the BIOS+ISOHYBRID CD image using xorriso (extra/libisoburn package) in mkisofs emulation mode
|
||||||
echo "Generating ALLINONE hybrid ISO ..."
|
echo "Generating ALLINONE hybrid ISO ..."
|
||||||
xorriso -as mkisofs \
|
xorriso -as mkisofs \
|
||||||
-iso-level 3 -rock -joliet \
|
-iso-level 3 -rock -joliet \
|
||||||
|
@ -531,10 +520,12 @@ xorriso -as mkisofs \
|
||||||
-eltorito-boot boot/syslinux/isolinux.bin \
|
-eltorito-boot boot/syslinux/isolinux.bin \
|
||||||
-eltorito-catalog boot/syslinux/boot.cat \
|
-eltorito-catalog boot/syslinux/boot.cat \
|
||||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
-eltorito-alt-boot --efi-boot boot/grub/grub_uefi_x86_64.bin -no-emul-boot \
|
|
||||||
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
|
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
|
||||||
-output "${IMAGENAME}.iso" "${ALLINONE}/" &> "/tmp/archboot_allinone_xorriso.log"
|
-output "${IMAGENAME}.iso" "${ALLINONE}/" &> "/tmp/archboot_allinone_xorriso.log"
|
||||||
|
|
||||||
|
## Add below line to above xorriso if UEFI CD support is required
|
||||||
|
# -eltorito-alt-boot --efi-boot boot/grub/grub_uefi_x86_64.bin -no-emul-boot \
|
||||||
|
|
||||||
## cleanup isolinux and migrate to syslinux
|
## cleanup isolinux and migrate to syslinux
|
||||||
# echo "Generating ALLINONE IMG ..."
|
# echo "Generating ALLINONE IMG ..."
|
||||||
# rm -f "${ALLINONE}/boot/syslinux/isolinux.bin"
|
# rm -f "${ALLINONE}/boot/syslinux/isolinux.bin"
|
||||||
|
@ -545,12 +536,12 @@ xorriso -as mkisofs \
|
||||||
# "${USBIMAGE_HELPER}" "${ALLINONE}" "${IMAGENAME}.img" > /dev/null 2>&1
|
# "${USBIMAGE_HELPER}" "${ALLINONE}" "${IMAGENAME}.img" > /dev/null 2>&1
|
||||||
|
|
||||||
if [[ -e "${WD}/${IMAGENAME_OLD}-dual.iso" ]] && [[ ! -e "${WD}/${IMAGENAME_OLD}-x86_64.iso" ]]; then
|
if [[ -e "${WD}/${IMAGENAME_OLD}-dual.iso" ]] && [[ ! -e "${WD}/${IMAGENAME_OLD}-x86_64.iso" ]]; then
|
||||||
_REMOVE_i686="1" _REMOVE_x86_64="0" _UPDATE_SETUP="0" _UPDATE_UEFI_SHELL="0" _UPDATE_UEFI_REFIND_BIN="0" _UPDATE_UEFI_GUMMIBOOT="0" _UPDATE_SYSLINUX="0" _UPDATE_SYSLINUX_CONFIG="1" _UPDATE_GRUB_UEFI="0" _UPDATE_GRUB_UEFI_CONFIG="1" "${UPDATEISO_HELPER}" "${WD}/${IMAGENAME_OLD}-dual.iso"
|
_REMOVE_i686="1" _REMOVE_x86_64="0" _UPDATE_SETUP="0" _UPDATE_UEFI_SHELL="0" _UPDATE_UEFI_GUMMIBOOT="0" _UPDATE_SYSLINUX="0" _UPDATE_SYSLINUX_CONFIG="1" "${UPDATEISO_HELPER}" "${WD}/${IMAGENAME_OLD}-dual.iso"
|
||||||
mv "${WD}/${IMAGENAME_OLD}-dual-updated-x86_64.iso" "${WD}/${IMAGENAME_OLD}-x86_64.iso"
|
mv "${WD}/${IMAGENAME_OLD}-dual-updated-x86_64.iso" "${WD}/${IMAGENAME_OLD}-x86_64.iso"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -e "${WD}/${IMAGENAME_OLD}-dual.iso" ]] && [[ ! -e "${WD}/${IMAGENAME_OLD}-i686.iso" ]]; then
|
if [[ -e "${WD}/${IMAGENAME_OLD}-dual.iso" ]] && [[ ! -e "${WD}/${IMAGENAME_OLD}-i686.iso" ]]; then
|
||||||
_REMOVE_i686="0" _REMOVE_x86_64="1" _UPDATE_SETUP="0" _UPDATE_UEFI_SHELL="0" _UPDATE_UEFI_REFIND_BIN="0" _UPDATE_UEFI_GUMMIBOOT="0" _UPDATE_SYSLINUX="0" _UPDATE_SYSLINUX_CONFIG="1" _UPDATE_GRUB_UEFI="0" _UPDATE_GRUB_UEFI_CONFIG="1" "${UPDATEISO_HELPER}" "${WD}/${IMAGENAME_OLD}-dual.iso"
|
_REMOVE_i686="0" _REMOVE_x86_64="1" _UPDATE_SETUP="0" _UPDATE_UEFI_SHELL="0" _UPDATE_UEFI_GUMMIBOOT="0" _UPDATE_SYSLINUX="0" _UPDATE_SYSLINUX_CONFIG="1" "${UPDATEISO_HELPER}" "${WD}/${IMAGENAME_OLD}-dual.iso"
|
||||||
mv "${WD}/${IMAGENAME_OLD}-dual-updated-i686.iso" "${WD}/${IMAGENAME_OLD}-i686.iso"
|
mv "${WD}/${IMAGENAME_OLD}-dual-updated-i686.iso" "${WD}/${IMAGENAME_OLD}-i686.iso"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -560,7 +551,7 @@ rm -f "${WD}/sha256sums.txt" || true
|
||||||
sha256sum *.iso *.img > "${WD}/sha256sums.txt"
|
sha256sum *.iso *.img > "${WD}/sha256sums.txt"
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
rm -rf "${grub_uefi_mp}"
|
# rm -rf "${grub_uefi_mp}"
|
||||||
rm -rf "${CORE}"
|
rm -rf "${CORE}"
|
||||||
rm -rf "${CORE64}"
|
rm -rf "${CORE64}"
|
||||||
rm -rf "${CORE_LTS}"
|
rm -rf "${CORE_LTS}"
|
||||||
|
|
|
@ -7,13 +7,12 @@
|
||||||
|
|
||||||
[[ -z "${_UPDATE_SETUP}" ]] && _UPDATE_SETUP="1"
|
[[ -z "${_UPDATE_SETUP}" ]] && _UPDATE_SETUP="1"
|
||||||
[[ -z "${_UPDATE_UEFI_SHELL}" ]] && _UPDATE_UEFI_SHELL="1"
|
[[ -z "${_UPDATE_UEFI_SHELL}" ]] && _UPDATE_UEFI_SHELL="1"
|
||||||
[[ -z "${_UPDATE_UEFI_REFIND_BIN}" ]] && _UPDATE_UEFI_REFIND_BIN="1"
|
|
||||||
[[ -z "${_UPDATE_UEFI_GUMMIBOOT}" ]] && _UPDATE_UEFI_GUMMIBOOT="1"
|
[[ -z "${_UPDATE_UEFI_GUMMIBOOT}" ]] && _UPDATE_UEFI_GUMMIBOOT="1"
|
||||||
|
|
||||||
[[ -z "${_UPDATE_SYSLINUX}" ]] && _UPDATE_SYSLINUX="1"
|
[[ -z "${_UPDATE_SYSLINUX}" ]] && _UPDATE_SYSLINUX="1"
|
||||||
[[ -z "${_UPDATE_SYSLINUX_CONFIG}" ]] && _UPDATE_SYSLINUX_CONFIG="1"
|
[[ -z "${_UPDATE_SYSLINUX_CONFIG}" ]] && _UPDATE_SYSLINUX_CONFIG="1"
|
||||||
[[ -z "${_UPDATE_GRUB_UEFI}" ]] && _UPDATE_GRUB_UEFI="1"
|
# [[ -z "${_UPDATE_GRUB_UEFI}" ]] && _UPDATE_GRUB_UEFI="1"
|
||||||
[[ -z "${_UPDATE_GRUB_UEFI_CONFIG}" ]] && _UPDATE_GRUB_UEFI_CONFIG="1"
|
# [[ -z "${_UPDATE_GRUB_UEFI_CONFIG}" ]] && _UPDATE_GRUB_UEFI_CONFIG="1"
|
||||||
|
|
||||||
[[ "${_UPDATE_SYSLINUX}" == "1" ]] && _UPDATE_SYSLINUX_CONFIG="1"
|
[[ "${_UPDATE_SYSLINUX}" == "1" ]] && _UPDATE_SYSLINUX_CONFIG="1"
|
||||||
[[ "${_UPDATE_GRUB_UEFI}" == "1" ]] && _UPDATE_GRUB_UEFI_CONFIG="1"
|
[[ "${_UPDATE_GRUB_UEFI}" == "1" ]] && _UPDATE_GRUB_UEFI_CONFIG="1"
|
||||||
|
@ -98,20 +97,6 @@ echo
|
||||||
[[ -e "${_ARCHBOOT_ISO_WD}/splash.png" ]] && cp -f "${_ARCHBOOT_ISO_WD}/splash.png" "${_ARCHBOOT_ISO_EXT_DIR}/boot/syslinux/splash.png"
|
[[ -e "${_ARCHBOOT_ISO_WD}/splash.png" ]] && cp -f "${_ARCHBOOT_ISO_WD}/splash.png" "${_ARCHBOOT_ISO_EXT_DIR}/boot/syslinux/splash.png"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
_rename_old_files() {
|
|
||||||
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{vmlts,vmlinuz_i686_lts} || true
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{vmlinuz,vmlinuz_i686} || true
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{initrd.img,initramfs_i686.img} || true
|
|
||||||
echo
|
|
||||||
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{vm64lts,vmlinuz_x86_64_lts} || true
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{vm64,vmlinuz_x86_64} || true
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/boot"/{initrd64.img,initramfs_x86_64.img} || true
|
|
||||||
echo
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
_update_syslinux_iso_files() {
|
_update_syslinux_iso_files() {
|
||||||
|
|
||||||
rm -f "${_ARCHBOOT_ISO_EXT_DIR}/boot/syslinux"/*.{com,bin,c32} || true
|
rm -f "${_ARCHBOOT_ISO_EXT_DIR}/boot/syslinux"/*.{com,bin,c32} || true
|
||||||
|
@ -270,6 +255,7 @@ _download_uefi_shell_tianocore() {
|
||||||
|
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_v2.efi" || true
|
mv "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_v2.efi" || true
|
||||||
mv "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_old.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_v1.efi" || true
|
mv "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_old.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/tools/shellx64_v1.efi" || true
|
||||||
|
|
||||||
rm -rf "${_ARCHBOOT_ISO_EXT_DIR}/EFI/shell/" || true
|
rm -rf "${_ARCHBOOT_ISO_EXT_DIR}/EFI/shell/" || true
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
@ -317,18 +303,6 @@ _download_uefi_shell_tianocore() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_update_uefi_refind_bin_sourceforge() {
|
|
||||||
|
|
||||||
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}/packages/" || true
|
|
||||||
|
|
||||||
rm -f "${_ARCHBOOT_ISO_EXT_DIR}/packages/refind-bin.zip" || true
|
|
||||||
echo
|
|
||||||
|
|
||||||
## Download latest rEFInd bin archive from sourceforge
|
|
||||||
curl --verbose -f -C - --ftp-pasv --retry 3 --retry-delay 3 -o "${_ARCHBOOT_ISO_EXT_DIR}/packages/refind-bin.zip" -L "http://sourceforge.net/projects/refind/files/latest/download"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
_update_uefi_gummiboot_USB_files() {
|
_update_uefi_gummiboot_USB_files() {
|
||||||
|
|
||||||
rm -rf "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/" || true
|
rm -rf "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/" || true
|
||||||
|
@ -336,8 +310,8 @@ _update_uefi_gummiboot_USB_files() {
|
||||||
echo
|
echo
|
||||||
|
|
||||||
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot"
|
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot"
|
||||||
cp -f "/boot/efi/EFI/arch/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
cp -f "/usr/lib/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
cp -f "/boot/efi/EFI/arch/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi"
|
cp -f "/usr/lib/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi" "${_ARCHBOOT_ISO_EXT_DIR}/EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/"
|
mkdir -p "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/"
|
||||||
|
@ -350,7 +324,7 @@ EOF
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/archboot-${_UEFI_ARCH}.conf"
|
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/archboot-${_UEFI_ARCH}.conf"
|
||||||
title Arch Linux (${_UEFI_ARCH}) archboot
|
title Arch Linux ${_UEFI_ARCH} archboot
|
||||||
linux /boot/vmlinuz_${_UEFI_ARCH}
|
linux /boot/vmlinuz_${_UEFI_ARCH}
|
||||||
initrd /boot/initramfs_${_UEFI_ARCH}.img
|
initrd /boot/initramfs_${_UEFI_ARCH}.img
|
||||||
options gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH}
|
options gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH}
|
||||||
|
@ -358,20 +332,20 @@ EOF
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/archboot-${_UEFI_ARCH}-lts.conf"
|
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/archboot-${_UEFI_ARCH}-lts.conf"
|
||||||
title Arch Linux LTS (${_UEFI_ARCH}) archboot
|
title Arch Linux LTS ${_UEFI_ARCH} archboot
|
||||||
efi /EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi
|
efi /EFI/boot/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options -f \\boot\\vmlinuz_x86_64_lts gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH} initrd=\\boot\\initramfs_${_UEFI_ARCH}.img
|
options -f \\boot\\vmlinuz_x86_64_lts gpt loglevel=7 add_efi_memmap none=UEFI_ARCH_${_UEFI_ARCH} initrd=\\boot\\initramfs_${_UEFI_ARCH}.img
|
||||||
EOF
|
EOF
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/uefi-shell-${_UEFI_ARCH}-v2.conf"
|
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/uefi-shell-${_UEFI_ARCH}-v2.conf"
|
||||||
title UEFI ${_UEFI_ARCH} Shell v2 - For Spec. Ver. >=2.3 systems
|
title UEFI ${_UEFI_ARCH} Shell v2
|
||||||
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v2.efi
|
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v2.efi
|
||||||
EOF
|
EOF
|
||||||
echo
|
echo
|
||||||
|
|
||||||
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/uefi-shell-${_UEFI_ARCH}-v1.conf"
|
cat << EOF > "${_ARCHBOOT_ISO_EXT_DIR}/loader/entries/uefi-shell-${_UEFI_ARCH}-v1.conf"
|
||||||
title UEFI ${_UEFI_ARCH} Shell v1 - For Spec. Ver. <2.3 systems
|
title UEFI ${_UEFI_ARCH} Shell v1
|
||||||
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v1.efi
|
efi /EFI/tools/shell${_SPEC_UEFI_ARCH}_v1.efi
|
||||||
EOF
|
EOF
|
||||||
echo
|
echo
|
||||||
|
@ -725,8 +699,6 @@ _download_pkgs() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_rename_old_files
|
|
||||||
|
|
||||||
[[ "${_REMOVE_i686}" == "1" ]] && _remove_i686_iso_files
|
[[ "${_REMOVE_i686}" == "1" ]] && _remove_i686_iso_files
|
||||||
|
|
||||||
[[ "${_REMOVE_x86_64}" == "1" ]] && _remove_x86_64_iso_files
|
[[ "${_REMOVE_x86_64}" == "1" ]] && _remove_x86_64_iso_files
|
||||||
|
@ -756,21 +728,19 @@ fi
|
||||||
|
|
||||||
[[ "${_UPDATE_UEFI_SHELL}" == "1" ]] && _download_uefi_shell_tianocore
|
[[ "${_UPDATE_UEFI_SHELL}" == "1" ]] && _download_uefi_shell_tianocore
|
||||||
|
|
||||||
# [[ "${_UPDATE_UEFI_REFIND_BIN}" == "1" ]] && _update_uefi_refind_bin_sourceforge
|
|
||||||
|
|
||||||
[[ "${_UPDATE_UEFI_GUMMIBOOT}" == "1" ]] && _update_uefi_gummiboot_USB_files
|
[[ "${_UPDATE_UEFI_GUMMIBOOT}" == "1" ]] && _update_uefi_gummiboot_USB_files
|
||||||
|
|
||||||
[[ "${_UPDATE_SYSLINUX}" == "1" ]] && _update_syslinux_iso_files
|
[[ "${_UPDATE_SYSLINUX}" == "1" ]] && _update_syslinux_iso_files
|
||||||
|
|
||||||
[[ "${_UPDATE_SYSLINUX_CONFIG}" == "1" ]] && _update_syslinux_iso_config
|
[[ "${_UPDATE_SYSLINUX_CONFIG}" == "1" ]] && _update_syslinux_iso_config
|
||||||
|
|
||||||
[[ "${_UPDATE_GRUB_UEFI}" == "1" ]] && _update_grub_uefi_CD_files
|
# [[ "${_UPDATE_GRUB_UEFI}" == "1" ]] && _update_grub_uefi_CD_files
|
||||||
|
|
||||||
[[ "${_UPDATE_GRUB_UEFI_CONFIG}" == "1" ]] && _update_grub_uefi_CD_config
|
# [[ "${_UPDATE_GRUB_UEFI_CONFIG}" == "1" ]] && _update_grub_uefi_CD_config
|
||||||
|
|
||||||
cd "${_ARCHBOOT_ISO_WD}/"
|
cd "${_ARCHBOOT_ISO_WD}/"
|
||||||
|
|
||||||
## Generate the BIOS+UEFI+ISOHYBRID ISO image using xorriso (extra/libisoburn package) in mkisofs emulation mode
|
## Generate the BIOS+ISOHYBRID CD image using xorriso (extra/libisoburn package) in mkisofs emulation mode
|
||||||
echo "Generating the modified ISO ..."
|
echo "Generating the modified ISO ..."
|
||||||
xorriso -as mkisofs \
|
xorriso -as mkisofs \
|
||||||
-iso-level 3 -rock -joliet \
|
-iso-level 3 -rock -joliet \
|
||||||
|
@ -782,11 +752,13 @@ xorriso -as mkisofs \
|
||||||
-eltorito-boot boot/syslinux/isolinux.bin \
|
-eltorito-boot boot/syslinux/isolinux.bin \
|
||||||
-eltorito-catalog boot/syslinux/boot.cat \
|
-eltorito-catalog boot/syslinux/boot.cat \
|
||||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
-eltorito-alt-boot --efi-boot boot/grub/grub_uefi_x86_64.bin -no-emul-boot \
|
|
||||||
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
|
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
|
||||||
-output "${_ARCHBOOT_ISO_UPDATED_PATH}" "${_ARCHBOOT_ISO_EXT_DIR}/" &> "/tmp/archboot_update_xorriso.log"
|
-output "${_ARCHBOOT_ISO_UPDATED_PATH}" "${_ARCHBOOT_ISO_EXT_DIR}/" &> "/tmp/archboot_update_xorriso.log"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
## Add below line to above xorriso if UEFI CD support is required
|
||||||
|
# -eltorito-alt-boot --efi-boot boot/grub/grub_uefi_x86_64.bin -no-emul-boot \
|
||||||
|
|
||||||
set +x
|
set +x
|
||||||
|
|
||||||
if [[ -e "${_ARCHBOOT_ISO_UPDATED_PATH}" ]]; then
|
if [[ -e "${_ARCHBOOT_ISO_UPDATED_PATH}" ]]; then
|
||||||
|
@ -813,8 +785,8 @@ unset _UPDATE_UEFI_REFIND_BIN
|
||||||
unset _UPDATE_UEFI_GUMMIBOOT
|
unset _UPDATE_UEFI_GUMMIBOOT
|
||||||
unset _UPDATE_SYSLINUX
|
unset _UPDATE_SYSLINUX
|
||||||
unset _UPDATE_SYSLINUX_CONFIG
|
unset _UPDATE_SYSLINUX_CONFIG
|
||||||
unset _UPDATE_GRUB_UEFI
|
# unset _UPDATE_GRUB_UEFI
|
||||||
unset _UPDATE_GRUB_UEFI_CONFIG
|
# unset _UPDATE_GRUB_UEFI_CONFIG
|
||||||
unset _ARCHBOOT_ISO_OLD_PATH
|
unset _ARCHBOOT_ISO_OLD_PATH
|
||||||
unset _ARCHBOOT_ISO_WD
|
unset _ARCHBOOT_ISO_WD
|
||||||
unset _ARCHBOOT_ISO_OLD_NAME
|
unset _ARCHBOOT_ISO_OLD_NAME
|
||||||
|
|
|
@ -113,7 +113,7 @@ build ()
|
||||||
### HACK add refind and syslinux dependencies to image, with separate extra db file
|
### HACK add refind and syslinux dependencies to image, with separate extra db file
|
||||||
# set LANG to US we parse language output here
|
# set LANG to US we parse language output here
|
||||||
LANG=US
|
LANG=US
|
||||||
for i in refind-efi-x86_64 efibootmgr freetype2 mtools perl-passwd-md5 perl-digest-sha1 ; do
|
for i in gummiboot-efi efilinux-efi refind-efi efibootmgr freetype2 mtools perl-passwd-md5 perl-digest-sha1 ; do
|
||||||
pacman -Sw --noconfirm $i
|
pacman -Sw --noconfirm $i
|
||||||
wget -N --directory-prefix /var/cache/pacman/pkg/ $(pacman -Sp $i).sig
|
wget -N --directory-prefix /var/cache/pacman/pkg/ $(pacman -Sp $i).sig
|
||||||
pkgver="$(echo $(pacman -Si $i | grep -m 1 Version | cut -d ":" -f 2,3))"
|
pkgver="$(echo $(pacman -Si $i | grep -m 1 Version | cut -d ":" -f 2,3))"
|
||||||
|
|
15
usr/lib/initcpio/install/arch_efilinux
Normal file
15
usr/lib/initcpio/install/arch_efilinux
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||||
|
|
||||||
|
build ()
|
||||||
|
{
|
||||||
|
add_file "/usr/lib/efilinux/efilinuxx64.efi"
|
||||||
|
}
|
||||||
|
|
||||||
|
help ()
|
||||||
|
{
|
||||||
|
cat<<HELPEOF
|
||||||
|
This hook includes efilinux-efi-x86_64 on an arch boot image.
|
||||||
|
HELPEOF
|
||||||
|
}
|
||||||
|
|
15
usr/lib/initcpio/install/arch_gummiboot
Normal file
15
usr/lib/initcpio/install/arch_gummiboot
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||||
|
|
||||||
|
build ()
|
||||||
|
{
|
||||||
|
add_file "/usr/lib/gummiboot/gummibootx64.efi"
|
||||||
|
}
|
||||||
|
|
||||||
|
help ()
|
||||||
|
{
|
||||||
|
cat<<HELPEOF
|
||||||
|
This hook includes gummiboot-efi-x86_64 on an arch boot image.
|
||||||
|
HELPEOF
|
||||||
|
}
|
||||||
|
|
|
@ -19,9 +19,9 @@ build ()
|
||||||
syslinux mtools perl gmp krb5 sqlite db dbus-core libcap fsarchiver xz librpcsecgss \
|
syslinux mtools perl gmp krb5 sqlite db dbus-core libcap fsarchiver xz librpcsecgss \
|
||||||
libtirpc wipe ddrescue testdisk ifplugd libdaemon wpa_actiond rfkill libgssglue icu gptfdisk \
|
libtirpc wipe ddrescue testdisk ifplugd libdaemon wpa_actiond rfkill libgssglue icu gptfdisk \
|
||||||
btrfs-progs nilfs-utils linux-firmware ipw2100-fw ipw2200-fw iana-etc chntpw \
|
btrfs-progs nilfs-utils linux-firmware ipw2100-fw ipw2200-fw iana-etc chntpw \
|
||||||
grub-common grub-bios grub-efi-x86_64 gummiboot-efi-x86_64 efibootmgr file keyutils yp-tools \
|
grub-common grub-bios grub-efi-x86_64 gummiboot-efi efilinux-efi refind-efi efibootmgr file keyutils \
|
||||||
curl smartmontools dnsmasq lftp openconnect libxml2 libproxy speedtouch tcpdump nmap lua weechat \
|
yp-tools curl smartmontools dnsmasq lftp openconnect libxml2 libproxy speedtouch tcpdump nmap lua \
|
||||||
gnutls nettle libtasn1 bind rpcbind expat progsreiserfs glib2 freetype2 libssh2 libedit \
|
weechat gnutls nettle libtasn1 bind rpcbind expat progsreiserfs glib2 freetype2 libssh2 libedit \
|
||||||
talloc eventlog idnkit libjpeg-turbo pth gnupg libksba libassuan pinentry dirmngr gpgme ldns \
|
talloc eventlog idnkit libjpeg-turbo pth gnupg libksba libassuan pinentry dirmngr gpgme ldns \
|
||||||
dnssec-anchors hwids systemd systemd-arch-units dmidecode archlinux-keyring haveged \
|
dnssec-anchors hwids systemd systemd-arch-units dmidecode archlinux-keyring haveged \
|
||||||
pambase traceroute arch-wiki-lite amd-ucode intel-ucode arch-install-scripts zsh gdbm \
|
pambase traceroute arch-wiki-lite amd-ucode intel-ucode arch-install-scripts zsh gdbm \
|
||||||
|
|
16
usr/lib/initcpio/install/arch_refind
Normal file
16
usr/lib/initcpio/install/arch_refind
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Created by Tobias Powalowski <tpowa@archlinux.org>
|
||||||
|
|
||||||
|
build ()
|
||||||
|
{
|
||||||
|
add_file "/usr/lib/refind/refindx64.efi"
|
||||||
|
add_file "/usr/lib/refind/refind.conf"
|
||||||
|
}
|
||||||
|
|
||||||
|
help ()
|
||||||
|
{
|
||||||
|
cat<<HELPEOF
|
||||||
|
This hook includes refind-efi-x86_64 on an arch boot image.
|
||||||
|
HELPEOF
|
||||||
|
}
|
||||||
|
|
|
@ -3403,8 +3403,8 @@ do_uefi_common() {
|
||||||
|
|
||||||
do_uefi_x86_64() {
|
do_uefi_x86_64() {
|
||||||
|
|
||||||
export UEFI_ARCH="x86_64"
|
export _UEFI_ARCH="x86_64"
|
||||||
export SPEC_UEFI_ARCH="x64"
|
export _SPEC_UEFI_ARCH="x64"
|
||||||
|
|
||||||
do_uefi_common
|
do_uefi_common
|
||||||
|
|
||||||
|
@ -3412,8 +3412,8 @@ do_uefi_x86_64() {
|
||||||
|
|
||||||
do_uefi_i386() {
|
do_uefi_i386() {
|
||||||
|
|
||||||
export UEFI_ARCH="i386"
|
export _UEFI_ARCH="i386"
|
||||||
export SPEC_UEFI_ARCH="ia32"
|
export _SPEC_UEFI_ARCH="ia32"
|
||||||
|
|
||||||
do_uefi_common
|
do_uefi_common
|
||||||
|
|
||||||
|
@ -3504,15 +3504,17 @@ doefistub_uefi_common() {
|
||||||
[[ "$(uname -m)" == "x86_64" ]] && __CARCH="x86_64"
|
[[ "$(uname -m)" == "x86_64" ]] && __CARCH="x86_64"
|
||||||
[[ "$(uname -m)" == "i686" ]] && __CARCH="i386"
|
[[ "$(uname -m)" == "i686" ]] && __CARCH="i386"
|
||||||
|
|
||||||
if [[ "${__CARCH}" != "${UEFI_ARCH}" ]]; then
|
if [[ "${__CARCH}" != "${_UEFI_ARCH}" ]]; then
|
||||||
DIALOG --msgbox "EFISTUB requires Kernel and UEFI arch to match, and requires CONFIG_EFI_STUB enabled kernel. Please install matching ARCH Kernel and try again." 0 0
|
DIALOG --msgbox "EFISTUB requires Kernel and UEFI arch to match, and requires CONFIG_EFI_STUB enabled kernel. Please install matching ARCH Kernel and try again." 0 0
|
||||||
elif [[ "${KERNELPKG}" == "linux-lts" ]]; then
|
elif [[ "${KERNELPKG}" == "linux-lts" ]]; then
|
||||||
_EFILINUX="1"
|
PACKAGES="efilinux-efi"
|
||||||
|
|
||||||
PACKAGES="efilinux-efi-${UEFI_ARCH}"
|
|
||||||
run_pacman
|
run_pacman
|
||||||
PACKAGES=""
|
PACKAGES=""
|
||||||
|
|
||||||
|
mkdir -p "${DESTDIR}/boot/efi/EFI/efilinux/"
|
||||||
|
cp -f "${DESTDIR}/usr/lib/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
|
||||||
|
_EFILINUX="1"
|
||||||
_CONTINUE="1"
|
_CONTINUE="1"
|
||||||
else
|
else
|
||||||
_CONTINUE="1"
|
_CONTINUE="1"
|
||||||
|
@ -3531,7 +3533,7 @@ doefistub_uefi_common() {
|
||||||
[[ "${_EFILINUX}" == "1" ]] && _EFISTUB_KERNEL="${VMLINUZ/linux/arch}"
|
[[ "${_EFILINUX}" == "1" ]] && _EFISTUB_KERNEL="${VMLINUZ/linux/arch}"
|
||||||
_EFISTUB_INITRAMFS="${INITRAMFS/linux/arch}"
|
_EFISTUB_INITRAMFS="${INITRAMFS/linux/arch}"
|
||||||
|
|
||||||
mkdir -p "${DESTDIR}/boot/efi/EFI/arch"
|
mkdir -p "${DESTDIR}/boot/efi/EFI/arch/"
|
||||||
|
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_KERNEL}"
|
rm -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_KERNEL}"
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_INITRAMFS}.img"
|
rm -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_INITRAMFS}.img"
|
||||||
|
@ -3615,14 +3617,14 @@ CONFEOF
|
||||||
_PARAMETERS_MOD=$(echo "${_PARAMETERS_UNMOD}" | sed -e 's# # #g' | sed -e 's# # #g')
|
_PARAMETERS_MOD=$(echo "${_PARAMETERS_UNMOD}" | sed -e 's# # #g' | sed -e 's# # #g')
|
||||||
|
|
||||||
if [[ "${_EFILINUX}" == "1" ]]; then
|
if [[ "${_EFILINUX}" == "1" ]]; then
|
||||||
cat << CONFEOF > "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg"
|
cat << CONFEOF > "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg"
|
||||||
-f \\EFI\\arch\\${_EFISTUB_KERNEL} ${_PARAMETERS_MOD}
|
-f \\EFI\\arch\\${_EFISTUB_KERNEL} ${_PARAMETERS_MOD}
|
||||||
CONFEOF
|
CONFEOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat << CONFEOF > "${DESTDIR}/boot/efi/EFI/arch/linux.conf"
|
# cat << CONFEOF > "${DESTDIR}/boot/efi/EFI/arch/linux.conf"
|
||||||
${_PARAMETERS_MOD}
|
# ${_PARAMETERS_MOD}
|
||||||
CONFEOF
|
# CONFEOF
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
|
|
||||||
|
@ -3632,26 +3634,26 @@ CONFEOF
|
||||||
if [[ "${_EFILINUX}" == "1" ]]; then
|
if [[ "${_EFILINUX}" == "1" ]]; then
|
||||||
DIALOG --msgbox "You will now be put into the editor to edit efilinux.cfg . After you save your changes, exit the editor." 0 0
|
DIALOG --msgbox "You will now be put into the editor to edit efilinux.cfg . After you save your changes, exit the editor." 0 0
|
||||||
geteditor || return 1
|
geteditor || return 1
|
||||||
"${EDITOR}" "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg"
|
"${EDITOR}" "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg"
|
||||||
else
|
# else
|
||||||
# _BOOTMGR_LABEL="Arch Linux (EFISTUB)"
|
# _BOOTMGR_LABEL="Arch Linux (EFISTUB)"
|
||||||
# _BOOTMGR_LOADER_DIR="arch"
|
# _BOOTMGR_LOADER_DIR="arch"
|
||||||
# _BOOTMGR_LOADER_FILE="${_EFISTUB_KERNEL}"
|
# _BOOTMGR_LOADER_FILE="${_EFISTUB_KERNEL}"
|
||||||
# do_uefi_bootmgr_setup
|
# do_uefi_bootmgr_setup
|
||||||
|
|
||||||
DIALOG --msgbox "You will now be put into the editor to edit linux.conf . After you save your changes, exit the editor." 0 0
|
# DIALOG --msgbox "You will now be put into the editor to edit linux.conf . After you save your changes, exit the editor." 0 0
|
||||||
geteditor || return 1
|
# geteditor || return 1
|
||||||
"${EDITOR}" "${DESTDIR}/boot/efi/EFI/arch/linux.conf"
|
# "${EDITOR}" "${DESTDIR}/boot/efi/EFI/arch/linux.conf"
|
||||||
|
|
||||||
# DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch/${_EFISTUB_KERNEL} to /boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi .\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
# DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch/${_EFISTUB_KERNEL} to /boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi .\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
||||||
|
|
||||||
# if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
# if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
||||||
# mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
# mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
||||||
|
|
||||||
# rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
# rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
# rm -f "${DESTDIR}/boot/efi/EFI/boot/linux.conf"
|
# rm -f "${DESTDIR}/boot/efi/EFI/boot/linux.conf"
|
||||||
|
|
||||||
# cp -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_KERNEL}" "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
# cp -f "${DESTDIR}/boot/efi/EFI/arch/${_EFISTUB_KERNEL}" "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
# cp -f "${DESTDIR}/boot/efi/EFI/boot/linux.conf" "${DESTDIR}/boot/efi/EFI/boot/linux.conf"
|
# cp -f "${DESTDIR}/boot/efi/EFI/boot/linux.conf" "${DESTDIR}/boot/efi/EFI/boot/linux.conf"
|
||||||
# fi
|
# fi
|
||||||
fi
|
fi
|
||||||
|
@ -3690,23 +3692,26 @@ do_efistub_uefi_i686() {
|
||||||
|
|
||||||
dogummiboot_uefi_common() {
|
dogummiboot_uefi_common() {
|
||||||
|
|
||||||
DIALOG --msgbox "Setting up gummiboot-efi-${UEFI_ARCH} now ..." 0 0
|
DIALOG --msgbox "Setting up gummiboot-efi now ..." 0 0
|
||||||
|
|
||||||
PACKAGES="gummiboot-efi-${UEFI_ARCH}"
|
PACKAGES="gummiboot-efi"
|
||||||
run_pacman
|
run_pacman
|
||||||
PACKAGES=""
|
PACKAGES=""
|
||||||
|
|
||||||
|
mkdir -p "${DESTDIR}/boot/efi/EFI/gummiboot/"
|
||||||
|
cp -f "${DESTDIR}/usr/lib/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
|
||||||
if [[ "${_EFILINUX}" == "1" ]]; then
|
if [[ "${_EFILINUX}" == "1" ]]; then
|
||||||
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/entries/archlinux-core-lts.conf"
|
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/entries/archlinux-core-lts.conf"
|
||||||
title Arch Linux LTS via EFILINUX
|
title Arch Linux LTS via EFILINUX
|
||||||
efi /EFI/arch/efilinux/efilinux${SPEC_UEFI_ARCH}.efi
|
efi /EFI/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options $(cat "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg")
|
options $(cat "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg")
|
||||||
GUMEOF
|
GUMEOF
|
||||||
|
|
||||||
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/entries/archlinux-core-lts-fallback.conf"
|
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/entries/archlinux-core-lts-fallback.conf"
|
||||||
title Arch Linux LTS via EFILINUX - fallback initramfs
|
title Arch Linux LTS via EFILINUX - fallback initramfs
|
||||||
efi /EFI/arch/efilinux/efilinux${SPEC_UEFI_ARCH}.efi
|
efi /EFI/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options $(cat "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg") initrd=\\EFI\\arch\\${_EFISTUB_INITRAMFS}-fallback.img
|
options $(cat "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg") initrd=\\EFI\\arch\\${_EFISTUB_INITRAMFS}-fallback.img
|
||||||
GUMEOF
|
GUMEOF
|
||||||
|
|
||||||
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/loader.conf"
|
cat << GUMEOF > "${DESTDIR}/boot/efi/loader/loader.conf"
|
||||||
|
@ -3736,13 +3741,13 @@ GUMEOF
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -e "${DESTDIR}/boot/efi/EFI/arch/gummiboot/gummiboot${SPEC_UEFI_ARCH}.efi" ]]; then
|
if [[ -e "${DESTDIR}/boot/efi/EFIgummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" ]]; then
|
||||||
_BOOTMGR_LABEL="Arch Linux (gummiboot)"
|
_BOOTMGR_LABEL="Arch Linux (gummiboot)"
|
||||||
_BOOTMGR_LOADER_DIR="arch//gummiboot"
|
_BOOTMGR_LOADER_DIR="gummiboot"
|
||||||
_BOOTMGR_LOADER_FILE="gummiboot${SPEC_UEFI_ARCH}.efi"
|
_BOOTMGR_LOADER_FILE="gummiboot${_SPEC_UEFI_ARCH}.efi"
|
||||||
do_uefi_bootmgr_setup
|
do_uefi_bootmgr_setup
|
||||||
|
|
||||||
DIALOG --msgbox "gummiboot-efi-${UEFI_ARCH} has been setup successfully." 0 0
|
DIALOG --msgbox "gummiboot-efi has been setup successfully." 0 0
|
||||||
|
|
||||||
DIALOG --msgbox "You will now be put into the editor to edit loader.conf and gummiboot menu entry files . After you save your changes, exit the editor." 0 0
|
DIALOG --msgbox "You will now be put into the editor to edit loader.conf and gummiboot menu entry files . After you save your changes, exit the editor." 0 0
|
||||||
geteditor || return 1
|
geteditor || return 1
|
||||||
|
@ -3757,28 +3762,32 @@ GUMEOF
|
||||||
|
|
||||||
"${EDITOR}" "${DESTDIR}/boot/efi/loader/loader.conf"
|
"${EDITOR}" "${DESTDIR}/boot/efi/loader/loader.conf"
|
||||||
|
|
||||||
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch/gummiboot/gummiboot${SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
||||||
|
|
||||||
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
||||||
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
cp -f "${DESTDIR}/boot/efi/EFI/arch/gummiboot/gummiboot${SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
cp -f "${DESTDIR}/boot/efi/EFI/gummiboot/gummiboot${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
DIALOG --msgbox "Error setting up gummiboot-efi-${UEFI_ARCH}." 0 0
|
DIALOG --msgbox "Error setting up gummiboot-efi." 0 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dorefind_uefi_common() {
|
dorefind_uefi_common() {
|
||||||
|
|
||||||
DIALOG --msgbox "Setting up refind-efi-${UEFI_ARCH} now ..." 0 0
|
DIALOG --msgbox "Setting up refind-efi now ..." 0 0
|
||||||
|
|
||||||
PACKAGES="refind-efi-${UEFI_ARCH}"
|
PACKAGES="refind-efi"
|
||||||
run_pacman
|
run_pacman
|
||||||
PACKAGES=""
|
PACKAGES=""
|
||||||
|
|
||||||
_REFIND_CONFIG="${DESTDIR}/boot/efi/EFI/arch/refind/refind.conf"
|
mkdir -p "${DESTDIR}/boot/efi/EFI/refind/"
|
||||||
|
cp -f "${DESTDIR}/usr/lib/refind/refind${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/refind/refind${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
cp -r "${DESTDIR}/usr/share/refind/icons" "${DESTDIR}/boot/efi/EFI/refind/icons"
|
||||||
|
|
||||||
|
_REFIND_CONFIG="${DESTDIR}/boot/efi/EFI/refind/refind.conf"
|
||||||
|
|
||||||
sed 's|^timeout 20|timeout 0|g' -i "${_REFIND_CONFIG}"
|
sed 's|^timeout 20|timeout 0|g' -i "${_REFIND_CONFIG}"
|
||||||
sed 's|^#resolution 1024 768|resolution 1024 768|g' -i "${_REFIND_CONFIG}"
|
sed 's|^#resolution 1024 768|resolution 1024 768|g' -i "${_REFIND_CONFIG}"
|
||||||
|
@ -3789,18 +3798,18 @@ dorefind_uefi_common() {
|
||||||
sed 's|^#max_tags 0|max_tags 0|g' -i "${_REFIND_CONFIG}"
|
sed 's|^#max_tags 0|max_tags 0|g' -i "${_REFIND_CONFIG}"
|
||||||
|
|
||||||
if [[ "${_EFILINUX}" == "1" ]]; then
|
if [[ "${_EFILINUX}" == "1" ]]; then
|
||||||
cat << REFINDEOF >> "${DESTDIR}/boot/efi/EFI/arch/refind/refind.conf"
|
cat << REFINDEOF >> "${_REFIND_CONFIG}"
|
||||||
|
|
||||||
menuentry "Arch Linux LTS via EFILINUX" {
|
menuentry "Arch Linux LTS via EFILINUX" {
|
||||||
icon /EFI/arch/refind/icons/os_arch.icns
|
icon /EFI/refind/icons/os_arch.icns
|
||||||
loader /EFI/arch/efilinux/efilinux${SPEC_UEFI_ARCH}.efi
|
loader /EFI/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options "$(cat "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg")"
|
options "$(cat "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg")"
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Arch Linux LTS via EFILINUX - fallback initramfs" {
|
menuentry "Arch Linux LTS via EFILINUX - fallback initramfs" {
|
||||||
icon /EFI/arch/refind/icons/os_arch.icns
|
icon /EFI/refind/icons/os_arch.icns
|
||||||
loader /EFI/arch/efilinux/efilinux${SPEC_UEFI_ARCH}.efi
|
loader /EFI/efilinux/efilinux${_SPEC_UEFI_ARCH}.efi
|
||||||
options "$(cat "${DESTDIR}/boot/efi/EFI/arch/efilinux/efilinux.cfg") initrd=\\EFI\\arch\\${_EFISTUB_INITRAMFS}-fallback.img"
|
options "$(cat "${DESTDIR}/boot/efi/EFI/efilinux/efilinux.cfg") initrd=\\EFI\\arch\\${_EFISTUB_INITRAMFS}-fallback.img"
|
||||||
}
|
}
|
||||||
|
|
||||||
REFINDEOF
|
REFINDEOF
|
||||||
|
@ -3813,34 +3822,34 @@ REFINDEOF
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -e "${DESTDIR}/boot/efi/EFI/arch/refind/refind${SPEC_UEFI_ARCH}.efi" ]]; then
|
if [[ -e "${DESTDIR}/boot/efi/EFI/refind/refind${_SPEC_UEFI_ARCH}.efi" ]]; then
|
||||||
_BOOTMGR_LABEL="Arch Linux (rEFInd)"
|
_BOOTMGR_LABEL="Arch Linux (rEFInd)"
|
||||||
_BOOTMGR_LOADER_DIR="arch//refind"
|
_BOOTMGR_LOADER_DIR="refind"
|
||||||
_BOOTMGR_LOADER_FILE="refind${SPEC_UEFI_ARCH}.efi"
|
_BOOTMGR_LOADER_FILE="refind${_SPEC_UEFI_ARCH}.efi"
|
||||||
do_uefi_bootmgr_setup
|
do_uefi_bootmgr_setup
|
||||||
|
|
||||||
DIALOG --msgbox "refind-efi-${UEFI_ARCH} has been setup successfully." 0 0
|
DIALOG --msgbox "refind-efi has been setup successfully." 0 0
|
||||||
|
|
||||||
DIALOG --msgbox "You will now be put into the editor to edit refind.conf (and maybe refind_linux.conf) . After you save your changes, exit the editor." 0 0
|
DIALOG --msgbox "You will now be put into the editor to edit refind.conf (and maybe refind_linux.conf) . After you save your changes, exit the editor." 0 0
|
||||||
geteditor || return 1
|
geteditor || return 1
|
||||||
"${EDITOR}" "${_REFIND_CONFIG}"
|
"${EDITOR}" "${_REFIND_CONFIG}"
|
||||||
[[ "${_EFILINUX}" != "1" ]] && "${EDITOR}" "${DESTDIR}/boot/efi/EFI/arch/refind_linux.conf"
|
[[ "${_EFILINUX}" != "1" ]] && "${EDITOR}" "${DESTDIR}/boot/efi/EFI/arch/refind_linux.conf"
|
||||||
|
|
||||||
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch/refind/refind${SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/refind/refind${_SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
||||||
|
|
||||||
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
||||||
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
||||||
|
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/boot/refind.conf"
|
rm -f "${DESTDIR}/boot/efi/EFI/boot/refind.conf"
|
||||||
rm -rf "${DESTDIR}/boot/efi/EFI/boot/icons"
|
rm -rf "${DESTDIR}/boot/efi/EFI/boot/icons"
|
||||||
|
|
||||||
cp -f "${DESTDIR}/boot/efi/EFI/arch/refind/refind${SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
cp -f "${DESTDIR}/boot/efi/EFI/refind/refind${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
cp -f "${_REFIND_CONFIG}" "${DESTDIR}/boot/efi/EFI/boot/refind.conf"
|
cp -f "${_REFIND_CONFIG}" "${DESTDIR}/boot/efi/EFI/boot/refind.conf"
|
||||||
cp -rf "${DESTDIR}/boot/efi/EFI/arch/refind/icons" "${DESTDIR}/boot/efi/EFI/boot/icons"
|
cp -rf "${DESTDIR}/boot/efi/EFI/refind/icons" "${DESTDIR}/boot/efi/EFI/boot/icons"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
DIALOG --msgbox "Error setting up refind-efi-${UEFI_ARCH}." 0 0
|
DIALOG --msgbox "Error setting up refind-efi." 0 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4200,17 +4209,13 @@ dogrub_config() {
|
||||||
|
|
||||||
########
|
########
|
||||||
|
|
||||||
cp -f "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg" "/tmp/.grub.cfg"
|
## Move old config file, if any
|
||||||
# remove the default entries by truncating the file at our little tag (set default)
|
mv "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg" "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg.bak" || true
|
||||||
head -n $(cat /tmp/.grub.cfg | grep -n 'set default' | cut -d: -f 1) "/tmp/.grub.cfg" > "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg"
|
|
||||||
rm -f "/tmp/.grub.cfg"
|
|
||||||
|
|
||||||
NUMBER="0"
|
|
||||||
|
|
||||||
## Ignore if the insmod entries are repeated - there are possibilities of having /boot in one disk and root-fs in altogether different disk
|
## Ignore if the insmod entries are repeated - there are possibilities of having /boot in one disk and root-fs in altogether different disk
|
||||||
## with totally different configuration.
|
## with totally different configuration.
|
||||||
|
|
||||||
cat << EOF >> "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg"
|
cat << EOF > "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg"
|
||||||
|
|
||||||
if [ "\${grub_platform}" == "efi" ]; then
|
if [ "\${grub_platform}" == "efi" ]; then
|
||||||
set _UEFI_ARCH="\${grub_cpu}"
|
set _UEFI_ARCH="\${grub_cpu}"
|
||||||
|
@ -4336,6 +4341,9 @@ EOF
|
||||||
LINUX_MOD_COMMAND=$(echo "${LINUX_UNMOD_COMMAND}" | sed -e 's# # #g' | sed -e 's# # #g')
|
LINUX_MOD_COMMAND=$(echo "${LINUX_UNMOD_COMMAND}" | sed -e 's# # #g' | sed -e 's# # #g')
|
||||||
|
|
||||||
## create default kernel entry
|
## create default kernel entry
|
||||||
|
|
||||||
|
NUMBER="0"
|
||||||
|
|
||||||
cat << EOF >> "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg"
|
cat << EOF >> "${DESTDIR}/${GRUB_PREFIX_DIR}/grub.cfg"
|
||||||
|
|
||||||
# (${NUMBER}) Arch Linux
|
# (${NUMBER}) Arch Linux
|
||||||
|
@ -4596,8 +4604,8 @@ dogrub_uefi_common() {
|
||||||
|
|
||||||
dogrub_common_before
|
dogrub_common_before
|
||||||
|
|
||||||
DIALOG --msgbox "Installing grub-efi-${UEFI_ARCH} now ..." 0 0
|
DIALOG --msgbox "Installing grub-efi-${_UEFI_ARCH} now ..." 0 0
|
||||||
PACKAGES="grub-common grub-efi-${UEFI_ARCH}"
|
PACKAGES="grub-common grub-efi-${_UEFI_ARCH}"
|
||||||
|
|
||||||
run_pacman
|
run_pacman
|
||||||
# reset PACKAGES after installing
|
# reset PACKAGES after installing
|
||||||
|
@ -4606,13 +4614,13 @@ dogrub_uefi_common() {
|
||||||
chroot_mount
|
chroot_mount
|
||||||
|
|
||||||
chroot "${DESTDIR}" "/usr/sbin/grub-install" \
|
chroot "${DESTDIR}" "/usr/sbin/grub-install" \
|
||||||
--directory="/usr/lib/grub/${UEFI_ARCH}-efi" \
|
--directory="/usr/lib/grub/${_UEFI_ARCH}-efi" \
|
||||||
--target="${UEFI_ARCH}-efi" \
|
--target="${_UEFI_ARCH}-efi" \
|
||||||
--efi-directory="/boot/efi" \
|
--efi-directory="/boot/efi" \
|
||||||
--bootloader-id="arch_grub" \
|
--bootloader-id="arch_grub" \
|
||||||
--boot-directory="/boot" \
|
--boot-directory="/boot" \
|
||||||
--recheck \
|
--recheck \
|
||||||
--debug &>"/tmp/grub_uefi_${UEFI_ARCH}_install.log"
|
--debug &>"/tmp/grub_uefi_${_UEFI_ARCH}_install.log"
|
||||||
|
|
||||||
chroot_umount
|
chroot_umount
|
||||||
|
|
||||||
|
@ -4661,7 +4669,7 @@ fi
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cp -f "${DESTDIR}/boot/grub/grub.cfg" "${DESTDIR}/boot/efi/EFI/arch_grub/grub${SPEC_UEFI_ARCH}_standalone.cfg"
|
cp -f "${DESTDIR}/boot/grub/grub.cfg" "${DESTDIR}/boot/efi/EFI/arch_grub/grub${_SPEC_UEFI_ARCH}_standalone.cfg"
|
||||||
|
|
||||||
__WD="${PWD}/"
|
__WD="${PWD}/"
|
||||||
|
|
||||||
|
@ -4670,11 +4678,11 @@ EOF
|
||||||
chroot_mount
|
chroot_mount
|
||||||
|
|
||||||
chroot "${DESTDIR}" "/usr/bin/grub-mkstandalone" \
|
chroot "${DESTDIR}" "/usr/bin/grub-mkstandalone" \
|
||||||
--directory="/usr/lib/grub/${UEFI_ARCH}-efi" \
|
--directory="/usr/lib/grub/${_UEFI_ARCH}-efi" \
|
||||||
--format="${UEFI_ARCH}-efi" \
|
--format="${_UEFI_ARCH}-efi" \
|
||||||
--compression="xz" \
|
--compression="xz" \
|
||||||
--output="/boot/efi/EFI/arch_grub/grub${SPEC_UEFI_ARCH}_standalone.efi" \
|
--output="/boot/efi/EFI/arch_grub/grub${_SPEC_UEFI_ARCH}_standalone.efi" \
|
||||||
"boot/grub/grub.cfg" &>"/tmp/grub_${UEFI_ARCH}_uefi_mkstandalone.log"
|
"boot/grub/grub.cfg" &>"/tmp/grub_${_UEFI_ARCH}_uefi_mkstandalone.log"
|
||||||
|
|
||||||
chroot_umount
|
chroot_umount
|
||||||
|
|
||||||
|
@ -4682,32 +4690,32 @@ EOF
|
||||||
|
|
||||||
[[ -e "${DESTDIR}/boot/grub/grub.cfg.save" ]] && mv "${DESTDIR}/boot/grub/grub.cfg.save" "${DESTDIR}/boot/grub/grub.cfg"
|
[[ -e "${DESTDIR}/boot/grub/grub.cfg.save" ]] && mv "${DESTDIR}/boot/grub/grub.cfg.save" "${DESTDIR}/boot/grub/grub.cfg"
|
||||||
|
|
||||||
cat "/tmp/grub_uefi_${UEFI_ARCH}_install.log" >> "${LOG}"
|
cat "/tmp/grub_uefi_${_UEFI_ARCH}_install.log" >> "${LOG}"
|
||||||
|
|
||||||
if [[ -e "${DESTDIR}/boot/efi/EFI/arch_grub/grub${SPEC_UEFI_ARCH}.efi" ]] && [[ -e "${DESTDIR}/boot/grub/${UEFI_ARCH}-efi/core.efi" ]]; then
|
if [[ -e "${DESTDIR}/boot/efi/EFI/arch_grub/grub${_SPEC_UEFI_ARCH}.efi" ]] && [[ -e "${DESTDIR}/boot/grub/${_UEFI_ARCH}-efi/core.efi" ]]; then
|
||||||
_BOOTMGR_LABEL="Arch Linux (GRUB)"
|
_BOOTMGR_LABEL="Arch Linux (GRUB)"
|
||||||
_BOOTMGR_LOADER_DIR="arch_grub"
|
_BOOTMGR_LOADER_DIR="arch_grub"
|
||||||
_BOOTMGR_LOADER_FILE="grub${SPEC_UEFI_ARCH}.efi"
|
_BOOTMGR_LOADER_FILE="grub${_SPEC_UEFI_ARCH}.efi"
|
||||||
do_uefi_bootmgr_setup
|
do_uefi_bootmgr_setup
|
||||||
|
|
||||||
DIALOG --msgbox "GRUB(2) UEFI ${UEFI_ARCH} has been successfully installed." 0 0
|
DIALOG --msgbox "GRUB(2) UEFI ${_UEFI_ARCH} has been successfully installed." 0 0
|
||||||
|
|
||||||
GRUB_PREFIX_DIR="/boot/grub/"
|
GRUB_PREFIX_DIR="/boot/grub/"
|
||||||
GRUB_UEFI="1"
|
GRUB_UEFI="1"
|
||||||
dogrub_config
|
dogrub_config
|
||||||
GRUB_UEFI=""
|
GRUB_UEFI=""
|
||||||
|
|
||||||
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch_grub/grub${SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
DIALOG --defaultno --yesno "Do you want to copy /boot/efi/EFI/arch_grub/grub${_SPEC_UEFI_ARCH}.efi to /boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi ?\n\nThis might be needed in some systems where efibootmgr may not work due to firmware issues." 0 0 && _UEFISYS_EFI_BOOT_DIR="1"
|
||||||
|
|
||||||
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
if [[ "${_UEFISYS_EFI_BOOT_DIR}" == "1" ]]; then
|
||||||
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
mkdir -p "${DESTDIR}/boot/efi/EFI/boot"
|
||||||
|
|
||||||
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
rm -f "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
|
|
||||||
cp -f "${DESTDIR}/boot/efi/EFI/arch_grub/grub${SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${SPEC_UEFI_ARCH}.efi"
|
cp -f "${DESTDIR}/boot/efi/EFI/arch_grub/grub${_SPEC_UEFI_ARCH}.efi" "${DESTDIR}/boot/efi/EFI/boot/boot${_SPEC_UEFI_ARCH}.efi"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
DIALOG --msgbox "Error installing GRUB UEFI ${UEFI_ARCH}.\nCheck /tmp/grub_uefi_${UEFI_ARCH}_install.log for more info.\n\nYou probably need to install it manually by chrooting into ${DESTDIR}.\nDon't forget to bind /dev, /sys and /proc into ${DESTDIR} before chrooting." 0 0
|
DIALOG --msgbox "Error installing GRUB UEFI ${_UEFI_ARCH}.\nCheck /tmp/grub_uefi_${_UEFI_ARCH}_install.log for more info.\n\nYou probably need to install it manually by chrooting into ${DESTDIR}.\nDon't forget to bind /dev, /sys and /proc into ${DESTDIR} before chrooting." 0 0
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue