Hi Alex,
Thanks for the write-up, that was quite useful.
2.6 Running Dom0 ────────────────
To avoid complications with broken grub and bios firmware I'm currently just using my direct boot:
┌──── │ ./qemu-system-aarch64 -machine virt,virtualization=on \ │ -cpu cortex-a57 -serial mon:stdio \ │ -nic user,model=virtio-net-pci,hostfwd=tcp::2222-:22 \ │ -device virtio-scsi-pci \ │ -drive file=/dev/zvol/hackpool-0/debian-buster-arm64,id=hd0,index=0,if=none,format=raw \ │ -device scsi-hd,drive=hd0 \ │ -display none \ │ -m 8192 \ │ -kernel ~/lsrc/xen/xen.build.arm64-xen/xen/xen \ │ -append "dom0_mem=2G,max:2G dom0_max_vcpus=4 loglvl=all guest_loglvl=all" \ │ -device guest-loader,addr=0x46000000,kernel=$HOME/lsrc/linux.git/builds/arm64/arch/arm64/boot/Image,bootargs="root=/dev/sda2 console=hvc0 earlyprintk=xen" \ │ -smp 8 └────
Question from a neophyte... I don't know if it is a Xen or a QEMU problem but with the above command line my dom0 kernel couldn't recognise the partition inside of the image and as such wouldn't mount a file system. I had to use the virtio-blk-device interface instead of virtio-scsi-pci as follow:
./qemu-system-aarch64 \ -machine virt,virtualization=on \ -cpu cortex-a57 -serial mon:stdio \ -nic user,model=virtio-net-pci,hostfwd=tcp::8022-:22 \ -drive file=debian-buster-arm64,id=hd0,index=0,if=none,format=raw \ -device virtio-blk-device,drive=hd0 \ -display none \ -m 8192 -smp 4\ -kernel /home/mpoirier/work/stratos/xen/xen/xen/xen \ -append "dom0_mem=2G,max:2G dom0_max_vcpus=4 loglvl=all guest_loglvl=all" \ -device guest-loader,addr=0x46000000,kernel=/home/mpoirier/work/stratos/kernel/builds/dom0/arch/arm64/boot/Image,bootargs="root=/dev/vda2 console=hvc0 earlyprintk=xen"
Only then was I able to boot my dom0 kernel up to a command line. My baselines are:
xen: c76cfada1cfa tools/libacpi: Use 64-byte alignment for FACS QEMU: ecf2706e271f Update version for v6.1.0-rc4 release
Thanks, Mathieu