summaryrefslogtreecommitdiff
path: root/configs/lxde-openrc/build.sh
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2019-03-08 22:03:11 -0300
committerDavid P <megver83@parabola.nu>2019-03-08 22:13:23 -0300
commita09ac8ebf2ecc46818f819a663981510571a2f27 (patch)
tree9600ed51f0b54f0df0b66d87639bb013281464f4 /configs/lxde-openrc/build.sh
parent4a658bb5d453d5601e92658c7b2f2a89d72bab8d (diff)
[openrc isos] use refind-efi as UEFI Boot Manager
The standard systemd ISOs use systemd-boot as its UEFI Boot Manager, however, we don't want that in an OpenRC ISO. rEFInd is the perfect replacement for this, the (not-yet launched) resulting ISOs boot in the basic text of this boot manager. Tested with QEMU using Tianocore's OVMF (without Secure Boot). Note that the refind.conf file includes files under entry/, which is not sctrictly necessary since it can be merged everything into that file, however, I preferred to maintain the systemd-boot filenames (although in the future this might change) Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'configs/lxde-openrc/build.sh')
-rwxr-xr-xconfigs/lxde-openrc/build.sh30
1 files changed, 19 insertions, 11 deletions
diff --git a/configs/lxde-openrc/build.sh b/configs/lxde-openrc/build.sh
index 93e198b..6b4f88c 100755
--- a/configs/lxde-openrc/build.sh
+++ b/configs/lxde-openrc/build.sh
@@ -85,7 +85,7 @@ make_packages() {
# Needed packages for x86_64 EFI boot
make_packages_efi() {
- setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install
+ setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools refind-efi" install
}
# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs)
@@ -173,14 +173,18 @@ make_efi() {
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/
- 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 ${work_dir}/x86_64/airootfs/usr/share/refind/refind_x64.efi ${work_dir}/iso/EFI/boot/loader.efi
+ mkdir -p ${work_dir}/iso/EFI/boot/drivers_x64/
+ cp ${work_dir}/x86_64/airootfs/usr/share/refind/drivers_x64/*.efi ${work_dir}/iso/EFI/boot/drivers_x64/
+
+ mkdir -p ${work_dir}/iso/EFI/boot/entries
+ cp ${script_path}/efiboot/EFI/boot/refind.conf ${work_dir}/iso/EFI/boot/
+ cp ${script_path}/efiboot/EFI/boot/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/EFI/boot/entries/
+ cp ${script_path}/efiboot/EFI/boot/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/EFI/boot/entries/
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
- ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf
+ ${script_path}/efiboot/EFI/boot/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/EFI/boot/entries/parabolaiso-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/edk2-stable201811/ShellBinPkg/UefiShell/X64/Shell.efi
@@ -212,14 +216,18 @@ make_efiboot() {
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/
- 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 ${work_dir}/x86_64/airootfs/usr/share/refind/refind_x64.efi ${work_dir}/efiboot/EFI/boot/loader.efi
+ mkdir -p ${work_dir}/efiboot/EFI/boot/drivers_x64/
+ cp ${work_dir}/x86_64/airootfs/usr/share/refind/drivers_x64/*.efi ${work_dir}/efiboot/EFI/boot/drivers_x64/
+
+ mkdir -p ${work_dir}/efiboot/EFI/boot/entries
+ cp ${script_path}/efiboot/EFI/boot/refind.conf ${work_dir}/efiboot/EFI/boot/
+ cp ${script_path}/efiboot/EFI/boot/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/EFI/boot/entries/
+ cp ${script_path}/efiboot/EFI/boot/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/EFI/boot/entries/
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" \
- ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf
+ ${script_path}/efiboot/EFI/boot/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/EFI/boot/entries/parabolaiso-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/