Bug#963265: simple-cdd: Improve qemu support
On Sun, Jun 21, 2020 at 1:32 PM, Vagrant Cascadian wrote: On 2020-06-21, John Franklin wrote: * Change the name to qemu-test.hd.qcow2 to make it more obvious to a developer what the file is and its format. I'd prefer not to change the filename, as then it would have to be changed whenever the file format changes. If the format changes, then the extension should change, too. That's not a heavy lift. * Move the file to the $simple_cdd_tmp folder, in a qemu subfolder, to better organize it with the rest fo the temporary build files. Mixed feelings on this; wondering if it wouldn't make sene to go into the images folder instead. Or maybe $simple_cdd_tmp is fine. The images folder is where final artifacts end up. All the rest of the intermediary files are in the tmp directory. This patch puts it in a place dedicated to the qemu part of the process. If you're runnig with UEFI firmware, you may want to include `-drive if=pflash,format=raw,file=profile_OVMF_VARS.fd` to define where the UEFI nvram should be stored. In that case, the nvram file should also be in the tmp/qemu directory. (Future patch coming!) It does seem to change commented out example size, which doesn't seem necessary, it only being an example? I think I had put an example in there which was a non-default value for qemu-img at the time... but in general I'd like to keep the defaults to whatever qemu-img spits out. Size is a required parameter if the file doesn't already exist. ``` $ qemu-img create test.img qemu-img: test.img: Image creation needs a size parameter ``` * If hd_img isn't an absolute path, store it in tmp/qemu. Mixed feelings on that, as mentioned above. Happy to merge most of it; could you re-write the git history so that the contested points are in separate commits? Then I can merge the uncontested patches while we sort out the remainder. Done. jf -- John Franklin frank...@sentaidigital.com
Bug#963265: simple-cdd: Improve qemu support
On 2020-06-21, John Franklin wrote: > While using simple-cdd this weekend, I discovered a few things about the disk > image used with qemu-based testing. Thanks for submitting! > The simple-cdd.conf.detailed file documents two settings for the disk image: > hd_img and hd_size. These two settings are ignored by simple-cdd. > > The default disk is a qcow image with the name qemu-test.hd.img stored in the > project root. There are four improvements I'd like to make here: > > > * Change this to a qcow2 format to open up additional capabilities of the > qcow2 > format. This may also improve performance (untested). Sounds good. > * Change the name to qemu-test.hd.qcow2 to make it more obvious to a developer > what the file is and its format. I'd prefer not to change the filename, as then it would have to be changed whenever the file format changes. > * Move the file to the $simple_cdd_tmp folder, in a qemu subfolder, to better > organize it with the rest fo the temporary build files. Mixed feelings on this; wondering if it wouldn't make sene to go into the images folder instead. Or maybe $simple_cdd_tmp is fine. > * Change the script to use qemu's -drive option to improve the speed of the > disk emulation. With the existing -hda setting, even simple tests take hours > to complete, whereas -drive with some extra options reduces it to a couple > minutes. Great! > The PR at https://salsa.debian.org/debian/simple-cdd/-/merge_requests/2 > addresses all of the above issues: Thanks! > * Honor hd_img and hd_size, if they're set. Overall, looks good! It does seem to change commented out example size, which doesn't seem necessary, it only being an example? I think I had put an example in there which was a non-default value for qemu-img at the time... but in general I'd like to keep the defaults to whatever qemu-img spits out. > * Change default hd_img format and extension to qcow2. As mentioned above, fine with changing the format, but would rather not change the filename extension. > * Use -drive instead of -hda for more options and performance. Sounds good; this project was started 15+ years ago and it shows! :) > * If hd_img isn't an absolute path, store it in tmp/qemu. Mixed feelings on that, as mentioned above. Happy to merge most of it; could you re-write the git history so that the contested points are in separate commits? Then I can merge the uncontested patches while we sort out the remainder. live well, vagrant signature.asc Description: PGP signature
Bug#963265: simple-cdd: Improve qemu support
Package: simple-cdd Version: 0.6.7 Severity: normal While using simple-cdd this weekend, I discovered a few things about the disk image used with qemu-based testing. The simple-cdd.conf.detailed file documents two settings for the disk image: hd_img and hd_size. These two settings are ignored by simple-cdd. The default disk is a qcow image with the name qemu-test.hd.img stored in the project root. There are four improvements I'd like to make here: * Change this to a qcow2 format to open up additional capabilities of the qcow2 format. This may also improve performance (untested). * Change the name to qemu-test.hd.qcow2 to make it more obvious to a developer what the file is and its format. * Move the file to the $simple_cdd_tmp folder, in a qemu subfolder, to better organize it with the rest fo the temporary build files. * Change the script to use qemu's -drive option to improve the speed of the disk emulation. With the existing -hda setting, even simple tests take hours to complete, whereas -drive with some extra options reduces it to a couple minutes. The PR at https://salsa.debian.org/debian/simple-cdd/-/merge_requests/2 addresses all of the above issues: * Honor hd_img and hd_size, if they're set. * Change default hd_img format and extension to qcow2. * Use -drive instead of -hda for more options and performance. * If hd_img isn't an absolute path, store it in tmp/qemu. -- System Information: Debian Release: 10.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.5.0-0.bpo.2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages simple-cdd depends on: ii dctrl-tools 2.24-3 ii debian-cd 3.1.25 ii lsb-release 10.2019051400 ii python3 3.7.3-1 ii python3-simple-cdd 0.6.7 ii reprepro5.3.0-1 ii rsync 3.1.3-6 ii wget1.20.1-1.1 Versions of packages simple-cdd recommends: ii dose-distcheck 5.0.1-12 Versions of packages simple-cdd suggests: ii qemu-kvm 1:3.1+dfsg-8+deb10u5 -- no debconf information signature.asc Description: PGP signature