aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2021-04-08 13:07:17 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2021-04-08 13:07:17 +0200
commit958e2dae042ca9e28f23e509d541730f30fa8502 (patch)
tree8911572335763866ed39cc7ec7855131929a0994 /tools
parentdb553d05824ae463752c8b528feac963e41d9f1c (diff)
Switch to multiboot2 and improve interrupt management
Diffstat (limited to 'tools')
-rw-r--r--tools/bochsrc2
-rwxr-xr-xtools/gen_grub_cdrom.sh31
2 files changed, 33 insertions, 0 deletions
diff --git a/tools/bochsrc b/tools/bochsrc
new file mode 100644
index 0000000..fd9fe69
--- /dev/null
+++ b/tools/bochsrc
@@ -0,0 +1,2 @@
+romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
+vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
diff --git a/tools/gen_grub_cdrom.sh b/tools/gen_grub_cdrom.sh
new file mode 100755
index 0000000..1b65bf8
--- /dev/null
+++ b/tools/gen_grub_cdrom.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+# Ensure to abort on error
+set -e
+
+wai=$(dirname $(readlink -f "$0")) # Current script directory
+outdir="${wai}/../"
+cdrom="${outdir}/cdrom.img"
+isodir="$(mktemp -d)" # Mount point (where the floppy will be mounted temporally
+kernel="$outdir/src/bringelle"
+
+[ ! -e "$kernel" ] && { echo "Bringelle not found!"; exit 1; }
+
+check_for () {
+ command -v "$1" &>/dev/null || { echo "Command $1 not found!"; exit 1; }
+}
+
+check_for grub-mkconfig
+
+mkdir -p $isodir/boot/grub
+cat <<EOT >> $isodir/boot/grub/grub.cfg
+set timeout=0
+menuentry "kernel" {
+ multiboot2 /boot/bringelle
+ boot
+}
+EOT
+cp $kernel "$isodir/boot/"
+grub-mkrescue -o "$cdrom" $isodir
+
+rm -rf "$isodir"