mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-22 17:03:23 +00:00
Implement the next OSDK
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
79bdbbe4f9
commit
e4c2151566
65
tools/qemu_args.sh
Executable file
65
tools/qemu_args.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
RAND_PORT_NUM1=$(shuf -i 1024-65535 -n 1)
|
||||
RAND_PORT_NUM2=$(shuf -i 1024-65535 -n 1)
|
||||
|
||||
echo "Forwarded QEMU guest port: $RAND_PORT_NUM1->22; $RAND_PORT_NUM2->8080" 1>&2
|
||||
|
||||
COMMON_QEMU_ARGS="\
|
||||
-cpu Icelake-Server,+x2apic \
|
||||
-smp $SMP \
|
||||
-m $MEM \
|
||||
--no-reboot \
|
||||
-nographic \
|
||||
-display none \
|
||||
-serial chardev:mux \
|
||||
-monitor chardev:mux \
|
||||
-chardev stdio,id=mux,mux=on,signal=off,logfile=qemu.log \
|
||||
-netdev user,id=net01,hostfwd=tcp::$RAND_PORT_NUM1-:22,hostfwd=tcp::$RAND_PORT_NUM2-:8080 \
|
||||
-object filter-dump,id=filter0,netdev=net01,file=virtio-net.pcap \
|
||||
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
|
||||
-drive if=none,format=raw,id=x0,file=$EXT2_IMG \
|
||||
-drive if=none,format=raw,id=x1,file=$EXFAT_IMG \
|
||||
"
|
||||
|
||||
QEMU_ARGS="\
|
||||
$COMMON_QEMU_ARGS \
|
||||
-machine q35,kernel-irqchip=split \
|
||||
-device virtio-blk-pci,bus=pcie.0,addr=0x6,drive=x0,serial=vext2,disable-legacy=on,disable-modern=off$IOMMU_DEV_EXTRA \
|
||||
-device virtio-blk-pci,bus=pcie.0,addr=0x7,drive=x1,serial=vexfat,disable-legacy=on,disable-modern=off$IOMMU_DEV_EXTRA \
|
||||
-device virtio-keyboard-pci,disable-legacy=on,disable-modern=off$IOMMU_DEV_EXTRA \
|
||||
-device virtio-net-pci,netdev=net01,disable-legacy=on,disable-modern=off$IOMMU_DEV_EXTRA \
|
||||
-device virtio-serial-pci,disable-legacy=on,disable-modern=off$IOMMU_DEV_EXTRA \
|
||||
-device virtconsole,chardev=mux \
|
||||
$IOMMU_EXTRA_ARGS \
|
||||
"
|
||||
|
||||
MICROVM_QEMU_ARGS="\
|
||||
$COMMON_QEMU_ARGS \
|
||||
-machine microvm,rtc=on \
|
||||
-nodefaults \
|
||||
-no-user-config \
|
||||
-device virtio-blk-device,drive=x0,serial=vext2 \
|
||||
-device virtio-blk-device,drive=x1,serial=vexfat \
|
||||
-device virtio-keyboard-device \
|
||||
-device virtio-net-device,netdev=net01 \
|
||||
-device virtio-serial-device \
|
||||
-device virtconsole,chardev=mux \
|
||||
"
|
||||
|
||||
if [ "$MICROVM" ]; then
|
||||
QEMU_ARGS=$MICROVM_QEMU_ARGS
|
||||
echo $QEMU_ARGS
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$OVMF_PATH" ]; then
|
||||
QEMU_ARGS="${QEMU_ARGS}\
|
||||
-drive if=pflash,format=raw,unit=0,readonly=on,file=$OVMF_PATH/OVMF_CODE.fd \
|
||||
-drive if=pflash,format=raw,unit=1,file=$OVMF_PATH/OVMF_VARS.fd \
|
||||
"
|
||||
fi
|
||||
|
||||
echo $QEMU_ARGS
|
Reference in New Issue
Block a user