Skip to content

Instantly share code, notes, and snippets.

@smagoun
Last active September 30, 2020 21:11
Show Gist options
  • Save smagoun/468f3109e15072e5291ae3c3ecab30ea to your computer and use it in GitHub Desktop.
Save smagoun/468f3109e15072e5291ae3c3ecab30ea to your computer and use it in GitHub Desktop.
SCSI2SD notes

When formatting an SD card for use in a SCSI2SD, you can assign multiple SCSI IDs to the card. Each ID represents a different section of the card. The downside is that other OSes will only look for the first device on the card, and don't know anything about the other sections; they just appear as unformatted space. The issue here is that it's hard to use another machine (like a modern workstation) to interact with the content of the SCSI card. Since the modern machine can't see the other drives on the SD card, it's difficult to transfer files off the SD card.

I wanted multiple partitions on the card that I could easily read from another machine. The solution was to tell the SCSI2SD to emulate a single, large disk instead of multiple smaller ones. Then I created multiple partitions on the single device. This isn't the same as having multiple SCSI IDs that can be independently toggled on the SCSI2SD, but it meets my needs.

Environment:

  • A classic mac
  • SCSI2SD w/ multi-GB SD card
  • A modern system with SD card reader, such as a Macbook Air
  • A linux machine with SD card reader (for gparted). May not be necessary - see note below

To create multiple HFS partitions on a SCSI2SD-enabled SD card:

  1. Install (dd) an initial OS image to the SD card. This gives us a partition map on the card.
  2. Load the SD card into the Linux machine
  3. On the Linux machine, use gparted to add more HFS-formatted partitions (OS X disk utility won't create HFS partitions, so we need another tool like gparted)
  4. With scsi2sd-util, configure the SCSI2SD to have a single device at least as big as the combined size of all partitions. For example, if you install a 2GB image and create 3 more 2GB partitions, make sure the SCSI2SD is configured for a device of at least 8GB.
  5. Boot the classic Mac with the SD card. You should see all of the partitions on the desktop.
  6. (Optional) Load the SD card on the modern Mac. You should be able to see all of the partitions, not just the first one (they will be read-only).

Note: Steps 2+3 can probably be eliminated if you use a patched version of Apple HD SC Setup to create the new partitions from within classic MacOS. This in turn eliminates the need for a Linux machine to run gparted.

Note: I'm not entirely convinced that editing the partition in gparted was safe; OS X gave me a warning about corruption on the first (OS) partition when I put the card into a modern Mac. I rebuilt the partition with DiskWarrior, and everything seems OK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment