summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-08-27 18:39:29 +0200
committersalmonik <salmonik@tuta.io>2026-08-27 18:39:29 +0200
commit277218fe1ba1e3616bd147c9d9abecfc56b9957f (patch)
tree0b57bdd8244db6e457dcc3203096d8b5465933fe
parentscripts: migrate all QEMU/test scripts to single system image (diff)
downloadrs-dos-277218fe1ba1e3616bd147c9d9abecfc56b9957f.tar.gz
rs-dos-277218fe1ba1e3616bd147c9d9abecfc56b9957f.zip
build: default profile is release (debug too slow for dev loop)
Makefile: PROFILE=release, CARGO_FLAGS=--release; make release target kept as no-op (now default). boot.sh: PROFILE=release default; --debug flag opt-in. mksystem.sh: PROFILE=release default. test-disk/fault/gfx/mouse/msg: all use --release. All scripts syntax-checked.
-rw-r--r--Makefile6
-rwxr-xr-xscripts/boot.sh16
-rwxr-xr-xscripts/mksystem.sh4
-rwxr-xr-xscripts/test-disk.sh2
-rwxr-xr-xscripts/test-fault.sh2
-rwxr-xr-xscripts/test-gfx.sh2
-rwxr-xr-xscripts/test-mouse.sh2
-rwxr-xr-xscripts/test-msg.sh2
8 files changed, 20 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index be55e4e..d18a78a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1# shellcheck shell=sh disable=SC2046,SC2091,SC2086,SC2155 1# shellcheck shell=sh disable=SC2046,SC2091,SC2086,SC2155
2# NOTE: $(VAR) in this file is MAKE syntax, not shell substitution. 2# NOTE: $(VAR) in this file is MAKE syntax, not shell substitution.
3export TARGET=x86_64-unknown-uefi 3export TARGET=x86_64-unknown-uefi
4export PROFILE=debug 4export PROFILE=release
5export OUT_DIR=target/$(TARGET)/$(PROFILE) 5export OUT_DIR=target/$(TARGET)/$(PROFILE)
6export ESP_DIR=esp 6export ESP_DIR=esp
7export KERNEL=$(OUT_DIR)/rsdos.efi 7export KERNEL=$(OUT_DIR)/rsdos.efi
@@ -25,8 +25,8 @@ release: export OUT_DIR=target/$(TARGET)/release
25release: CARGO_FLAGS=--release 25release: CARGO_FLAGS=--release
26release: all 26release: all
27 27
28# shellcheck disable=SC2034 28# CARGO_FLAGS set by PROFILE above
29CARGO_FLAGS= 29CARGO_FLAGS=--release
30 30
31$(OUT_DIR)/rsdos.efi: $(shell find rsnix shell rsdos -name '*.rs') Cargo.toml rsnix/Cargo.toml shell/Cargo.toml rsdos/Cargo.toml 31$(OUT_DIR)/rsdos.efi: $(shell find rsnix shell rsdos -name '*.rs') Cargo.toml rsnix/Cargo.toml shell/Cargo.toml rsdos/Cargo.toml
32 cargo build --package rsdos --target $(TARGET) $(CARGO_FLAGS) 32 cargo build --package rsdos --target $(TARGET) $(CARGO_FLAGS)
diff --git a/scripts/boot.sh b/scripts/boot.sh
index 9c60dc9..cb017d8 100755
--- a/scripts/boot.sh
+++ b/scripts/boot.sh
@@ -32,8 +32,8 @@ OVMF="${OVMF:-/usr/share/edk2/x64/OVMF.4m.fd}"
32MEM="${MEM:-256M}" 32MEM="${MEM:-256M}"
33SMP="${SMP:-1}" 33SMP="${SMP:-1}"
34SYSTEM_IMG="${SYSTEM_IMG:-/tmp/system.img}" 34SYSTEM_IMG="${SYSTEM_IMG:-/tmp/system.img}"
35PROFILE="debug" 35PROFILE="release"
36CARGO_FLAGS="" 36
37GUI="" 37GUI=""
38DEBUG="" 38DEBUG=""
39 39
@@ -41,9 +41,9 @@ DEBUG=""
41source "$SCRIPT_DIR/lib-boot-args.sh" 41source "$SCRIPT_DIR/lib-boot-args.sh"
42handle_arg() { 42handle_arg() {
43 case "$1" in 43 case "$1" in
44 --release | -r) 44 --debug)
45 PROFILE="release" 45 PROFILE="debug"
46 CARGO_FLAGS="--release" 46 CARGO_FLAGS=""
47 ;; 47 ;;
48 *) 48 *)
49 echo "unknown: $1" 49 echo "unknown: $1"
@@ -57,7 +57,11 @@ OUT_DIR="target/x86_64-unknown-uefi/$PROFILE"
57 57
58# ---- build ---- 58# ---- build ----
59echo "=== Building kernel ($PROFILE) ===" 59echo "=== Building kernel ($PROFILE) ==="
60cargo build --package rsdos --target x86_64-unknown-uefi $CARGO_FLAGS 60if [ "$PROFILE" = "release" ]; then
61 cargo build --release --package rsdos --target x86_64-unknown-uefi
62else
63 cargo build --package rsdos --target x86_64-unknown-uefi
64fi
61 65
62# ---- stage system image ---- 66# ---- stage system image ----
63echo "=== Staging system image ===" 67echo "=== Staging system image ==="
diff --git a/scripts/mksystem.sh b/scripts/mksystem.sh
index dfa481c..044c86c 100755
--- a/scripts/mksystem.sh
+++ b/scripts/mksystem.sh
@@ -78,7 +78,7 @@ while [ $# -gt 0 ]; do
78done 78done
79 79
80TARGET=x86_64-unknown-uefi 80TARGET=x86_64-unknown-uefi
81PROFILE=debug 81PROFILE=release
82OUT_DIR="target/$TARGET/$PROFILE" 82OUT_DIR="target/$TARGET/$PROFILE"
83KERNEL="$OUT_DIR/rsdos.efi" 83KERNEL="$OUT_DIR/rsdos.efi"
84BZIMAGE="esp/bzImage" 84BZIMAGE="esp/bzImage"
@@ -109,7 +109,7 @@ fi
109# ---- build kernel ---- 109# ---- build kernel ----
110if [ ! -f "$KERNEL" ]; then 110if [ ! -f "$KERNEL" ]; then
111 echo "mksystem: building kernel..." 111 echo "mksystem: building kernel..."
112 cargo build --package rsdos --target "$TARGET" 112 cargo build --release --package rsdos --target "$TARGET"
113fi 113fi
114 114
115# ---- build bootloader (chain mode only) ---- 115# ---- build bootloader (chain mode only) ----
diff --git a/scripts/test-disk.sh b/scripts/test-disk.sh
index b4b0fde..881b475 100755
--- a/scripts/test-disk.sh
+++ b/scripts/test-disk.sh
@@ -66,7 +66,7 @@ wait_qemu_exit() {
66} 66}
67 67
68echo "==> 1/6 build kernel (debug)" 68echo "==> 1/6 build kernel (debug)"
69cargo build --package rsdos --target x86_64-unknown-uefi 69cargo build --release --package rsdos --target x86_64-unknown-uefi
70 70
71echo "==> 2/6 ensure system image" 71echo "==> 2/6 ensure system image"
72if [ "$FRESH" -eq 1 ]; then 72if [ "$FRESH" -eq 1 ]; then
diff --git a/scripts/test-fault.sh b/scripts/test-fault.sh
index f21596d..be2d7cd 100755
--- a/scripts/test-fault.sh
+++ b/scripts/test-fault.sh
@@ -41,7 +41,7 @@ wait_log() {
41} 41}
42 42
43echo "==> 1/5 build kernel (debug)" 43echo "==> 1/5 build kernel (debug)"
44cargo build --package rsdos --target x86_64-unknown-uefi 44cargo build --release --package rsdos --target x86_64-unknown-uefi
45 45
46echo "==> 2/5 stage system image" 46echo "==> 2/5 stage system image"
47"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" 47"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG"
diff --git a/scripts/test-gfx.sh b/scripts/test-gfx.sh
index c5d6429..1c7f9ac 100755
--- a/scripts/test-gfx.sh
+++ b/scripts/test-gfx.sh
@@ -40,7 +40,7 @@ wait_log() {
40} 40}
41 41
42echo "==> 1/5 build kernel (debug)" 42echo "==> 1/5 build kernel (debug)"
43cargo build --package rsdos --target x86_64-unknown-uefi 43cargo build --release --package rsdos --target x86_64-unknown-uefi
44 44
45echo "==> 2/5 stage system image" 45echo "==> 2/5 stage system image"
46"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" 46"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG"
diff --git a/scripts/test-mouse.sh b/scripts/test-mouse.sh
index 56b6783..9f9f018 100755
--- a/scripts/test-mouse.sh
+++ b/scripts/test-mouse.sh
@@ -57,7 +57,7 @@ cursor_state() {
57} 57}
58 58
59echo "==> 1/6 build kernel (debug)" 59echo "==> 1/6 build kernel (debug)"
60cargo build --package rsdos --target x86_64-unknown-uefi 60cargo build --release --package rsdos --target x86_64-unknown-uefi
61 61
62echo "==> 2/6 stage system image" 62echo "==> 2/6 stage system image"
63"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" 63"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG"
diff --git a/scripts/test-msg.sh b/scripts/test-msg.sh
index 95b7af3..ff7fd72 100755
--- a/scripts/test-msg.sh
+++ b/scripts/test-msg.sh
@@ -60,7 +60,7 @@ wait_qemu_exit() {
60} 60}
61 61
62echo "==> 1/5 build kernel (debug)" 62echo "==> 1/5 build kernel (debug)"
63cargo build --package rsdos --target x86_64-unknown-uefi 63cargo build --release --package rsdos --target x86_64-unknown-uefi
64 64
65echo "==> 2/5 stage system image" 65echo "==> 2/5 stage system image"
66"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" 66"$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG"