diff options
| author | salmonik <salmonik@tuta.io> | 2026-08-27 18:39:29 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-08-27 18:39:29 +0200 |
| commit | 277218fe1ba1e3616bd147c9d9abecfc56b9957f (patch) | |
| tree | 0b57bdd8244db6e457dcc3203096d8b5465933fe | |
| parent | scripts: migrate all QEMU/test scripts to single system image (diff) | |
| download | rs-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-- | Makefile | 6 | ||||
| -rwxr-xr-x | scripts/boot.sh | 16 | ||||
| -rwxr-xr-x | scripts/mksystem.sh | 4 | ||||
| -rwxr-xr-x | scripts/test-disk.sh | 2 | ||||
| -rwxr-xr-x | scripts/test-fault.sh | 2 | ||||
| -rwxr-xr-x | scripts/test-gfx.sh | 2 | ||||
| -rwxr-xr-x | scripts/test-mouse.sh | 2 | ||||
| -rwxr-xr-x | scripts/test-msg.sh | 2 |
8 files changed, 20 insertions, 16 deletions
| @@ -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. |
| 3 | export TARGET=x86_64-unknown-uefi | 3 | export TARGET=x86_64-unknown-uefi |
| 4 | export PROFILE=debug | 4 | export PROFILE=release |
| 5 | export OUT_DIR=target/$(TARGET)/$(PROFILE) | 5 | export OUT_DIR=target/$(TARGET)/$(PROFILE) |
| 6 | export ESP_DIR=esp | 6 | export ESP_DIR=esp |
| 7 | export KERNEL=$(OUT_DIR)/rsdos.efi | 7 | export KERNEL=$(OUT_DIR)/rsdos.efi |
| @@ -25,8 +25,8 @@ release: export OUT_DIR=target/$(TARGET)/release | |||
| 25 | release: CARGO_FLAGS=--release | 25 | release: CARGO_FLAGS=--release |
| 26 | release: all | 26 | release: all |
| 27 | 27 | ||
| 28 | # shellcheck disable=SC2034 | 28 | # CARGO_FLAGS set by PROFILE above |
| 29 | CARGO_FLAGS= | 29 | CARGO_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}" | |||
| 32 | MEM="${MEM:-256M}" | 32 | MEM="${MEM:-256M}" |
| 33 | SMP="${SMP:-1}" | 33 | SMP="${SMP:-1}" |
| 34 | SYSTEM_IMG="${SYSTEM_IMG:-/tmp/system.img}" | 34 | SYSTEM_IMG="${SYSTEM_IMG:-/tmp/system.img}" |
| 35 | PROFILE="debug" | 35 | PROFILE="release" |
| 36 | CARGO_FLAGS="" | 36 | |
| 37 | GUI="" | 37 | GUI="" |
| 38 | DEBUG="" | 38 | DEBUG="" |
| 39 | 39 | ||
| @@ -41,9 +41,9 @@ DEBUG="" | |||
| 41 | source "$SCRIPT_DIR/lib-boot-args.sh" | 41 | source "$SCRIPT_DIR/lib-boot-args.sh" |
| 42 | handle_arg() { | 42 | handle_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 ---- |
| 59 | echo "=== Building kernel ($PROFILE) ===" | 59 | echo "=== Building kernel ($PROFILE) ===" |
| 60 | cargo build --package rsdos --target x86_64-unknown-uefi $CARGO_FLAGS | 60 | if [ "$PROFILE" = "release" ]; then |
| 61 | cargo build --release --package rsdos --target x86_64-unknown-uefi | ||
| 62 | else | ||
| 63 | cargo build --package rsdos --target x86_64-unknown-uefi | ||
| 64 | fi | ||
| 61 | 65 | ||
| 62 | # ---- stage system image ---- | 66 | # ---- stage system image ---- |
| 63 | echo "=== Staging system image ===" | 67 | echo "=== 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 | |||
| 78 | done | 78 | done |
| 79 | 79 | ||
| 80 | TARGET=x86_64-unknown-uefi | 80 | TARGET=x86_64-unknown-uefi |
| 81 | PROFILE=debug | 81 | PROFILE=release |
| 82 | OUT_DIR="target/$TARGET/$PROFILE" | 82 | OUT_DIR="target/$TARGET/$PROFILE" |
| 83 | KERNEL="$OUT_DIR/rsdos.efi" | 83 | KERNEL="$OUT_DIR/rsdos.efi" |
| 84 | BZIMAGE="esp/bzImage" | 84 | BZIMAGE="esp/bzImage" |
| @@ -109,7 +109,7 @@ fi | |||
| 109 | # ---- build kernel ---- | 109 | # ---- build kernel ---- |
| 110 | if [ ! -f "$KERNEL" ]; then | 110 | if [ ! -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" |
| 113 | fi | 113 | fi |
| 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 | ||
| 68 | echo "==> 1/6 build kernel (debug)" | 68 | echo "==> 1/6 build kernel (debug)" |
| 69 | cargo build --package rsdos --target x86_64-unknown-uefi | 69 | cargo build --release --package rsdos --target x86_64-unknown-uefi |
| 70 | 70 | ||
| 71 | echo "==> 2/6 ensure system image" | 71 | echo "==> 2/6 ensure system image" |
| 72 | if [ "$FRESH" -eq 1 ]; then | 72 | if [ "$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 | ||
| 43 | echo "==> 1/5 build kernel (debug)" | 43 | echo "==> 1/5 build kernel (debug)" |
| 44 | cargo build --package rsdos --target x86_64-unknown-uefi | 44 | cargo build --release --package rsdos --target x86_64-unknown-uefi |
| 45 | 45 | ||
| 46 | echo "==> 2/5 stage system image" | 46 | echo "==> 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 | ||
| 42 | echo "==> 1/5 build kernel (debug)" | 42 | echo "==> 1/5 build kernel (debug)" |
| 43 | cargo build --package rsdos --target x86_64-unknown-uefi | 43 | cargo build --release --package rsdos --target x86_64-unknown-uefi |
| 44 | 44 | ||
| 45 | echo "==> 2/5 stage system image" | 45 | echo "==> 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 | ||
| 59 | echo "==> 1/6 build kernel (debug)" | 59 | echo "==> 1/6 build kernel (debug)" |
| 60 | cargo build --package rsdos --target x86_64-unknown-uefi | 60 | cargo build --release --package rsdos --target x86_64-unknown-uefi |
| 61 | 61 | ||
| 62 | echo "==> 2/6 stage system image" | 62 | echo "==> 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 | ||
| 62 | echo "==> 1/5 build kernel (debug)" | 62 | echo "==> 1/5 build kernel (debug)" |
| 63 | cargo build --package rsdos --target x86_64-unknown-uefi | 63 | cargo build --release --package rsdos --target x86_64-unknown-uefi |
| 64 | 64 | ||
| 65 | echo "==> 2/5 stage system image" | 65 | echo "==> 2/5 stage system image" |
| 66 | "$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" | 66 | "$SCRIPT_DIR/mksystem.sh" --force "$SYSTEM_IMG" |
