diff --git a/Cargo.lock b/Cargo.lock index 4ff732ec7..8dc49313f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -250,7 +250,7 @@ dependencies = [ [[package]] name = "bootc-lib" -version = "1.9.0" +version = "1.10.0" dependencies = [ "anstream", "anstyle", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 95ff7a658..938091cee 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -15,7 +15,7 @@ platforms = ["*-unknown-linux-gnu"] [dependencies] # Internal crates -bootc-lib = { version = "1.9", path = "../lib" } +bootc-lib = { version = "1.10", path = "../lib" } bootc-utils = { package = "bootc-internal-utils", path = "../utils", version = "0.0.0" } # Workspace dependencies diff --git a/crates/lib/Cargo.toml b/crates/lib/Cargo.toml index 4f20372c1..83ed261ab 100644 --- a/crates/lib/Cargo.toml +++ b/crates/lib/Cargo.toml @@ -6,7 +6,7 @@ name = "bootc-lib" repository = "https://github.com/bootc-dev/bootc" # The intention is we'll follow semver here, even though this # project isn't actually published as a crate. -version = "1.9.0" +version = "1.10.0" # In general we try to keep this pinned to what's in the latest RHEL9. rust-version = "1.84.0" diff --git a/docs/src/host-v1.schema.json b/docs/src/host-v1.schema.json index 909ba00a8..21e65e634 100644 --- a/docs/src/host-v1.schema.json +++ b/docs/src/host-v1.schema.json @@ -54,6 +54,17 @@ } ] }, + "composefs": { + "description": "If this boot entry is composefs based, the corresponding state", + "anyOf": [ + { + "$ref": "#/$defs/BootEntryComposefs" + }, + { + "type": "null" + } + ] + }, "image": { "description": "The image reference", "anyOf": [ @@ -107,6 +118,29 @@ "pinned" ] }, + "BootEntryComposefs": { + "description": "A bootable entry", + "type": "object", + "properties": { + "bootType": { + "description": "Whether this deployment is to be booted via Type1 (vmlinuz + initrd) or Type2 (UKI) entry", + "$ref": "#/$defs/BootType" + }, + "bootloader": { + "description": "Whether we boot using systemd or grub", + "$ref": "#/$defs/Bootloader" + }, + "verity": { + "description": "The erofs verity", + "type": "string" + } + }, + "required": [ + "verity", + "bootType", + "bootloader" + ] + }, "BootEntryOstree": { "description": "A bootable entry", "type": "object", @@ -147,6 +181,28 @@ } ] }, + "BootType": { + "type": "string", + "enum": [ + "Bls", + "Uki" + ] + }, + "Bootloader": { + "description": "Bootloader type to determine whether system was booted via Grub or Systemd", + "oneOf": [ + { + "description": "Use Grub as the booloader", + "type": "string", + "const": "Grub" + }, + { + "description": "Use SystemdBoot as the bootloader", + "type": "string", + "const": "Systemd" + } + ] + }, "HostSpec": { "description": "The host specification", "type": "object", diff --git a/docs/src/man/bootc-composefs-finalize-staged.8.md b/docs/src/man/bootc-composefs-finalize-staged.8.md new file mode 100644 index 000000000..569b88367 --- /dev/null +++ b/docs/src/man/bootc-composefs-finalize-staged.8.md @@ -0,0 +1,26 @@ +# NAME + +bootc-composefs-finalize-staged - TODO: Add description + +# SYNOPSIS + +bootc composefs-finalize-staged + +# DESCRIPTION + +TODO: Add description + + + + +# EXAMPLES + +TODO: Add practical examples showing how to use this command. + +# SEE ALSO + +**bootc**(8) + +# VERSION + + diff --git a/docs/src/man/bootc-config-diff.8.md b/docs/src/man/bootc-config-diff.8.md new file mode 100644 index 000000000..f1fc8191f --- /dev/null +++ b/docs/src/man/bootc-config-diff.8.md @@ -0,0 +1,26 @@ +# NAME + +bootc-config-diff - Diff current /etc configuration versus default + +# SYNOPSIS + +bootc config-diff + +# DESCRIPTION + +Diff current /etc configuration versus default + + + + +# EXAMPLES + +TODO: Add practical examples showing how to use this command. + +# SEE ALSO + +**bootc**(8) + +# VERSION + + diff --git a/docs/src/man/bootc-install-to-disk.8.md b/docs/src/man/bootc-install-to-disk.8.md index ede4a86ed..124456336 100644 --- a/docs/src/man/bootc-install-to-disk.8.md +++ b/docs/src/man/bootc-install-to-disk.8.md @@ -114,21 +114,25 @@ more complex such as RAID, LVM, LUKS etc. Instead of targeting a block device, write to a file via loopback -**--composefs-native** +**--composefs-backend** - + If true, composefs backend is used, else ostree backend is used + + Default: false **--insecure** - + Make fs-verity validation optional in case the filesystem doesn't support it Default: false **--bootloader**=*BOOTLOADER* - + The bootloader to use - Default: grub + Possible values: + - grub + - systemd **--uki-addon**=*UKI_ADDON* diff --git a/docs/src/man/bootc-install-to-existing-root.8.md b/docs/src/man/bootc-install-to-existing-root.8.md index 9efb4adb1..f8b52dbed 100644 --- a/docs/src/man/bootc-install-to-existing-root.8.md +++ b/docs/src/man/bootc-install-to-existing-root.8.md @@ -98,6 +98,30 @@ to be cleaned up if desired when rebooted into the new root. Add the bootc-destructive-cleanup systemd service to delete files from the previous install on first boot +**--composefs-backend** + + If true, composefs backend is used, else ostree backend is used + + Default: false + +**--insecure** + + Make fs-verity validation optional in case the filesystem doesn't support it + + Default: false + +**--bootloader**=*BOOTLOADER* + + The bootloader to use + + Possible values: + - grub + - systemd + +**--uki-addon**=*UKI_ADDON* + + Name of the UKI addons to install without the ".efi.addon" suffix. This option can be provided multiple times if multiple addons are to be installed + # VERSION diff --git a/docs/src/man/bootc-install-to-filesystem.8.md b/docs/src/man/bootc-install-to-filesystem.8.md index f50363824..a18aaa7b5 100644 --- a/docs/src/man/bootc-install-to-filesystem.8.md +++ b/docs/src/man/bootc-install-to-filesystem.8.md @@ -106,6 +106,30 @@ is currently expected to be empty by default. The stateroot name to use. Defaults to `default` +**--composefs-backend** + + If true, composefs backend is used, else ostree backend is used + + Default: false + +**--insecure** + + Make fs-verity validation optional in case the filesystem doesn't support it + + Default: false + +**--bootloader**=*BOOTLOADER* + + The bootloader to use + + Possible values: + - grub + - systemd + +**--uki-addon**=*UKI_ADDON* + + Name of the UKI addons to install without the ".efi.addon" suffix. This option can be provided multiple times if multiple addons are to be installed + # VERSION