From bd8cd7443a6078bf0aa35db41bfd2cb06b92258f Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Thu, 15 Jul 2021 19:54:37 +0000 Subject: [PATCH] test/data: split up the bootiso stage Use the new `squashfs`, `grub2.iso` and `isolinux` stage to re- plicate what the `bootiso.mono` stage was doing, which is now considered deprecated. --- .../data/manifests/fedora-ostree-bootiso.json | 301 +++++++++++++--- .../manifests/fedora-ostree-bootiso.mpp.json | 323 +++++++++++++++--- 2 files changed, 532 insertions(+), 92 deletions(-) diff --git a/test/data/manifests/fedora-ostree-bootiso.json b/test/data/manifests/fedora-ostree-bootiso.json index 7c0ec85f..3f43bb97 100644 --- a/test/data/manifests/fedora-ostree-bootiso.json +++ b/test/data/manifests/fedora-ostree-bootiso.json @@ -1700,10 +1700,269 @@ } ] }, + { + "name": "rootfs-image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.mkdir", + "options": { + "paths": [ + { + "path": "LiveOS" + } + ] + } + }, + { + "type": "org.osbuild.truncate", + "options": { + "filename": "LiveOS/rootfs.img", + "size": "3GB" + } + }, + { + "type": "org.osbuild.mkfs.ext4", + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "LiveOS/rootfs.img" + } + } + }, + "options": { + "label": "Anaconda", + "uuid": "383367fa-6a09-4def-8c30-507e0b3cf1f7" + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://tree/", + "to": "mount://root/" + } + ] + }, + "devices": { + "root": { + "type": "org.osbuild.loopback", + "options": { + "filename": "LiveOS/rootfs.img" + } + } + }, + "mounts": { + "root": { + "type": "org.osbuild.ext4", + "source": "root", + "target": "/" + } + } + } + ] + }, + { + "name": "efiboot-tree", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.grub2.iso", + "options": { + "product": { + "name": "Fedora-IoT", + "version": "34" + }, + "isolabel": "Fedora-34-X86_64", + "kernel": { + "dir": "/images/pxeboot", + "opts": [ + "inst.ks=hd:LABEL=Fedora-34-X86_64:/install.ks" + ] + }, + "architectures": [ + "IA32", + "X64" + ], + "vendor": "fedora" + } + } + ] + }, { "name": "bootiso-tree", "build": "name:build", "stages": [ + { + "type": "org.osbuild.mkdir", + "options": { + "paths": [ + { + "path": "images" + }, + { + "path": "images/pxeboot" + } + ] + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "base": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://base/boot/vmlinuz-5.11.12-300.fc34.x86_64", + "to": "tree:///images/pxeboot/vmlinuz" + }, + { + "from": "input://base/boot/initramfs-5.11.12-300.fc34.x86_64.img", + "to": "tree:///images/pxeboot/initrd.img" + } + ] + } + }, + { + "type": "org.osbuild.squashfs", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:rootfs-image" + ] + } + }, + "options": { + "filename": "images/install.img", + "compression": { + "method": "xz", + "options": { + "bcj": "x86" + } + } + } + }, + { + "type": "org.osbuild.isolinux", + "inputs": { + "data": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "product": { + "name": "Fedora-IoT", + "version": "34" + }, + "kernel": { + "dir": "/images/pxeboot", + "opts": [ + "inst.ks=hd:LABEL=Fedora-34-X86_64:/install.ks" + ] + } + } + }, + { + "type": "org.osbuild.truncate", + "options": { + "filename": "images/efiboot.img", + "size": "20MB" + } + }, + { + "type": "org.osbuild.mkfs.fat", + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "images/efiboot.img" + } + } + }, + "options": { + "label": "ANACONDA", + "volid": "7B7795E7" + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:efiboot-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://tree/", + "to": "mount://efi/" + } + ] + }, + "devices": { + "efi": { + "type": "org.osbuild.loopback", + "options": { + "filename": "images/efiboot.img" + } + } + }, + "mounts": { + "efi": { + "type": "org.osbuild.fat", + "source": "efi", + "target": "/" + } + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "base": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:efiboot-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://base/EFI", + "to": "tree:///" + } + ] + } + }, { "type": "org.osbuild.ostree.init", "options": { @@ -1747,48 +2006,6 @@ } } }, - { - "type": "org.osbuild.bootiso.mono", - "inputs": { - "rootfs": { - "type": "org.osbuild.tree", - "origin": "org.osbuild.pipeline", - "references": [ - "name:anaconda-tree" - ] - } - }, - "options": { - "product": { - "name": "Fedora-IoT", - "version": "34" - }, - "isolabel": "Fedora-34-X86_64", - "kernel": "5.11.12-300.fc34.x86_64", - "efi": { - "architectures": [ - "IA32", - "X64" - ], - "vendor": "fedora" - }, - "isolinux": { - "enabled": true, - "debug": false - }, - "templates": "99-generic", - "rootfs": { - "size": 3584, - "compression": { - "method": "xz", - "options": { - "bcj": "x86" - } - } - }, - "kernel_opts": "inst.ks=hd:LABEL=Fedora-34-X86_64:/install.ks" - } - }, { "type": "org.osbuild.discinfo", "options": { diff --git a/test/data/manifests/fedora-ostree-bootiso.mpp.json b/test/data/manifests/fedora-ostree-bootiso.mpp.json index abbcaf49..b2c55024 100644 --- a/test/data/manifests/fedora-ostree-bootiso.mpp.json +++ b/test/data/manifests/fedora-ostree-bootiso.mpp.json @@ -471,10 +471,283 @@ } ] }, + { + "name": "rootfs-image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.mkdir", + "options": { + "paths": [ + { + "path": "LiveOS" + } + ] + } + }, + { + "type": "org.osbuild.truncate", + "options": { + "filename": "LiveOS/rootfs.img", + "size": "3GB" + } + }, + { + "type": "org.osbuild.mkfs.ext4", + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "LiveOS/rootfs.img" + } + } + }, + "options": { + "label": "Anaconda", + "uuid": "383367fa-6a09-4def-8c30-507e0b3cf1f7" + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://tree/", + "to": "mount://root/" + } + ] + }, + "devices": { + "root": { + "type": "org.osbuild.loopback", + "options": { + "filename": "LiveOS/rootfs.img" + } + } + }, + "mounts": { + "root": { + "type": "org.osbuild.ext4", + "source": "root", + "target": "/" + } + } + } + ] + }, + { + "name": "efiboot-tree", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.grub2.iso", + "options": { + "product": { + "name": "Fedora-IoT", + "version": { + "mpp-format-string": "{version}" + } + }, + "isolabel": { + "mpp-format-string": "{isolabel}" + }, + "kernel": { + "dir": "/images/pxeboot", + "opts": [ + { + "mpp-format-string": "inst.ks=hd:LABEL={isolabel}:/install.ks" + } + ] + }, + "architectures": [ + "IA32", + "X64" + ], + "vendor": "fedora" + } + } + ] + }, { "name": "bootiso-tree", "build": "name:build", "stages": [ + { + "type": "org.osbuild.mkdir", + "options": { + "paths": [ + { + "path": "images" + }, + { + "path": "images/pxeboot" + } + ] + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "base": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": { + "mpp-format-string": "input://base/boot/vmlinuz-{rpms['anaconda-tree']['kernel'].evra}" + }, + "to": "tree:///images/pxeboot/vmlinuz" + }, + { + "from": { + "mpp-format-string": "input://base/boot/initramfs-{rpms['anaconda-tree']['kernel'].evra}.img" + }, + "to": "tree:///images/pxeboot/initrd.img" + } + ] + } + }, + { + "type": "org.osbuild.squashfs", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:rootfs-image" + ] + } + }, + "options": { + "filename": "images/install.img", + "compression": { + "method": "xz", + "options": { + "bcj": "x86" + } + } + } + }, + { + "type": "org.osbuild.isolinux", + "inputs": { + "data": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:anaconda-tree" + ] + } + }, + "options": { + "product": { + "name": "Fedora-IoT", + "version": { + "mpp-format-string": "{version}" + } + }, + "kernel": { + "dir": "/images/pxeboot", + "opts": [ + { + "mpp-format-string": "inst.ks=hd:LABEL={isolabel}:/install.ks" + } + ] + } + } + }, + { + "type": "org.osbuild.truncate", + "options": { + "filename": "images/efiboot.img", + "size": "20MB" + } + }, + { + "type": "org.osbuild.mkfs.fat", + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "images/efiboot.img" + } + } + }, + "options": { + "label": "ANACONDA", + "volid": "7B7795E7" + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:efiboot-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://tree/", + "to": "mount://efi/" + } + ] + }, + "devices": { + "efi": { + "type": "org.osbuild.loopback", + "options": { + "filename": "images/efiboot.img" + } + } + }, + "mounts": { + "efi": { + "type": "org.osbuild.fat", + "source": "efi", + "target": "/" + } + } + }, + { + "type": "org.osbuild.copy", + "inputs": { + "base": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:efiboot-tree" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://base/EFI", + "to": "tree:///" + } + ] + } + }, { "type": "org.osbuild.ostree.init", "options": { @@ -522,56 +795,6 @@ } } }, - { - "type": "org.osbuild.bootiso.mono", - "inputs": { - "rootfs": { - "type": "org.osbuild.tree", - "origin": "org.osbuild.pipeline", - "references": [ - "name:anaconda-tree" - ] - } - }, - "options": { - "product": { - "name": "Fedora-IoT", - "version": { - "mpp-format-string": "{version}" - } - }, - "isolabel": { - "mpp-format-string": "{isolabel}" - }, - "kernel": { - "mpp-format-string": "{rpms['ostree-tree']['kernel'].evra}" - }, - "efi": { - "architectures": [ - "IA32", - "X64" - ], - "vendor": "fedora" - }, - "isolinux": { - "enabled": true, - "debug": false - }, - "templates": "99-generic", - "rootfs": { - "size": 3584, - "compression": { - "method": "xz", - "options": { - "bcj": "x86" - } - } - }, - "kernel_opts": { - "mpp-format-string": "inst.ks=hd:LABEL={isolabel}:/install.ks" - } - } - }, { "type": "org.osbuild.discinfo", "options": {