aboutsummaryrefslogtreecommitdiff
path: root/scripts/qemu-wrapper.sh
blob: 49c01ec38a704803ec1cce55fff421d77b343633 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
# scripts/qemu-wrapper.sh

WORKSPACE_DIR=${1:-.}
BUILD_TYPE=${2:-Debug}
ISO_PATH=$3
IS_DEBUG=${4:-0}

if [ -z "$ISO_PATH" ]; then
    echo "Usage: $0 <workspace_dir> <build_type> <iso_path> [is_debug]"
    exit 1
fi

ARGS=(
  "-m" "32M"
  "-machine" "q35"
  "-smp" "4,sockets=1,cores=4,threads=1"
  "-display" "curses"
  "-debugcon" "file:${WORKSPACE_DIR}/qemu-debugcon-${BUILD_TYPE}.log"
  "-cdrom" "${ISO_PATH}"
)

if [ "$IS_DEBUG" == "1" ]; then
  ARGS=( "-s" "-no-reboot" "-d" "int,cpu_reset" "${ARGS[@]}" )
fi

echo "QEMU WRAPPER: Executing TeachOS"
echo "Arguments: ${ARGS[@]}"

qemu-system-x86_64 "${ARGS[@]}" 2> "${WORKSPACE_DIR}/qemu-stderr-${BUILD_TYPE}.log"