Skip to content

lamfold v0.1.5

Latest

Choose a tag to compare

@glamberson glamberson released this 15 Oct 21:32

lamfold v0.1.5: Compressed initramfs, files over 512 MiB and over 4 GiB, UDF 2.01, EROFS chunk-based files and romfs hard links.

Crate Version What changed
lamfold 0.1.5 decode_stream and StreamCodec: Whole compressed streams of unknown size (gzip, zstd, xz, legacy .lzma, LZ4 legacy frames), capped, reporting the input they used
lamfold-cpio 0.1.2 Compressed initramfs members read. Debian 13's own initramfs reads with every file identical to what unmkinitramfs extracts
lamfold-squash 0.1.1 read_at decodes only the blocks it touches, so a file over 512 MiB reads
lamfold-iso 0.1.2 Multi-extent files (how a file of 4 GiB or more is recorded) are one node with a 64-bit size
lamfold-udf 0.1.1 Extended File Entries, so UDF 2.01, mkudffs's default, reads
lamfold-erofs 0.1.3 Chunk-based files with holes; configs after superblock extension slots; 8-byte chunk indexes and Linux 7.2 hole pclusters refused rather than guessed
lamfold-romfs 0.1.1 Hard links resolve to their target

lamfold-cramfs is unchanged at 0.1.0.

Testing

Every change has a fixture from a real tool (GNU cpio with gzip, zstd, xz and lz4; mksquashfs; xorriso; mkudffs with the kernel's UDF driver; mkfs.erofs 1.9.4; genromfs), and each new test fails on the release before it, except the EROFS extension-slot guard. The regenerate*.sh script beside each fixture rebuilds it.

Changelogs: lamfold, cpio, squash, iso, udf, erofs, romfs. lamfold is the media stack of LamBoot, from Lamco Development LLC.