115 lines
2.8 KiB
TOML
115 lines
2.8 KiB
TOML
# The OSDK manifest at the Asterinas root virtual workspace
|
|
# provides default OSDK settings for all packages.
|
|
|
|
# The common options for build, run and test
|
|
[boot]
|
|
method = "grub-rescue-iso"
|
|
|
|
[grub]
|
|
boot_protocol = "multiboot2"
|
|
|
|
[qemu]
|
|
args = "$(./tools/qemu_args.sh normal)"
|
|
|
|
# Special options for running
|
|
[run.boot]
|
|
kcmd_args = [
|
|
"SHELL=/bin/sh",
|
|
"LOGNAME=root",
|
|
"HOME=/",
|
|
"USER=root",
|
|
"PATH=/bin:/benchmark",
|
|
"init=/usr/bin/busybox",
|
|
]
|
|
init_args = ["/init"]
|
|
initramfs = "test/initramfs/build/initramfs.cpio.gz"
|
|
|
|
# Special options for testing
|
|
[test.qemu]
|
|
args = "$(./tools/qemu_args.sh test)"
|
|
|
|
# Other Schemes
|
|
|
|
[scheme."microvm"]
|
|
boot.method = "qemu-direct"
|
|
build.strip_elf = true
|
|
qemu.args = "$(./tools/qemu_args.sh microvm)"
|
|
|
|
[scheme."iommu"]
|
|
supported_archs = ["x86_64"]
|
|
qemu.args = "$(./tools/qemu_args.sh iommu)"
|
|
|
|
[scheme."tdx"]
|
|
supported_archs = ["x86_64"]
|
|
build.features = ["cvm_guest"]
|
|
boot.method = "grub-qcow2"
|
|
grub.boot_protocol = "linux"
|
|
qemu.args = "$(./tools/qemu_args.sh tdx)"
|
|
|
|
[scheme."riscv"]
|
|
supported_archs = ["riscv64"]
|
|
boot.method = "qemu-direct"
|
|
build.strip_elf = false
|
|
|
|
qemu.args = """\
|
|
-cpu rv64,svpbmt=true \
|
|
-machine virt \
|
|
-m ${MEM-:8G} \
|
|
-smp ${SMP-:1} \
|
|
--no-reboot \
|
|
-nographic \
|
|
-display none \
|
|
-serial chardev:mux \
|
|
-monitor chardev:mux \
|
|
-chardev stdio,id=mux,mux=on,signal=off,logfile=qemu.log \
|
|
-drive if=none,format=raw,id=x0,file=./test/initramfs/build/ext2.img \
|
|
-drive if=none,format=raw,id=x1,file=./test/initramfs/build/exfat.img \
|
|
# NOTE: The `/etc/profile.d/init.sh` assumes that `ext2.img` appears as the first block device (`/dev/vda`).
|
|
# The ordering below ensures `x1` (ext2.img) is discovered before `x0`, maintaining this assumption.
|
|
# TODO: Once UUID-based mounting is implemented, this strict ordering will no longer be required.
|
|
-device virtio-blk-device,drive=x1 \
|
|
-device virtio-blk-device,drive=x0 \
|
|
-device virtio-keyboard-device \
|
|
-device virtio-serial-device \
|
|
-device virtconsole,chardev=mux \
|
|
"""
|
|
|
|
[scheme."sifive_u"]
|
|
supported_archs = ["riscv64"]
|
|
build.features = ["riscv_sv39_mode"]
|
|
boot.method = "qemu-direct"
|
|
build.strip_elf = false
|
|
qemu.with_monitor = true
|
|
|
|
qemu.args = """\
|
|
-machine sifive_u \
|
|
-m 8G \
|
|
-smp 5 \
|
|
-no-reboot \
|
|
-nographic \
|
|
-display none \
|
|
-serial chardev:mux \
|
|
-monitor chardev:mux \
|
|
-chardev stdio,id=mux,mux=on,signal=off,logfile=qemu.log
|
|
"""
|
|
|
|
[scheme."loongarch"]
|
|
boot.method = "qemu-direct"
|
|
build.strip_elf = false
|
|
|
|
qemu.args = """\
|
|
-machine virt \
|
|
-m 8G \
|
|
-smp 1 \
|
|
--no-reboot \
|
|
-nographic \
|
|
-display none \
|
|
-serial chardev:mux \
|
|
-monitor chardev:mux \
|
|
-chardev stdio,id=mux,mux=on,signal=off,logfile=qemu.log \
|
|
-device virtio-keyboard-pci \
|
|
-device virtio-serial \
|
|
-device virtconsole,chardev=mux \
|
|
-rtc base=utc
|
|
"""
|