Disk Jockey

Disk Jockey Jr (djjr)

Disk Jockey Jr is a disk image builder, analyzer and converter that runs on the command line. It runs on macOS 10.13 High Sierra and up (it’s been notarized, so there won’t be any shenanigans), and on Linux.

Disk Jockey Jr is free 🎉, but you can always buy me a coffee if you want:

Download



macOS 10.13 to macOS 14 (Universal)

Disk Jockey Jr Installer Package
  1. Run the installer.
  2. djjr will be placed in /usr/local/bin/.


Linux (x86_64 and arm64)

  1. If you don’t know the architecture your Linux installation is running on, this command will let you know:
    uname -m

  2. Download the version matching your architecture:

  1. Unzip and untar the application:
    tar -zxvf djjr-linux-x86_64.tar.gz or
    tar -zxvf djjr-linux-arm64.tar.gz

  2. then copy it where you want. /usr/local/bin/ is a good location:
    cp djjr /usr/local/bin/

Note that Disk Jockey Jr for Linux is statically linked against the Swift library, which means that it has no external dependency. You can update your system without running the risk of breaking djjr.

Using djjr

If you’ve used djjr in the past, things have changed. There are now subcommands available to access the various functionalities:

djjr help will display top-level help. You can add the name of the subcommand you need assistance with for help specific to that subcommand. For example:

djjr help analyze

will show help specific to the analyze subcommand.

Here’s a map of the various subcommands and parameters:

A diagram showing the various subcommands available in DJjr

You can also download this diagram as a very zoomable PDF .


Create

empty-image

empty-image will create an image full of zeroes of the size you request.

Examples:

mac-device

mac-device will creates a Macintosh device image containing a partition map, a SCSI driver and a ready-to-be-formatted HFS partition.

Example:


Analyze

Examples:

Macintosh Device (Macintosh)
Block size: 512
Size in blocks: 1024000 (524288000 bytes)
Partitions:
1: Partition Map (Apple), Start: 1, Length: 63
2: Driver for SCSI Manager (Lido), Start: 64, Length: 32
3: HFS Volume (MacHD), Start: 96, Length: 1023904

{
  "sizeInBlocks" : 1024000,
  "computerClass" : "Macintosh",
  "blockSize" : 512,
  "partitions" : [
    {
      "type" : "Partition Map",
      "startBlock" : 1,
      "name" : "Apple",
      "sizeInBlocks" : 63
    },
    {
      "name" : "Lido",
      "type" : "Driver for SCSI Manager",
      "sizeInBlocks" : 32,
      "startBlock" : 64
    },
    {
      "type" : "HFS Volume",
      "sizeInBlocks" : 1023904,
      "startBlock" : 96,
      "name" : "MacHD"
    }
  ],
  "imageType" : "Macintosh Device"
}


Convert

The convert subcommand takes your existing image and converts it into another. Note that a new image is always created, leaving your original intact.

to-device

to-device takes a Macintosh volume image and converts it into a Macintosh device image by adding a partition map and a SCSI driver.
This is useful for example if you have an image that works in the Basilisk emulator that you’d like to use in a BlueSCSI.

Example:

to-volume

to-volume takes a Macintosh device image and extracts its HFS partition into a volume image.
This is useful for example if you have an image that works in BlueSCSI and want to turn one of its partition into a file you can inject later in a multiple partition image using Disk Jockey.

Example:

Image type: Macintosh Device (Macintosh)
Selecting partition 1: HFS Volume (MacOS), Start: 96, Length: 40960

replace-lido

replace-lido takes a Macintosh device image containing a Lido SCSI driver and converts it into the exact same image, this time containing the Apple HD SC Setup 7.3.5 driver.
The Lido driver was once a popular solution for SCSI hard drives but, on modern solutions like BlueSCSI, it’s known to cause compatibility issues and slowdowns.

Example: