7a2aec4e12
Signed-off-by: Chloe M <chloe@mensia.org>
37 lines
922 B
Bash
Executable File
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
|