Skip to content

Clean up unattended installation code

This patch series does a few things that are not exactly related to each other but, somehow, still are.

The first two patches are related to genisoimage:

  • First one prefers genisoimage command instead of mksiofs (as it'd also work for Debian);
  • Update README to mention genisoimage as a runtime dep;

The following patches are preparing the ground for a unified way to do express installations for Linuxes and those depend on still unreleased (and not even merged) osinfo-db patches0. Also, some cleanup was done as the current logic is making really bad assumptions and could break Boxes at any moment due to not using libvirt-glib APIs in the intended way (or, at least, without using them with some understand of what was done under the hood on libvirt side);

  • Rely on osinfo-db for set_*_disk();
  • Avoid setting a letter as target dev;

Then, finally, we unify Linuxes express installations by preferring initrd injections over disk injections, as initrd injections are, by far, the most compatible way to do so and also the way done on virt-install (hey, we have two consumers running basically the same code path on libosinfo!):

  • Prefer initrd over disk as injection method;

Last bunch of patches are adding "cdrom" as preferred injection method for Windowses (bye, bye XP!). With this change we can drop mtools dependency on Boxes together with the whole code dealing with multiple disks (as, now, differently than what we had with floppy, all the files can fit into the media).

There are a few things that still have to be done/fixed before this series can be pushed:

  • More extensive tests on Windowses, which I plan to do sooner than later;
  • Update the virtio drivers, as current drivers for Windows 7 would just break the installation;
  • Have an osinfo-db release with the needed changes merged;

So, yes, this is a work in progress and it'll still require some time. However, the sooner we have the reviews, better as this series is touching a quite important part of the project.

Edited by Fabiano Fidêncio

Merge request reports