I want to pass additional kernel command line arguments to QEMU using the "-append" argument (the image is being booted with "-kernel" and "-initrd", so I cannot pass additional arguments using the bootloader), using the "--qemu-option" argument. E.g:
autopkgtest bash -- qemu --qemu-options "-append 'root=/dev/vda init=/sbin/init plus additional parameters' -kernel /boot/vmlinuz -initrd /boot/initrd.img" --boot none image.img
This should result in the command line option "-append 'root=/dev/vda init=/sbin/init plus additional parameters'" being added to QEMU.
However, the value passed to "--qemu-option" is cut up into individual arguments using the Python function split() ("qemu_options=args.qemu_options.split()" in autopkgtest-virt-qemu). This causes the quoted section to be ignored and split up into additional arguments (irrelevant output removed):
autopkgtest-virt-qemu: DBG: full qemu command-line: ['qemu-system-aarch64', ... '-append', "'root=/dev/vda", 'init=/sbin/init', 'plus', 'additional', "parameters'", '-kernel', '/boot/vmlinuz', '-initrd', '/boot/initrd.img']
Each individual element of the "-append" argument is interpreted as an individual argument which is then additionally passed to qemu-system, as opposed to just being a single argument.
The output should look more like this:
autopkgtest-virt-qemu: DBG: full qemu command-line: ['qemu-system-aarch64', ... '-append', 'root=/dev/vda init=/sbin/init plus additional parameters', '-kernel', '/boot/vmlinuz', '-initrd', '/boot/initrd.img']