Où sommes nous ?

Monter un disque ou une image Amiga

A voir aussi

Créer l'image d'un disque

Modules Amiga dans le kernel linux

Après avoir ajouté une carte SCSI et les modules qui vont bien dans le kernel (voir les liens de l'encart), à savoir CONFIG_AMIGA_PARTITION et CONFIG_AFFS_FS, mes précieux disques Amiga deviennent accessibles depuis mon serveur de sauvegarde.

Ce dernier étant sous TinyCoreLinux, distribution minimaliste. Tant mieux, cela nous permettra de voir comment ça se passe sous le capot et permettra d'investiguer si les choses se passent mal.

Accéder à un disque

Avec une distribution moins minimaliste, du moment que les 2 modules ci-dessus sont chargés, on branche le disque et il devrait être disponible comme le sont tous les autres. Avec TCL, les choses sont un peu plus sportives.

Identifier le disque et ses partitions

Le très connu fdisk ne reconnait pas le partitionning des disques Amiga :

$ fdisk -l
Disk /dev/sda: 202 MB, 212703232 bytes, 415436 sectors
202 cylinders, 64 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Disk /dev/sda doesn't contain a valid partition table
fdisk: device has more than 2^32 sectors, can't use all of them
Found valid GPT with protective MBR; using GPT

Disk /dev/sdb: 4294967295 sectors, 4095M

Et pour une raison que je n'ai pas approfondie, les disques SCSI sont découvert par le kernel AVANT mon disque SATA : du coup, j'ai modifié ma config Grub pour que TCL identifie ses partitions par leur UUID et non par le nom du disque (ce qui rendra les boots plus pratique quelque soit les disques installés).

Parted lui est beaucoup plus puissant :

$ parted -l
Model: MAXTOR LXT-213S SUN0207 (scsi)
Disk /dev/sda: 213MB
Sector size (logical/physical): 512B/512B
Partition Table: amiga
Disk Flags:

Number Start End Size File system Name Flags
1 194kB 213MB 213MB affs1 DH0 boot


Model: ATA ST4000NE001-2MA1 (scsi)
Disk /dev/sdb: 4001GB

On voit bien que sda, disque de 213Mo, ne contient qu'une seule partition formatée en FFS Amiga.

monter la partition

$ mkdir /tmp/Amiga
$ sudo mount /dev/sda1 /tmp/Amiga/
Password:
$ ls /tmp/Amiga/
Distributions/ Projets/ SDT.info
Distributions.info Projets.info Trashcan/
MountList SDT/ Trashcan.info

Attention : dans cette configuration, les fichiers ne seront accessibles que par root, comme expliqué dans la doc.

$ ls -l /tmp/Amiga/
total 0
drwx------ 1 root root 0 Apr 14 1998 Distributions/
-rw------- 1 root root 2445 Mar 10 19:16 Distributions.info
-rw------- 1 root root 355 Mar 10 18:46 MountList
drwx------ 1 root root 0 May 3 2004 Projets/
-rw------- 1 root root 2273 Mar 10 19:16 Projets.info
drwx------ 1 root root 0 Jun 4 1997 SDT/
-rw------- 1 root root 2273 Mar 10 19:16 SDT.info
drwx------ 1 root root 0 Mar 10 18:46 Trashcan/
-rw------- 1 root root 1860 Mar 10 19:16 Trashcan.info

Du coup, on détermine son propre uid

$ id 
uid=1000(laurent) gid=1000(laurent) groups=50(staff),1000(laurent),1001(Sauvegardes)

et on monte la partition

$ sudo mount /dev/sda1 /tmp/Amiga/ -o setuid=1000

ce qui donne accès aux fichiers

$ ls -l /tmp/Amiga/
total 0
drwx------ 1 laurent root 0 Apr 14 1998 Distributions/
-rw------- 1 laurent root 2445 Mar 10 19:16 Distributions.info
-rw------- 1 laurent root 355 Mar 10 18:46 MountList
drwx------ 1 laurent root 0 May 3 2004 Projets/
-rw------- 1 laurent root 2273 Mar 10 19:16 Projets.info
drwx------ 1 laurent root 0 Jun 4 1997 SDT/
-rw------- 1 laurent root 2273 Mar 10 19:16 SDT.info
drwx------ 1 laurent root 0 Mar 10 18:46 Trashcan/
-rw------- 1 laurent root 1860 Mar 10 19:16 Trashcan.info

Mounter une image

Comme avec n'importe quel filesystem, il est possible de monter une image 'dd'

Associer un "disque" en découvrant les partitions

Losetup permet d'associer l'image avec un device "loop".

$ losetup -P /dev/loop0 Amiga4000.img2_dd

Et grâce à l'option -P, il va découvrir les partitions.

$ ls /dev/loop0*
/dev/loop0 /dev/loop0p1 /dev/loop0p2 /dev/loop0p3

Il ne reste plus qu'à monter la partition.

$ sudo mount /dev/loop0p1 /tmp/amiga/
$ ls /tmp/amiga
C/ Fonts/ Rexxc/ Tools/ WBStartup.info
Classes/ L/ S/ Tools.info dplibs/
Devs/ Libs/ Storage/ Trashcan/ xsys/
Devs.info Locale/ Storage.info Trashcan.info
Disk.info Node.rinfo System/ Utilities/
Expansion/ Prefs/ System.info Utilities.info
Expansion.info Prefs.info T/ WBStartup/

Limitation

Comme la doc le démontre, l'intégration des disques Amiga est vraiment bien faite dans Linux ... avec quelques limitations bien indiquées. Je rajouterai :


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.