45 lines
953 B
Bash
Executable File
45 lines
953 B
Bash
Executable File
#! /bin/bash
|
|
|
|
set -e
|
|
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo $DIR
|
|
|
|
BUILD_DIR="${DIR}/../builddbg"
|
|
|
|
pushd $BUILD_DIR
|
|
ninja
|
|
ninja install
|
|
|
|
CARGO_USR_ROOT="${DIR}/../sysroot/usr/"
|
|
CARGO_SYS_ROOT="${DIR}/../sysroot/"
|
|
|
|
# Need to pushd so rustup gets the toolchain from rust/rust_toolchain.toml
|
|
pushd "${DIR}/../rust"
|
|
|
|
for BIN in ${DIR}/../rust/usr/*/; do
|
|
cargo install --force --path "${BIN}" --root $CARGO_USR_ROOT
|
|
done
|
|
|
|
for BIN in ${DIR}/../rust/sys/*/; do
|
|
cargo install --force --path "${BIN}" --root $CARGO_SYS_ROOT
|
|
done
|
|
popd
|
|
|
|
sudo sh ${DIR}/build_image.sh disk.img
|
|
|
|
QEMU_ARGS=
|
|
if [[ $1 == "debug" ]]; then
|
|
QEMU_ARGS+="-S -s"
|
|
fi
|
|
|
|
# Use machine q35 to access PCI devices.
|
|
qemu-system-x86_64 -machine q35 -d guest_errors -m 1G -serial stdio -hda disk.img ${QEMU_ARGS} -device nec-usb-xhci,id=xhci -device usb-kbd,bus=xhci.0
|
|
popd
|
|
|
|
# Extra options to add to this script in the future.
|
|
# Debug opts: -S -s
|
|
# Interrupt opts: -d int
|
|
|