mirror of
https://github.com/RGBCube/serenity
synced 2025-05-30 17:28:10 +00:00

Define the multiboot info struct properly so we don't have to grab at byte offsets in the memory access checker code. Also print kernel command line in init().
54 lines
1.6 KiB
Bash
Executable file
54 lines
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
[ -z "$SERENITY_QEMU_BIN" ] && SERENITY_QEMU_BIN="qemu-system-i386"
|
|
|
|
SERENITY_KERNEL_CMDLINE="hello"
|
|
|
|
export SDL_VIDEO_X11_DGAMOUSE=0
|
|
ram_size=128
|
|
|
|
if [ "$1" = "b" ]; then
|
|
# ./run b: bochs
|
|
bochs -q -f .bochsrc
|
|
elif [ "$1" = "qn" ]; then
|
|
# ./run qn: qemu without network
|
|
$SERENITY_QEMU_BIN -s -m $ram_size \
|
|
$SERENITY_EXTRA_QEMU_ARGS \
|
|
-d cpu_reset,guest_errors \
|
|
-device VGA,vgamem_mb=64 \
|
|
-debugcon stdio \
|
|
-device e1000 \
|
|
-kernel kernel \
|
|
-append ${SERENITY_KERNEL_CMDLINE} \
|
|
-hda _fs_contents \
|
|
-soundhw pcspk
|
|
elif [ "$1" = "qtap" ]; then
|
|
# ./run qtap: qemu with tap
|
|
sudo $SERENITY_QEMU_BIN -s -m $ram_size \
|
|
$SERENITY_EXTRA_QEMU_ARGS \
|
|
-d cpu_reset,guest_errors \
|
|
-device VGA,vgamem_mb=64 \
|
|
-debugcon stdio \
|
|
-object filter-dump,id=hue,netdev=br0,file=e1000.pcap \
|
|
-netdev tap,ifname=tap0,id=br0 \
|
|
-device e1000,netdev=br0 \
|
|
-kernel kernel \
|
|
-append ${SERENITY_KERNEL_CMDLINE} \
|
|
-hda _fs_contents \
|
|
-soundhw pcspk
|
|
else
|
|
# ./run: qemu with user networking
|
|
$SERENITY_QEMU_BIN -s -m $ram_size \
|
|
$SERENITY_EXTRA_QEMU_ARGS \
|
|
-d cpu_reset,guest_errors \
|
|
-device VGA,vgamem_mb=64 \
|
|
-debugcon stdio \
|
|
-object filter-dump,id=hue,netdev=breh,file=e1000.pcap \
|
|
-netdev user,id=breh,hostfwd=tcp:127.0.0.1:8888-192.168.5.2:8888 \
|
|
-device e1000,netdev=breh \
|
|
-kernel kernel \
|
|
-append ${SERENITY_KERNEL_CMDLINE} \
|
|
-hda _fs_contents \
|
|
-soundhw pcspk
|
|
fi
|
|
|