Copperline can attach real storage devices connected to your host system -- such as CompactFlash cards, SD cards, USB flash drives, or external hard drives -- directly to the emulated machine. The Amiga accesses the medium directly, preserving the Rigid Disk Block (RDB), partition tables, and filesystem structures.
Listing host disks¶
To view connected storage devices:
copperline --list-disksExample output:
Host disks (name one to --host-disk, or as [[host_disk]] device):
sdb Generic MassStorageClass (31.9 GB)
sdc ATA Samsung SSD 870 (500.1 GB) [internal]
sda ATA Ubuntu Linux-0 S (68.7 GB) [system disk, internal, mounted: /] -- cannot be usedSafety protections:
System disk protection: The host system’s boot/root disk is automatically detected and blocked from attachment (
cannot be used).Raw medium access: The physical medium is presented to the guest as-is. Copperline does not synthesize partition tables for unpartitioned media.
Attaching a disk¶
In the launcher¶
Go to Storage -> Host Disk.
Select the target disk from the list and choose its controller attachment point.
Click Mount. When prompted by the operating system, authorize disk access.
From the command line¶
# Read-only mount (recommended for initial verification):
copperline --model A1200 --fast 8M KICK31.ROM --host-disk-read-only sdb
# Read-write mount:
copperline --model A1200 --fast 8M KICK31.ROM --host-disk sdbIn copperline.toml¶
[[host_disk]]
device = "sdb" # Device node or identifier
fingerprint = "v1-..." # Hardware fingerprint generated by launcher
attach = "ide-master" # Attachment point (see table below)
read_only = true # Default is true for data safetyAttachment options¶
| Value | Controller and channel |
|---|---|
ide-master | Built-in Gayle / A4000 IDE Master (Default) |
ide-slave | Built-in Gayle / A4000 IDE Slave |
lide0-master | [lide] expansion board Channel 0 Master (RIPPLE, RIDE, AT-Bus 2008) |
lide0-slave | [lide] expansion board Channel 0 Slave |
lide1-master | [lide] expansion board Channel 1 Master (RIPPLE only) |
lide1-slave | [lide] expansion board Channel 1 Slave |
scsi0 .. scsi6 | SCSI Controller Unit 0 through 6 |
Device fingerprints and renaming¶
Operating systems may change device names (such as /dev/sdb or disk4) when
devices are connected in a different order. To prevent accidentally mounting
the wrong disk, the launcher saves a hardware fingerprint derived from the
drive’s serial number, model, and geometry.
When a fingerprint is present in the configuration, Copperline matches the
device against current host drives. If matching is ambiguous or the device cannot
be found, the drive slot remains empty rather than mounting an incorrect device.
For removable media (such as USB card readers where the reader reports its own serial rather than the card’s), read-write permissions are not retained across restarts: select and mount the device in the launcher before each write session.
Host operating system permissions¶
Direct access to raw block devices requires elevated operating system privileges:
Linux: Authorization is requested via Polkit (
pkexec). Direct access is used if the user is in thediskgroup.macOS: Authorization is requested via macOS system security prompts (
authopen).Windows: Administrator access is required to access
\\.\PhysicalDriveN.
Privilege escalation applies only to the specific device node opened by the emulator.
Safe usage recommendations¶
Test with read-only first: Boot the disk with
read_only = true(or--host-disk-read-only) to verify that filesystems mount correctly.Host unmounting: Ensure host operating system volumes on the device are unmounted before opening the raw device in Copperline to avoid filesystem conflicts.
Flushing writes: Copperline flushes disk writes synchronously to ensure data integrity on removable media.