m/installer/install: take OCI image in Params

install.Params now takes an OCI image. This avoids some duplicate code
to extract info from the OCI image in all places which create
install.Params.

Change-Id: I2430ce1101befaa1b1a4781f592d06ee015a0f99
Reviewed-on: https://review.monogon.dev/c/monogon/+/4297
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/test/launch/cluster.go b/metropolis/test/launch/cluster.go
index 744c0cc..118b82d 100644
--- a/metropolis/test/launch/cluster.go
+++ b/metropolis/test/launch/cluster.go
@@ -175,15 +175,6 @@
 		return nil, fmt.Errorf("failed to read OS image: %w", err)
 	}
 
-	efiPayload, err := osImage.PayloadUnverified("kernel.efi")
-	if err != nil {
-		return nil, fmt.Errorf("cannot open EFI payload in OS image: %w", err)
-	}
-	systemImage, err := osImage.PayloadUnverified("system")
-	if err != nil {
-		return nil, fmt.Errorf("cannot open system image in OS image: %w", err)
-	}
-
 	abloader, err := structfs.OSPathBlob(xAbloaderPath)
 	if err != nil {
 		return nil, fmt.Errorf("cannot open abloader: %w", err)
@@ -204,11 +195,10 @@
 			System: 1024,
 			Data:   128,
 		},
-		Architecture: osImage.Config.ProductInfo.Architecture(),
-		SystemImage:  systemImage,
-		EFIPayload:   efiPayload,
-		ABLoader:     abloader,
-		Output:       df,
+		OSImage:            osImage,
+		UnverifiedPayloads: true,
+		ABLoader:           abloader,
+		Output:             df,
 	}
 
 	if _, err := install.Write(installParams); err != nil {