'Sparsebundles' are an alternative, more flexible format of disk images. Without them, you have to decide in advance exactly how much space you want to use. So if I create a 500 MB SheepShaver .img, that takes up 500 MB of disk space even if it's empty. If I later fill up the disk image completely, I have to create a bigger one and transfer all my data.
Instead, I can now create a sparsebundle that claims to be 20 GB, but only takes up as much disk space as the data stored on it in SheepShaver. When it's empty, it uses barely any disk space. As I add files to it in SheepShaver, it expands to accommodate the new data. Since the maximum size is so large, I never have to worry about filling it up.
Sparsebundles are an Apple technology, and are fully supported in Mac OS X 10.5 or later. Specifically:
- You can mount them by double-clicking on them, assuming they contain an HFS+ file system.
- You can manipulate them with Disk Utility and hdiutil.
- To create a sparsebundle, use Disk Utility and make sure to choose "Image format: sparse bundle disk image". Or, at the command line: "hdiutil create -type SPARSEBUNDLE -size 20g test.sparsebundle".
- You can mount them with sparsebundlefs.
- To create them, you can use a tool I wrote called rhfs.
Code: Select all
disk /Users/vasi/Desktop/test.sparsebundle
Some notes:
- If you make very large sparsebundles, I recommend formatting them as HFS+ (aka "Mac OS Extended") if you can. Plain HFS ("Mac OS Standard") wastes a lot of space on large disks, but it's the only option on Mac OS 8.0 and lower.
- Other emulators like Mini vMac can't read sparsebundles yet, so continue to use regular disk images for data you want to share with those emulators.
- Sparsebundles grow as you add data, but don't automatically shrink when you remove data. You can use my rhfs tool to reclaim this unused space in a sparsebundle. (On OS X, you can also use "hdiutil compact" on most disks, but not ones you've booted from.)
- Backing up sparsebundles is often more efficient. For example, every time you boot SheepShaver, Time Machine must make a complete copy of any regular disk image SS used. With sparsebundles, it will copy only the necessary parts.
- Sparsebundles are different from the kind of sparse files that Linux already supports. Those sparse files are unfortunately less portable, and hard to keep sparse, so I decided to work on sparsebundles instead.
Now have some builds of SheepShaver and BasiliskII! These all include sparsebundle support. Please let me know how your experience with them goes.
For Mac:
- BasiliskII.app.zip: 32-bit, 10.6+. Compiled on 10.6.
- BasiliskIIGUI.app.zip: My GTK+-based (not very Mac-like) GUI, 32-bit, 10.6+. Compiled on 10.6.
- SheepShaver.app.zip: Universal (32/64/PPC, but I haven't tested PPC), 10.4+. Compiled on 10.7. I recommend running it in 32-bit mode.
- SheepShaverLauncher.app.zip: Manager for your SheepShaver VMs, universal, 10.4+. Compiled on 10.7.
- BasiliskII64, SheepShaver64: Just the emulator, 64-bit, SDL-based. Full screen seems to work. Note that there's a known bug of crashing when slirp Ethernet is used.
- BasiliskII, SheepShaver: Just the emulator, 32-bit, SDL. Full screen ok, slirp ok. If you want to run it on a 64-bit system, you'll need to install a 32-bit libstdc++, and (optionally) a 32-bit audio system. On modern Ubuntu, that's "apt-get install libstdc++6:i386 libpulse0".
- BasiliskIIGUI, BasiliskIIGUI64, SheepShaverGUI, SheepShaverGUI64: GTK+ standalone preferences editors. You should be able to use SheepShaverGUI64 with a 32-bit SheepShaver, if you want.
Enjoy, everyone. And don't forget to report bugs!