@Arthur, was das Skript tut hatte ich ja schon geschrieben. Ich nenne das Skript
stcard. Es ist dem Skript aber egal, unter welchem Namen Du es abspeicherst.
Vergiss nicht es ausführbar zu machen (chmod +x stcard).
Das wesentliche steht eigentlich schon im Header des Skriptes. Aber nun gut, erläutere ich etwas genauer.
Heutzutage haben vermutlich die meisten ATARI ST-Nutzer irgendeinen Festplattenemulator auf SD-Karten-Basis - z.B. Gigafile, Satan oder Ultrasatan um nur einige zu nennen. Nun bietet es sich an diese Karten auch am PC unter Linux zu Lesen und/oder zu beschreiben. Da nicht in jeder Linux-Distribution das Kernel-Modul zur Unterstützung von ATARI-Partitionen mitkompiliert wird, funktioniert das auf Systemen mit solchen Distributionen erstmal nicht. Man kann jetzt hergehen und sich einen eigenen Kernel mit der Unterstützung für ATARI-Partitionen kompilieren oder aber, man umgeht die Partitionstabelle und benutzt
loop-devices für die einzelnen Partitionen und mountet das darin enthaltene Dateisystem direkt in bereitgestellte Ordner. Letzteres tut mein Skript. Da mein Skript mithilfe von
parted die Partition auswertet aber das Einhängen und der Zugriff auf das Dateisystem wieder ganz normal über den Linux-Kernel läuft, gelten die üblichen Einschränkungen, insbesondere eine maximale Sektorgröße von 4096 bytes. Die maximalen Partitionsgrößen die damit unterstützt werden und den Rechenweg dahin habe ich für TOS 1.02 und TOS 1.04 im Header des Skriptes dokumentiert.
Am Anfang des Skriptes werden drei Variablen definiert:
DEVICE=/dev/sde
MOUNTPOINT=~kernal/stcard
MAXPARTSIZE=134217728
Das solltest Du auf jeden Fall ändern. DEVICE ist die Gerätedatei zur SD-Karte. Das kann aber auch gerne ein Image-File einer SD-Karte sein. Meine SD-Karten melden sich immer als
/dev/sde an. Das musst Du aber selbst herausfinden, welches das bei dir ist. Hilfreich dabei sind z.B.
lsblk, disktype und
parted.
MOUNTPOINT steht für das Zielverzeichnis, in dem die Partitionen eingehängt werden sollen. Bei mir wären das mit obiger Konfiguration und einer SD-Karte mit zwei Partitionen /home/kernal/stcard/sde1 und /home/kernal/stcard/sde2.
MAXPARTSIZE ist die maximale Partitionsgröße, die sich aus dem kleinsten gemeinsamen Nenner der jeweiligen Systemlimits von TOS und vfat (bzw. DOS) ergeben. Wie gesagt stehen die Werte für TOS 1.02 und TOS 1.04 im Header des Skriptes. Wie man leicht erkennen kann nutze ich noch TOS 1.02. TOS 1.04 ROM-Module habe ich bestellt und sind auf dem Weg.
Im Kern kombiniert das Skript
parted zum Ermitteln der Partitionsanfänge und -längen,
losetup zum Anlegen von Loop-Devices mit den ermittelten Partitionsgrenzen und
mount.vfat zum mounten der Loop-Devices.
Ich hoffe, das ist nun Erläuterung genug. Wenn nicht, kannst Du gerne noch spezifische Fragen stellen. Ich baue auch gerne vorgeschlagene Bugfixes und/oder Erweiterungen ein (z.B. Parametrisierung) und veröffentliche dann neue Versionen hier.