docker-windows/src/entry.sh
Gytis Stoškevičius 6e08a5a2ea Add debug
2025-04-01 10:15:04 +03:00

52 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -Eeuox pipefail
: "${BOOT_MODE:="windows"}"
APP="Windows"
SUPPORT="https://github.com/dockur/windows"
cd /run
. reset.sh # Initialize system
. define.sh # Define versions
. mido.sh # Download code
. install.sh # Run installation
. disk.sh # Initialize disks
. display.sh # Initialize graphics
. network.sh # Initialize network
. samba.sh # Configure samba
. boot.sh # Configure boot
. proc.sh # Initialize processor
. power.sh # Configure shutdown
. config.sh # Configure arguments
trap - ERR
version=$(qemu-system-x86_64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }')
info "Booting ${APP}${BOOT_DESC} using QEMU v$version..."
{
qemu-system-x86_64 ${ARGS:+ $ARGS} >"$QEMU_OUT" 2>"$QEMU_LOG"
rc=$?
} || :
((rc != 0)) && error "$(<"$QEMU_LOG")" && exit 15
terminal
(
sleep 30
boot
configure_guest_network_interface
info "Windows started succesfully, you can now connect using RDP"
if [[ "${NETWORK,,}" != "bridge"* ]]; then
info "or visit http://localhost:8006/ to view the screen..."
fi
touch "$STORAGE/ready"
) &
tail -fn +0 "$QEMU_LOG" 2>/dev/null &
cat "$QEMU_TERM" 2>/dev/null | tee "$QEMU_PTY" &
wait $! || :
sleep 1 &
wait $!
[ ! -f "$QEMU_END" ] && finish 0