defconf SYSTEM_DISK_FORMAT "qcow2" \
"qcow2|raw|reflink|none" "system disk image format"
-defconf SYSTEM_DISK_ACCESS_METHOD "loopback" \
+defconf SYSTEM_DISK_ACCESS_METHOD "@uto" \
"loopback|guestfish" "how to setup up disk images"
+system_disk_access_method_hook ()
+{
+ if [ "$SYSTEM_DISK_ACCESS_METHOD" = "@uto" ] ; then
+ if [ "$SYSTEM_DISK_FORMAT" = "qcow2" ] ; then
+ if which guestfish >/dev/null 2>&1 ; then
+ SYSTEM_DISK_ACCESS_METHOD="guestfish"
+ elif which qemu-nbd nbd-client >/dev/null 2>&1 ; then
+ SYSTEM_DISK_ACCESS_METHOD="loopback"
+ ISO=$(rhel_print_iso)
+ else
+ die "Can't determine SYSTEM_DISK_ACCESS_METHOD. Need guestfish or qemu-nbd + nbd-client."
+ fi
+ else
+ SYSTEM_DISK_ACCESS_METHOD="loopback"
+ fi
+ fi
+}
+
+register_hook post_config_hooks system_disk_access_method_hook
+
system_disk_mounts ()
{
# We could call a function using call_func(). However, we want