Skip to content

Fix system boot slow when docker image is included in the original image disk#91

Merged
imlk0 merged 7 commits intomasterfrom
fix-docker-slow
Mar 18, 2026
Merged

Fix system boot slow when docker image is included in the original image disk#91
imlk0 merged 7 commits intomasterfrom
fix-docker-slow

Conversation

@imlk0
Copy link
Copy Markdown
Collaborator

@imlk0 imlk0 commented Mar 18, 2026

No description provided.

imlk0 added 7 commits March 16, 2026 15:11
…and technical details

- Rewrite boot_zh.md with comprehensive technical details:
  - Add technical principles section (dm-verity, LUKS2, overlayfs)
  - Add volume structure with ASCII architecture diagram
  - Add boot modes section comparing GRUB and UKI modes
  - Add mermaid flowcharts for boot processes
  - Add auto disk expansion mechanism description
  - Add container runtime directory bindings

- Add English translations:
  - Create README.md as English version of README_zh.md
  - Create docs/boot.md as English version of boot_zh.md

- Update README_zh.md with workflow diagram and feature improvements
…age and adjust rw_overlay scope

- Remove /data directory creation from encrypted system image
- Adjust rw_overlay field behavior: instead of only deleting overlay directory,
  now resets the entire data volume when overlay type is disk (non-persistent)
- Update logging in before_sysroot.rs to reflect the new data volume handling logic
Modify create-tarball target to include both staged and unstaged
changes in the generated source tarball. This ensures the tarball
reflects the current working state including:
- Staged and unstaged modifications (via git diff + apply)
- Untracked new files (via git ls-files + tar)

This change is useful for preserving WIP changes when building
from a dirty working tree.
… option

Remove incorrect parameter placeholder from the help text of
--rootfs-no-encryption option. This option is a flag that does
not accept any value, but the help text incorrectly showed
<rootfs_encrypt_passphrase> as its parameter.
…otfs

Add support for dm-snapshot as an alternative to overlayfs for providing
a writable root filesystem on top of dm-verity protected read-only rootfs.

Key changes:
- Add RwOverlayBackend enum with 'overlayfs' and 'dm-snapshot' variants
- Rename RwOverlayType to RwOverlayLocation for clarity
- Implement dm-snapshot device chain: dm-verity + dm-zero → dm-linear → dm-snapshot
- Support both zram (ram) and LUKS2-encrypted data volume as COW devices
- Add resize2fs call to expand filesystem after volume expansion
- Update boot documentation (both EN and ZH) with new architecture details
- Add udev rules to hide intermediate dm devices
- Update configuration templates and examples

The dm-snapshot backend provides block-level copy-on-write semantics
without requiring overlayfs, eliminating the need for special handling
of container runtime directories.

Signed-off-by: Kun Lai <laikun@linux.alibaba.com>
…nce-value examples

Update documentation and README files to remove the deprecated
--stage system flag from show-reference-value command examples.
The --stage parameter is no longer required for this command.
Rename core concepts and configuration fields for clarity and consistency:

- Volume Group: system -> cryptpilot

- Data Volume: data -> delta (LVM logical volume name)

- Device: /dev/mapper/data -> /dev/mapper/delta

- Config section: [data] -> [delta] (with serde alias for backward compat)

- Config field: rw_overlay_location -> delta_location (with serde alias)

- Config field: rw_overlay_backend -> delta_backend

- Type: DataConfig -> DeltaConfig

- Type: RwOverlayLocation -> DeltaLocation

- Type: RwOverlayBackend -> DeltaBackend

Update all code references, documentation, and templates accordingly.

Maintain backward compatibility through serde aliases for existing configurations.

Signed-off-by: Kun Lai <laikun@linux.alibaba.com>
@imlk0 imlk0 force-pushed the fix-docker-slow branch from 3696f1e to 1087b87 Compare March 18, 2026 07:06
@imlk0 imlk0 merged commit 1087b87 into master Mar 18, 2026
42 of 44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant