osbuild2: generalise copy stage option generation

Use entity based method `ForEachMountable` and `getDevices` to generate
all mounts and devices in a generic way, which then allows for mounts on
arbitrarily nested devices.

Update manifests and image info:
- New device names generated by `pathdot()` to avoid basename
  collisions.
- Some partitions are generated in a different order now which changes
  the order they appear in the manifest and their UUIDs.

Co-Authored-By: Christian Kellner <christian@kellner.me>
This commit is contained in:
Achilleas Koutsou 2022-02-08 23:24:08 +01:00 committed by Tom Gundersen
parent 16a975fe6f
commit 602111dedd
92 changed files with 356 additions and 360 deletions

View file

@ -1118,7 +1118,7 @@
]
},
"devices": {
"efi": {
"boot.efi": {
"type": "org.osbuild.loopback",
"options": {
"filename": "disk.img",
@ -1143,9 +1143,9 @@
"target": "/"
},
{
"name": "efi",
"name": "boot.efi",
"type": "org.osbuild.fat",
"source": "efi",
"source": "boot.efi",
"target": "/boot/efi"
}
]
@ -11045,7 +11045,7 @@
"fstype": "xfs",
"label": "root",
"partuuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562",
"size": 4189009920,
"size": 4189044224,
"start": 105906176,
"type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
"uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8"