Verified Commit 2ce375cd authored by David Runge's avatar David Runge
Browse files

Using edk2-shell for UEFI shell

configs/releng/build.sh:
Instead of downloading UDK2018 based edk2 UEFI shell, use the Shell
binaries from the edk2-shell package.
This effectively makes the use of EFI shell v1 obsolete.

configs/releng/efiboot/loader/entries/uefi-shell-v*:
Renaming UEFI shell entries to match the packaged edk2-shell based UEFI
shell binaries.

configs/releng/build.sh:
Renaming the systemd-boot bootloader entries for UEFI shell (normal and
full version) to reflect their file names, which are derived from the
binary names in the edk2-shell package.
Copying the edk2-shell based UEFI shell binaries for normal efiboot and
.iso based "el-torito" efiboot mode.

docs/README.build:
Adding edk2-shell to the requirements in the documentation, as the
package is now used to provide UEFI shell.
parent ec5f5378
......@@ -160,17 +160,16 @@ make_efi() {
mkdir -p ${work_dir}/iso/loader/entries
cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/
cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-x86_64.conf ${work_dir}/iso/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-full-x86_64.conf ${work_dir}/iso/loader/entries/
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
${script_path}/efiboot/loader/entries/archiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/archiso-x86_64.conf
# EFI Shell 2.0 for UEFI 2.3+
curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/UDK2018/ShellBinPkg/UefiShell/X64/Shell.efi
# EFI Shell 1.0 for non UEFI 2.3+
curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/UDK2018/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
# edk2-shell based UEFI shell
cp /usr/share/edk2-shell/x64/Shell.efi ${work_dir}/iso/EFI/Shell_x64.efi
cp /usr/share/edk2-shell/x64/Shell_Full.efi ${work_dir}/iso/EFI/Shell_Full_x64.efi
}
# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
......@@ -197,15 +196,15 @@ make_efiboot() {
mkdir -p ${work_dir}/efiboot/loader/entries
cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-x86_64.conf ${work_dir}/efiboot/loader/entries/
cp ${script_path}/efiboot/loader/entries/uefi-shell-full-x86_64.conf ${work_dir}/efiboot/loader/entries/
sed "s|%ARCHISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
${script_path}/efiboot/loader/entries/archiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/archiso-x86_64.conf
cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/
cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/
cp ${work_dir}/iso/EFI/Shell_x64.efi ${work_dir}/efiboot/EFI/
cp ${work_dir}/iso/EFI/Shell_Full_x64.efi ${work_dir}/efiboot/EFI/
umount -d ${work_dir}/efiboot
}
......
title UEFI Shell (Full) x86_64
efi /EFI/Shell_Full_x64.efi
title UEFI Shell x86_64 v1
efi /EFI/shellx64_v1.efi
title UEFI Shell x86_64 v2
efi /EFI/shellx64_v2.efi
title UEFI Shell x86_64
efi /EFI/Shell_x64.efi
......@@ -11,6 +11,7 @@ INDEX
** For mkarchiso script needs these packages (build host):
+ arch-install-scripts for pacstrap/arch-chroot
+ edk2-shell for UEFI shell
+ squashfs-tools for mksquashfs
+ libisoburn for xorriso
+ btrfs-progs for mkfs.btrfs (optional)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment