HowettNET GitLab GitHub

This project was original written to convert raw block devices into Sparse Bundles on my home NAS. It is written in Go and was the original reason I wrote


sparsebundle -name TimeMachine /dev/sdb

This example invocation will build a sparse bundle (10.6+ format) out of the block device /dev/sdb. It will use the default sparse bundle band size (8 MiB) and convert the entire block device. After some time, it will produce TimeMachine.sparsebundle.

Any bands that are entirely empty will be omitted from the final image. Without this optimization, there would be minimal value in using the sparse bundle format.

If the -name parameter is omitted, it will emit a bundle named after the originating device.

It supports windowing, which will restrict the conversion to the specified band range (-start, -end, which take integer values indicating band counts), and custom band sizes (-bandsize).