mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-24 18:24:45 -05:00
aeefcd6ddb
This should give us access to the largest set of CPU features available on the host machine.
84 lines
2.6 KiB
Bash
Executable file
84 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
|
|
cd "$script_path"
|
|
|
|
#SERENITY_PACKET_LOGGING_ARG="-object filter-dump,id=hue,netdev=breh,file=e1000.pcap"
|
|
|
|
[ -e /dev/kvm -a -r /dev/kvm -a -w /dev/kvm ] && SERENITY_KVM_ARG="-enable-kvm"
|
|
|
|
[ -z "$SERENITY_BOCHS_BIN" ] && SERENITY_BOCHS_BIN="bochs"
|
|
|
|
[ -z "$SERENITY_QEMU_BIN" ] && SERENITY_QEMU_BIN="qemu-system-i386"
|
|
|
|
[ -z "$SERENITY_KERNEL_CMDLINE" ] && SERENITY_KERNEL_CMDLINE="hello"
|
|
|
|
[ -z "$SERENITY_RAM_SIZE" ] && SERENITY_RAM_SIZE=128M
|
|
|
|
[ -z "$SERENITY_COMMON_QEMU_ARGS" ] && SERENITY_COMMON_QEMU_ARGS="
|
|
$SERENITY_EXTRA_QEMU_ARGS
|
|
-s -m $SERENITY_RAM_SIZE
|
|
-cpu max
|
|
-d cpu_reset,guest_errors
|
|
-device VGA,vgamem_mb=64
|
|
-hda _disk_image
|
|
-debugcon stdio
|
|
-soundhw pcspk
|
|
-soundhw sb16
|
|
"
|
|
|
|
export SDL_VIDEO_X11_DGAMOUSE=0
|
|
|
|
if [ "$1" = "b" ]; then
|
|
# ./run b: bochs
|
|
$SERENITY_BOCHS_BIN -q -f .bochsrc
|
|
elif [ "$1" = "qn" ]; then
|
|
# ./run qn: qemu without network
|
|
$SERENITY_QEMU_BIN \
|
|
$SERENITY_COMMON_QEMU_ARGS \
|
|
-device e1000 \
|
|
-kernel kernel \
|
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
|
elif [ "$1" = "qtap" ]; then
|
|
# ./run qtap: qemu with tap
|
|
sudo $SERENITY_QEMU_BIN \
|
|
$SERENITY_COMMON_QEMU_ARGS \
|
|
$SERENITY_KVM_ARG \
|
|
$SERENITY_PACKET_LOGGING_ARG \
|
|
-netdev tap,ifname=tap0,id=br0 \
|
|
-device e1000,netdev=br0 \
|
|
-kernel kernel \
|
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
|
elif [ "$1" = "qgrub" ]; then
|
|
# ./run qgrub: qemu with grub
|
|
$SERENITY_QEMU_BIN \
|
|
$SERENITY_COMMON_QEMU_ARGS \
|
|
$SERENITY_KVM_ARG \
|
|
$SERENITY_PACKET_LOGGING_ARG \
|
|
-netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23 \
|
|
-device e1000,netdev=breh
|
|
elif [ "$1" = "qcmd" ]; then
|
|
SERENITY_KERNEL_CMDLINE=""
|
|
# FIXME: Someone who knows sh syntax better, please help:
|
|
for i in `seq 2 $#`; do
|
|
shift
|
|
SERENITY_KERNEL_CMDLINE="$SERENITY_KERNEL_CMDLINE $1"
|
|
done
|
|
echo "Starting SerenityOS, Commandline: ${SERENITY_KERNEL_CMDLINE}"
|
|
# ./run: qemu with serenity with custom commandline
|
|
$SERENITY_QEMU_BIN \
|
|
$SERENITY_COMMON_QEMU_ARGS \
|
|
-device e1000 \
|
|
-kernel kernel \
|
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
|
else
|
|
# ./run: qemu with user networking
|
|
$SERENITY_QEMU_BIN \
|
|
$SERENITY_COMMON_QEMU_ARGS \
|
|
$SERENITY_KVM_ARG \
|
|
$SERENITY_PACKET_LOGGING_ARG \
|
|
-netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-10.0.2.15:8888,hostfwd=tcp:127.0.0.1:8823-10.0.2.15:23 \
|
|
-device e1000,netdev=breh \
|
|
-kernel kernel \
|
|
-append "${SERENITY_KERNEL_CMDLINE}"
|
|
fi
|