2 Commits

Author SHA1 Message Date
Mikaël Cluseau 798317432d chore: Release init version 2.6.0 2026-04-18 18:54:23 +02:00
Mikaël Cluseau 5c86af7614 feat: erofs layers 2026-04-18 18:53:29 +02:00
3 changed files with 441 additions and 272 deletions
Generated
+432 -269
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "init" name = "init"
version = "2.5.3" version = "2.6.0"
edition = "2024" edition = "2024"
[profile.release] [profile.release]
+8 -2
View File
@@ -65,7 +65,7 @@ pub async fn bootstrap(cfg: Config) {
}) })
.await; .await;
retry_or_ignore(async || apply::files(&sys_cfg.files, "/system").await).await; retry_or_ignore(async || apply::files(&sys_cfg.files, "/system", false).await).await;
apply_groups(&sys_cfg.groups, "/system").await; apply_groups(&sys_cfg.groups, "/system").await;
apply_users(&sys_cfg.users, "/system").await; apply_users(&sys_cfg.users, "/system").await;
@@ -210,6 +210,12 @@ async fn mount_system(cfg: &dkl::Config, bs_dir: &str, verifier: &Verifier) {
}) })
.await; .await;
let fstype = if src.get(1024..1028) == Some(&0xE0F5E1E2u32.to_le_bytes()) {
"erofs"
} else {
"squashfs"
};
let tgt = &format!("{mem_dir}/{layer}.fs"); let tgt = &format!("{mem_dir}/{layer}.fs");
retry(async || { retry(async || {
info!("copying layer {layer}"); info!("copying layer {layer}");
@@ -222,7 +228,7 @@ async fn mount_system(cfg: &dkl::Config, bs_dir: &str, verifier: &Verifier) {
.await; .await;
let layer_dir = &format!("{layers_dir}/{layer}"); let layer_dir = &format!("{layers_dir}/{layer}");
mount(Some(tgt), layer_dir, "squashfs", None).await; mount(Some(tgt), layer_dir, fstype, None).await;
if !lower_dir.is_empty() { if !lower_dir.is_empty() {
lower_dir.push(':'); lower_dir.push(':');