sparsebundle
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 howett.net/plist.
Usage⌗
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).