@@ -366,6 +366,14 @@ pub(crate) struct InstallToFilesystemOpts {
366
366
367
367
#[ clap( flatten) ]
368
368
pub ( crate ) config_opts : InstallConfigOpts ,
369
+
370
+ #[ clap( long) ]
371
+ #[ cfg( feature = "composefs-backend" ) ]
372
+ pub ( crate ) composefs_native : bool ,
373
+
374
+ #[ cfg( feature = "composefs-backend" ) ]
375
+ #[ clap( flatten) ]
376
+ pub ( crate ) compoesfs_opts : InstallComposefsOpts ,
369
377
}
370
378
371
379
#[ derive( Debug , Clone , clap:: Parser , PartialEq , Eq ) ]
@@ -1855,7 +1863,17 @@ pub(crate) async fn install_to_filesystem(
1855
1863
// IMPORTANT: and hence anything that is done before MUST BE IDEMPOTENT.
1856
1864
// IMPORTANT: In practice, we should only be gathering information before this point,
1857
1865
// IMPORTANT: and not performing any mutations at all.
1858
- let state = prepare_install ( opts. config_opts , opts. source_opts , opts. target_opts , None ) . await ?;
1866
+ let state = prepare_install (
1867
+ opts. config_opts ,
1868
+ opts. source_opts ,
1869
+ opts. target_opts ,
1870
+ #[ cfg( feature = "composefs-backend" ) ]
1871
+ opts. composefs_native . then_some ( opts. compoesfs_opts ) ,
1872
+ #[ cfg( not( feature = "composefs-backend" ) ) ]
1873
+ None ,
1874
+ )
1875
+ . await ?;
1876
+
1859
1877
// And the last bit of state here is the fsopts, which we also destructure now.
1860
1878
let mut fsopts = opts. filesystem_opts ;
1861
1879
@@ -2123,6 +2141,13 @@ pub(crate) async fn install_to_existing_root(opts: InstallToExistingRootOpts) ->
2123
2141
source_opts : opts. source_opts ,
2124
2142
target_opts : opts. target_opts ,
2125
2143
config_opts : opts. config_opts ,
2144
+ #[ cfg( feature = "composefs-backend" ) ]
2145
+ composefs_native : false ,
2146
+ #[ cfg( feature = "composefs-backend" ) ]
2147
+ compoesfs_opts : InstallComposefsOpts {
2148
+ insecure : false ,
2149
+ bootloader : Bootloader :: Grub ,
2150
+ } ,
2126
2151
} ;
2127
2152
2128
2153
install_to_filesystem ( opts, true , cleanup) . await
0 commit comments