auto-create inittab entries for serial consoles
This commit is contained in:
@@ -79,7 +79,30 @@ pub async fn bootstrap(cfg: Config) {
|
|||||||
})
|
})
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
exec("chroot", &["/system", "update-ca-certificates"]).await
|
exec("chroot", &["/system", "update-ca-certificates"]).await;
|
||||||
|
|
||||||
|
// activate ttyS* consoles as needed
|
||||||
|
retry_or_ignore(async || {
|
||||||
|
const PATH: &str = "/system/etc/inittab";
|
||||||
|
let mut inittab = fs::read_to_string(PATH).await?;
|
||||||
|
let mut changed = false;
|
||||||
|
for opt in utils::cmdline().filter_map(|s| s.strip_prefix("console=ttyS")) {
|
||||||
|
info!("inittab: adding entry for ttyS{opt}");
|
||||||
|
changed = true;
|
||||||
|
|
||||||
|
let mut params = opt.split(',');
|
||||||
|
let num = params.next().unwrap();
|
||||||
|
let speed = params.next().unwrap_or("115200");
|
||||||
|
inittab.push_str(&format!(
|
||||||
|
"S{num}:12345:respawn:/sbin/agetty --noclear {speed} ttyS{num} linux\n"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
if changed {
|
||||||
|
fs::write(PATH, inittab.as_bytes()).await?;
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
})
|
||||||
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Verifier {
|
struct Verifier {
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ static CMDLINE: LazyLock<String> = LazyLock::new(|| {
|
|||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
});
|
});
|
||||||
|
|
||||||
fn cmdline() -> impl Iterator<Item = &'static str> {
|
pub fn cmdline() -> impl Iterator<Item = &'static str> {
|
||||||
CMDLINE.split_ascii_whitespace()
|
CMDLINE.split_ascii_whitespace()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -95,8 +95,8 @@ lvm:
|
|||||||
#- dev: /dev/storage/bootstrap
|
#- dev: /dev/storage/bootstrap
|
||||||
#- dev: /dev/storage/dls
|
#- dev: /dev/storage/dls
|
||||||
|
|
||||||
signer_public_key: 'MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe6Y3zGQUIHvVXoS5GI8irY8yoB0ozFpzn/cUykA46TkHdJ8xCEaaM1MpqMrfWgDtP/rA2KeE9HjVerLnEFD01uUAUh4/OYgCBDYJPhridVDoC78KOJpkWBj7Shl0Rp0AtETvatNPa1RRe15V7nDF/Nm75Y6O3IL29lYPQ6jqEGhR810='
|
signer_public_key: 'MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAd5sR4NqLtjSt8ESNlYWvuufYj7v+aYGDlgxQThcKbzDPVe639IfH94hHE0l9TAfyU94qtN/GpFyKJ68F/u2pu70A/umT1m24ELFDqXlQXqhTsH91r+nYUZ7due3EqSrvru/yjchNNRkpoCCu3QkDF25KnrYfWWHqj9ZIRlBTCJE9SwM='
|
||||||
bootstrap:
|
bootstrap:
|
||||||
dev: /dev/storage/bootstrap
|
dev: /dev/storage/bootstrap
|
||||||
seed: https://192.168.12.254:7606/public/download-set/host/m1/bootstrap.tar?set=IDZTK4AUNCYCTKF3GIEGSNZF3I7XCINCTJSOWL2JPHCJ2IAZWDECY2XCGQ5MCTJBNFIKBNCLIA3PJSN7IOH7URGXYRYZRCGF4VSW4RIAAQRE2GDEOC4RWAAAQA3DSZJZMU4TGOL4NA5G2MJ2MJXW65DTORZGC4BOORQXEAAAAAADJMFLUE
|
seed: http://192.168.12.254:7606/public/download-set/host/m1/bootstrap.tar?set=ICM5KUZDRAMJPMO5OWW6PSIFYF4AHMYLAQSBZVFUDNG4DQDEW6UFQQJQKMGIXPI4CFOZFVA4CXULRXCAHKX3WELVAYS246FM6SGSGHIOAQRE2GDEOC4RUAAAQA3GEZDFMUZDOMD4NA5CUOTCN5XXI43UOJQXALTUMFZAAAAAACHHUMRU
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user