Skip to content

Commit bc55aeb

Browse files
committed
install/ostree: Set zipl as the bootloader for s390x
`zipl` cannot dynamically read BLS config at boot, and requires the MBR to be updated before. So we set `zipl` as the bootloader for s390x by default. Otherwise, s390x systems cannot reboot into new deployments. See #2151
1 parent 103a8cd commit bc55aeb

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

crates/lib/src/install.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -957,6 +957,22 @@ async fn initialize_ostree_root(state: &State, root_setup: &RootSetup) -> Result
957957
.run_capture_stderr()?;
958958
}
959959

960+
// For s390x, we set zipl as the bootloader
961+
if cfg!(target_arch = "s390x") {
962+
Command::new("ostree")
963+
.args([
964+
"config",
965+
"--repo",
966+
"ostree/repo",
967+
"set",
968+
"sysroot.bootloader",
969+
"zipl",
970+
])
971+
.cwd_dir(rootfs_dir.try_clone()?)
972+
.run_capture_stderr()
973+
.context("Setting bootloader config to zipl")?;
974+
}
975+
960976
let sysroot = {
961977
let path = format!(
962978
"/proc/{}/fd/{}",

0 commit comments

Comments
 (0)