From f338d6e86ea3de53ab5a0aeb15d65cdc68e0532a Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 10 Sep 2023 20:49:18 -0600 Subject: [PATCH] Add dual boot script (for use with Pop) --- scripts/dual-boot.sh | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 scripts/dual-boot.sh diff --git a/scripts/dual-boot.sh b/scripts/dual-boot.sh new file mode 100755 index 0000000..38985f1 --- /dev/null +++ b/scripts/dual-boot.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +set -e + +if [ -n "$1" ] +then + DISK="$1" +else + DISK=/dev/disk/by-partlabel/REDOX_INSTALL +fi + +if [ ! -b "${DISK}" ] +then + echo "$0: '${DISK}' is not a block device" >&2 + exit 1 +fi + +if [ -z "${ARCH}" ] +then + export ARCH=x86_64 +fi + +if [ -z "${CONFIG_NAME}" ] +then + export CONFIG_NAME=demo +fi + +IMAGE="build/${ARCH}/${CONFIG_NAME}/harddrive.img" +set -x +make "${IMAGE}" +sudo popsicle "${IMAGE}" "${DISK}" +set +x + +ESP="$(bootctl --print-esp-path)" +if [ -z "${ESP}" ] +then + echo "$0: no ESP found" >&2 + exit 1 +fi + +BOOTLOADER="cookbook/recipes/bootloader/target/${ARCH}-unknown-redox/stage/boot/bootloader.efi" +set -x +sudo mkdir -pv "${ESP}/EFI" "${ESP}/loader/entries" +sudo cp -v "${BOOTLOADER}" "${ESP}/EFI/redox.efi" +sudo tee "${ESP}/loader/entries/redox.conf" <