Files
PluralTechnology/service/boot/host/iso.sh
T
2026-07-14 05:57:11 +00:00

37 lines
922 B
Bash
Executable File

#!/bin/bash
#
# Copyright (c) 2026, Chloe M., et al
# Provided under the BSD-3 clause
#
set -e
ISO=$PT_PROJECT_ROOT/artifacts/ptos.iso
CONFIG=$PT_PROJECT_ROOT/service/base/boot/limine.conf
KERNEL=$PT_PROJECT_ROOT/artifacts/ptsv.sys
HOLE=$PT_PROJECT_ROOT/service/host/bin/hole
mkdir -p iso_root/boot/
# Create the pre-boot image (PBI)
pushd ../base
$HOLE -f . -o ../boot/iso_root/boot/pbi.hole
popd
# Copy the kernel to the ISO root
cp $KERNEL iso_root/boot
# Copy boot files
cp $CONFIG stand/limine/limine-bios.sys \
stand/limine/limine-bios-cd.bin \
stand/limine/limine-uefi-cd.bin \
iso_root/
# Generate the ISO
xorriso -as mkisofs -b limine-bios-cd.bin -no-emul-boot -boot-load-size 4 \
-boot-info-table --efi-boot limine-uefi-cd.bin -efi-boot-part \
--efi-boot-image --protective-msdos-label iso_root/ -o $ISO 2>/dev/null
stand/limine/limine bios-install $ISO 2>/dev/null
rm -rf iso_root