@@ -118,18 +118,37 @@ pub(crate) struct StatusOpts {
118
118
pub ( crate ) booted : bool ,
119
119
}
120
120
121
- /// Options for internal testing
122
121
#[ cfg( feature = "install" ) ]
123
122
#[ derive( Debug , clap:: Subcommand , PartialEq , Eq ) ]
124
123
pub ( crate ) enum InstallOpts {
125
- /// Install to the target block device
124
+ /// Install to the target block device.
125
+ ///
126
+ /// This command must be invoked inside of the container, which will be
127
+ /// installed. The container must be run in `--privileged` mode, and hence
128
+ /// will be able to see all block devices on the system.
129
+ ///
130
+ /// The default storage layout uses the root filesystem type configured
131
+ /// in the container image, alongside any required system partitions such as
132
+ /// the EFI system partition. Use `install to-filesystem` for anything more
133
+ /// complex such as RAID, LVM, LUKS etc.
126
134
ToDisk ( crate :: install:: InstallToDiskOpts ) ,
127
- /// Install to the target filesystem
135
+ /// Install to an externally created filesystem structure.
136
+ ///
137
+ /// In this variant of installation, the root filesystem alongside any necessary
138
+ /// platform partitions (such as the EFI system partition) are prepared and mounted by an
139
+ /// external tool or script. The root filesystem is currently expected to be empty
140
+ /// by default.
128
141
ToFilesystem ( crate :: install:: InstallToFilesystemOpts ) ,
142
+ /// Install to the host root filesystem.
143
+ ///
144
+ /// This is a variant of `install to-filesystem` that is designed to install "alongside"
145
+ /// the running host root filesystem. Currently, the host root filesystem's `/boot` partition
146
+ /// will be wiped, but the content of the existing root will otherwise be retained, and will
147
+ /// need to be cleaned up if desired when rebooted into the new root.
129
148
ToExistingRoot ( crate :: install:: InstallToExistingRootOpts ) ,
130
149
/// Output JSON to stdout that contains the merged installation configuration
131
150
/// as it may be relevant to calling processes using `install to-filesystem`
132
- /// that want to honor e.g. ` root-fs- type` .
151
+ /// that in particular want to discover the desired root filesystem type from the container image .
133
152
///
134
153
/// At the current time, the only output key is `root-fs-type` which is a string-valued
135
154
/// filesystem name suitable for passing to `mkfs.$type`.
@@ -149,6 +168,9 @@ pub(crate) struct ManOpts {
149
168
pub ( crate ) enum ContainerOpts {
150
169
/// Perform relatively inexpensive static analysis checks as part of a container
151
170
/// build.
171
+ ///
172
+ /// This is intended to be invoked via e.g. `RUN bootc container lint` as part
173
+ /// of a build process; it will error if any problems are detected.
152
174
Lint ,
153
175
}
154
176
0 commit comments