How to Back Up and Restore a Haiku System
A complete walkthrough backing up a Haiku installation using BFS attributes and standard file-copying tools, plus what to know about restoring packagefs-managed system data specifically.
Backing up Haiku means accounting for one thing most backup guides don’t consider: BFS attributes carry real, often important metadata that an ordinary file copy can silently lose if the backup tool isn’t attribute-aware.
Step 1: identify what actually needs backing up
/boot/home/ — user data, config, documents
/boot/home/config/settings/ — application settings
Note that /boot/system/ — the packagefs-managed system area — generally does not need backing up the same way; it’s reconstructed from installed packages, discussed further in Step 6.
Step 2: use an attribute-aware copy method
cp -a source/ destination/
Critically, verify your specific backup method actually preserves BFS attributes — a naive copy that only preserves file contents, not attributes, silently loses metadata (like a music file’s artist/album tags, or a custom-tagged attribute your own workflow depends on) without any obvious error.
Step 3: verify attributes actually transferred correctly
catattr important-file.mp3 # on the original
catattr backup/important-file.mp3 # on the copy — compare
Confirming this explicitly, rather than assuming it worked, catches an attribute-losing backup method before you actually need to rely on the backup and discover the loss too late.
Step 4: back up to an external drive or network location
cp -a /boot/home/ /Volumes/Backup/home-backup/
The same attribute-preservation concern from Step 2 applies here regardless of destination — external drive, network share, or otherwise.
Step 5: consider a full disk image for complete system backup
dd if=/dev/disk/... of=/Volumes/Backup/haiku-full-backup.img
A block-level disk image captures everything — including BFS attributes automatically, since it’s copying the raw filesystem structure rather than files individually — at the cost of a much larger backup than a selective file-based approach, and less convenient for restoring just a single file rather than the entire disk.
Step 6: understand why /boot/system doesn’t need the same backup treatment
Because packagefs assembles /boot/system from currently-activated packages rather than storing it as ordinary files, reinstalling Haiku and reactivating the same set of packages reconstructs an equivalent system state — the actual, irreplaceable data worth backing up specifically is your personal files and settings under /boot/home/, not the system area itself.
Step 7: restore from a file-based backup
cp -a /Volumes/Backup/home-backup/ /boot/home/
Step 8: restore from a full disk image, if that’s what you created
dd if=/Volumes/Backup/haiku-full-backup.img of=/dev/disk/...
This overwrites the entire target disk — confirm the target device carefully before running this.
Step 9: reinstall packages after restoring personal data, if you didn’t use a full disk image
pkgman install <package-names-you-had-installed>
If you backed up only /boot/home/ (not a full disk image), reinstalling your previously-used packages afterward reconstructs the rest of your working environment.
Why attribute preservation is the one thing every Haiku-specific backup guide needs to emphasize
A backup strategy that works perfectly on a Unix-family system with ordinary flat metadata can silently fail on Haiku specifically, because BFS attributes carry real, sometimes load-bearing data that a naive file copy doesn’t know exists. Explicitly verifying attribute preservation (Step 3), rather than assuming a generic backup approach transfers cleanly, is the single most Haiku-specific piece of advice in this entire walkthrough — and the one most likely to bite someone assuming their prior Unix backup habits transfer over unchanged.