Skip to main content

org.osbuild.bootiso.mono

Assemble a file system tree for a bootable iso

This stage prepares a file system tree for a bootable ISO, like the Anaconda installer. It follows the convention used by Lorax to create the boot isos: It takes an input rootfs, which will serve as the root file system. This is copied into a file with a ext4 file system which in turn will be made into a squashfs file system. Options for controlling the root file-system creation can be given via rootfs, like it size and the compression to be used. The boot loader is configured via the isolinux and efi options. Which combination makes sense depends on the targeted platform and architecture. The kernel and initrd are taken from the tree given via the kernel input, or if that was not specified, from rootfs. In either case it will look for the specified kernel in the /boot directory. Additionally kernel command line flags can passed via kernel_opts. This stage has the .mono suffix to indicate that is a monolithic stage that could, and in the future will be, broken up into smaller pieces.

Schema 1

{}

Schema 2

{
"options": {
"additionalProperties": false,
"required": [
"product",
"kernel",
"isolabel"
],
"properties": {
"product": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"kernel": {
"type": "string"
},
"isolabel": {
"type": "string"
},
"efi": {
"type": "object",
"additionalProperties": false,
"required": [
"architectures",
"vendor"
],
"properties": {
"architectures": {
"type": "array",
"items": {
"type": "string"
}
},
"vendor": {
"type": "string"
}
}
},
"isolinux": {
"type": "object",
"additionalProperties": false,
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
},
"debug": {
"type": "boolean"
}
}
},
"kernel_opts": {
"description": "Additional kernel boot options",
"type": "string"
},
"templates": {
"type": "string",
"default": "99-generic"
},
"rootfs": {
"type": "object",
"additionalProperties": false,
"properties": {
"compression": {
"type": "object",
"additionalProperties": false,
"required": [
"method"
],
"properties": {
"method": {
"enum": [
"gzip",
"xz",
"lz4"
]
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"bcj": {
"enum": [
"x86",
"arm",
"armthumb",
"powerpc",
"sparc",
"ia64"
]
}
}
}
}
},
"size": {
"type": "integer",
"description": "size in MB",
"default": 3072
}
}
}
}
},
"inputs": {
"type": "object",
"additionalProperties": false,
"required": [
"rootfs"
],
"properties": {
"rootfs": {
"type": "object",
"additionalProperties": true
},
"kernel": {
"type": "object",
"additionalProperties": true
}
}
}
}