Obligement - L'Amiga au maximum

Samedi 17 novembre 2018 - 03:13  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles en d'autres langues


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Logiciels
 · Jeux
 · Scène démo
 · Divers


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


En pratique : Installation de PFS3aio
(Article écrit par Gilles Pelletier - octobre 2018)


Voici un tutoriel montrant comment installer PFS3aio 19.0 et soulignant ses corrections par rapport au PFS3 originel.

PFS3

Le Professional File System 3, aussi connu sous l'acronyme PFS3, est un système de fichiers. Il a été l'évolution logique du système de fichiers FFS de l'Amiga, avec la montée en capacité des disques, poussant les limites à une taille de partition de 104 Go et la gestion des disques de 2 To. Pour plus de détails sur PFS3, relire l'article de Laurent Belloni publié sur Obligement en janvier 2000.

Comme il existe plusieurs versions, par processeur, par TD (commandes TrackDisk standard ou TD64) et par DS (commandes "Direct SCSI"), vous comprendrez la complexité de choisir la bonne et le risque de plantage à l'installation de ce système de fichiers, sachant qu'il faut au minimum une ROM 2.04.

Du paquet PFS3, il est intéressant de garder HDInstTools pour le partitionnement, et Tools/PFSDoctor pour réparer d'éventuels problèmes.

PFS3aio (aio = all in one, tout en un) est la synthèse des deux versions TD64 (Phase 5) et DS (Direct SCSI) et a l'avantage de rester compatible avec les systèmes 1.2, 1.3, 2.x et 3.x, et les processeurs 68000 à 68060 (voire le 68080 :)).

Petits rappels techniques
  • Le TD64 (1995) est une extension définie par Phase 5, développée après la faillite de Commodore.
  • Le NSD new style devices (1997) est une extension définie par les repreneurs d'AmigaOS, bien sûr différente et non compatible avec TD64 (et pourtant TD64 et NSD utilisent la même astuce... décrite plus bas).
  • Les DS Direct SCSI sont des commandes reconnues uniquement par les disques de type SCSI.
La version 5.3 de PFS3 (version du système de fichiers numéroté 18.3) est une version commerciale écrite par Michiel Pelt en C avec un peu d'assembleur 680x0. Toutes les versions suivantes sont maintenues par Toni Wilen (l'auteur de WinUAE) et la version officielle se trouve sur Aminet. PFS3aio a besoin des commandes TD64 ou DS.

Schéma du principe
  1. Utilisateur.
  2. Applications (fread(), fwrite()...).
  3. dos.library (Read(), Write()... transforme les ordres des fonctions en messages dospackets).
  4. Système de fichiers (transforme les dospackets en iorequest).
  5. Périphérique logique (alias "device", transforme les iorequests en commandes SCSI READ (10), WRITE (10), ...).
  6. Matériel (reçoit les commandes et agit sur le support : clef, disque).
Si l'utilisateur lance une application qui lit des données sur disque, par exemple un programme en C qui lit 512 octets d'un fichier, la commande fread(&buffer, 1, 512, f) passera en réalité par une fonction DOS Read(f, &buffer, 512) qui va transformer cet ordre en message au système de fichiers (plus précisément un dospacket ACTION_READ).

Pour notre cas, ce sera PFS3 qui le décomposera en iorequest compréhensible par le périphérique logique (message de demande d'entrée/sortie TD_READ64).

Le iorequest est une structure qui comprend un champ io_Offset, entier long 32 bits non signé, qui sert à repérer la position des blocs sur le disque. Malheureusement, ce nombre n'est pas un numéro de bloc, mais sa position, il faut multiplier le numéro de bloc par sa taille en octets pour obtenir cet io_Offset.

io_Offset = numéro de bloc * 512

On arrive vite à la barrière des 2 Go. Il faut donc passer à une numérotation sur 64 bits pour cet io_Offset. TD64 et NSD utilisent la même astuce : le champ io_Actual sert à stocker les 32 bits haut, et io_Offset les 32 bits bas. Le nombre indiquant la position du bloc peut ainsi dépasser la barrière des 2 Go.

Le pilote de bas niveau (appelé ".device") traduira cette position de bloc (io_Actual:io_Offset) sur 64 bits, en divisant par 512 (décalage à droite de 9 bits) en numéro de bloc utilisable par la commande SCSI "READ (10)", commande SCSI de 10 octets, qui selon la documentation des commandes SCSI peut adresser 232-1 blocs de 512 octets, soit 2 To.

Il existe un READ (16) et un READ (32) qui peuvent adresser 264-1 blocs de 512 octets, mais je doute que l'Amiga puisse faire quelque chose de correct avec ces commandes.

Pour l'écriture, c'est le même principe, la commande iorequest TD_WRITE64 sera traduite en WRITE (10) en divisant la position de bloc (io_Actual:io_Offset) sur 64 bits par 512.

Le périphérique logique (device)

Utilisez l'utilitaire check4gb pour tester si le périphérique logique peut gérer les gros disques.

Exemples :

Check4GB usbscsi.device 0
usbscsi.device unit 0 supports TD64 commands

C'est rassurant, il en fait le minimum...

Check4GB uaehf.device 0
uaehf.device unit 0 supports NSD commands
uaehf.device unit 0 supports TD64 commands

Le périphérique logique de WinUAE gère tous les modes connus pour les disques de taille supérieure à 4 Go.

Check4GB trackdisk.device 0
trackdisk.device unit 0 does not support harddrives larger than 4GB

Comme on pouvait s'y attendre, le trackdisk.device n'est pas éligible.

Check4GB scsi.device 0
scsi.device unit 0 does not support harddrives larger than 4GB

Et le scsi.device non plus...

Alors que faire si son périphérique logique n'est pas éligible ? Il doit exister des mises à jour de ROM... on pourrait aussi mettre à jour le scsi.device au premier démarrage, mais la première partition amorçable devra être en FFS dans les deux premiers Go.

Les versions

La dernière version de PFS3 est la 5.3. Pourtant, la version du système de fichiers est la 18.3. PFS3aio, lui, est en version 3.0. Pourtant, la version du système de fichiers est la 19.0. Et les versions expérimentales ont toutes le même numéro... donc soyez vigilants quand vous modifiez le RDB (Rigid Disk Block, endroit du disque où sont stockés les partitions et les systèmes de fichiers) ou copiez ce fichier dans le répertoire système L:.

Problèmes avec la version d'origine de PFS3 et la version 18.4 de PFS3aio

Désarchivage

Si vous décompressez une archive Lha (Lzh ou Zip c'est le même problème, il faut créer beaucoup de fichiers rapidement) directement sur une partition PFS de plus de 5 Go avec PFS3 18.3/18.4, vous risquez d'avoir des messages d'erreur dans le genre "wrong block id" et ne plus pouvoir écrire sur le disque.

Heureusement il y a PFSDoctor qui permet de réparer la partition.

PFSDoctor PFSDoctor

Alors on clique :

PFSDoctor en plein travail de vérification

On attend :

PFSDoctor en plein travail de correction

Et après quelques minutes d'angoisse, c'est réparé.

PFSDoctor a terminé

Démontage de partition...

Un autre bogue, le dospacket ACTION_DIE, pour signifier que l'on souhaite démonter une partition, provoque un gourou sous AmigaOS 1.3 (un #3) et de temps en temps sous AmigaOS 3.1. Toni Wilen a passé beaucoup de temps avec la commande Unmount de ce paquet pour liquider ce problème (pour une fois, ce n'était pas de mon sort... la commande Unmount fonctionne parfaitement avec FAT95, un autre système de fichiers (et pas du tout avec le FFS originel)).

Partition en plus sous AmigaOS 1.3

C'est visuel...

PFS3_184_amigaos13rminé

Quelle est donc cette partition fantôme nommée U2P1:DOSC ? Elle est ajoutée si vous installez la version 18.4 de PFS3aio, ça fait tâche sur le bureau... Passez à la partie suivante pour vous en débarraser.

Installation de la version 19.0 de PFS3aio

Heureusement qu'il y a des mises à jour qui corrigent les problèmes. Après une mise à jour du RDB par le nouveau PFS3 version 19.0, puis un redémarrage, le problème disparaît.

Pour mettre à jour, c'est relativement simple, il faut utiliser HDInstTools (cet utilitaire fonctionne aussi sous AmigaOS 1.3, mais les couleurs de l'interface sont affreuses).

Avant de lancer HDInstTools, cliquer sur son icône, sélectionner le menu "Icônes/Information..." et modifier la ligne "DEVICE=" avec le nom du périphérique logique.

PFS3aio

Mettre par exemple : DEVICE=usbscsi.device.

Vous pouvez ainsi installer des systèmes de fichiers et partitionner le disque indiqué. Un précédent article a montré comment se servir de HDInstTools pour transférer des données entre un PC et un vrai Amiga.

Lancez HDInstTools, on va faire un tour dans "File System..."

PFS3_190_installation

Notre PFS3 est en version 18.4 (c'est en fait un 18.3 maintenu par Toni Wilen).

Cliquer sur "Update..." pour la mise à jour.

PFS3_190_installation

Sélectionner le nouveau système de fichiers.

C'est bien la version 19.0.

PFS3_190_installation

PFS3_190_installation

On sauve les changements.

PFS3_190_installation

Et on peut redémarrer.

Voici deux captures d'écran : la première montre PFS3 version 18.4 et la seconde la version 19.0, pour comparaison. Non seulement la partition fantôme a disparu, mais en plus on a économisé de la mémoire (5712 octets :)).

PFS3 18.4

PFS3 19.0

Conclusion

J'ai réalisé ces manipulations avec WinUAE et un fichier image de 120 Go (via uaehf.device) avant de mettre à jour pour de vrai le disque USB de 120 Go (via usbscsi.device et ANAIIS) qui sert de disque dur à mon A2000 (qui a 30 ans cette année !).

Les trois défauts constatés ont disparu dans les deux contextes. PFS3aio est un système de fichiers permettant d'utiliser de gros disques récents sur un vieux système de 33 ans... et en plus de cela, il est rapide et très fiable, par rapport au FFS. Je n'ai encore rien perdu, PFSDoctor a toujours tout retrouvé...


[Retour en haut] / [Retour aux articles]