disktype
and parted
programs. Any good Unix should have
those (I use Debian GNU/Linux)Let us try this with a disk image I used for my Ultrasatan device, for example st_mint
wget http://www.subsole.org/static/retrocomputing/st_mint-0.7.img.zip
Unzip the disk imageunzip st_mint-0.7.img.zip
Inspect the diskimage with the disktype
program, an excellent disk analysis tool.disktype st_mint-0.7.img
--- st_mint-0.7.img
Regular file, size 600 MiB (629145600 bytes)
ATARI ST partition map
Partition 1: 128.0 MiB (134201344 bytes, 262112 sectors from 4, bootable)
Type "BGM" (Big GEMDOS)
FAT16 file system (hints score 3 of 5, ATARI ST bootable)
Unusual sector size 4096 bytes
Volume size 127.9 MiB (134119424 bytes, 16372 clusters of 8 KiB)
Partition 2: 384.0 MiB (402666496 bytes, 786458 sectors from 262116)
Type "MIX" (Unknown)
Notice the two partitions, first one is of type BGM, the second one is a Minix partition.Print the partition table
parted
(this will output some warnings if running as non-root)parted st_mint-0.7.img print
Partition Table: atari
Disk Flags:
Number Start End Size Type File system Flags
1 2048B 134MB 134MB primary boot
2 134MB 537MB 403MB primary
Print the partition table with the begin and end of each partition being printed in bytes
we will need this to create the loopback devicesparted st_mint-0.7.img -- unit b print
Partition Table: atari
Disk Flags:
Number Start End Size Type File system Flags
1 2048B 134203391B 134201344B primary boot
2 134203392B 536869887B 402666496B primary
Now using the beginning and end of each partition in bytes from the line above, create the /dev/loop devices corresponding to each partition: sudo losetup --find --offset 2048 --sizelimit 134201344 --verbose st_mint-0.7.img
This should give a loopback device
losetup --all
/dev/loop3: []: (/home/manu/Téléchargements/st_mint-0.7.img), offset 2048, sizelimit 134201344
Now let us do a file check on the partition
sudo fsck.vfat /dev/loop3
fsck.fat 4.1 (2017-01-24)
/dev/loop3: 217 files, 966/16372 clusters
and mount itsudo mount /dev/loop3 /mnt
looks an Atari ST system inside
ls /mnt
APPS CBHD502 CLIPBRD FSELECT.INF MICO MULTITOS TOOLS
AUTO CBHD.SYS CRIPPLE HUSHI.SYS MINT NEWDESK.INF
file /mnt/APPS/QED/QED.APP
/mnt/APPS/QED/QED.APP: Atari ST M68K contiguous executable (txt=189972, dat=16234, bss=103214, sym=0)
when your work is finished, unmount the partition and detach the loop device from the disk image
sudo umount /mnt
sudo losetup --detach /dev/loop3