Hardware > Hardware (High-End)
Milan-Hilfe-Seite
Rustynutt:
Ya, a job for electronics person with baby fingers! :D
Nervengift:
The soldering iron and I are not great friends. I don't want to destroy the board. There's an old german proverb: "Gut Ding will Weile haben." It means that it takes it little bit longer if the outcome should be good. I'm really excited to get the 68060 in the Milan running.
Was mir als Thema für die Milan-Hilfe-Seite auch noch eingefallen ist: Netzwerkkarten. ;) Es gibt ein paar ISA und auch PCI-Netzwerkkarten, die im Milan mit den entsprechenden Treibern laufen. Eine Übersicht diesbezüglich wäre echt cool. Ich hatte auch mal einen Thread zu den ISA-Netzwerkkarten im Milan gemacht:
https://forum.atari-home.de/index.php/topic,12634.20.html
Curly060:
Ok, das mit den Netzwerkkarten kann ich gerne aufnehmen, aber erst, wenn ich mit dem fertig bin, woran ich in den letzten Tagen sehr intensiv gearbeitet habe :)
Ich habe nach der optimalen Lösung gesucht, wie ich unter Linux eine unter TOS partitionierte SD/CF-Karte so einbinden kann, als wäre sie DOS kompatibel formatiert, aber ich dennoch ganz normal von dieser Karte im Milan/Falcon booten kann - und ich habe diese optimale Lösung gefunden! :)
Ich muss das noch fertig dokumentieren, weil es schon ziemlich kompliziert ist. Hier mal die Hürden, die man da so nehmen muss:
* Die Daten liegen im Big Endian Format vor, müssen also erst mal byte geswapped werden
* Ab Partitionsgrößen > 128MB stehen im Bootsektor Werte drin, die Linux nicht mag
* Auf keinen Fall soll jedesmal erst ein Image der Karte erstellt und am Ende zurück geschrieben werden. Viel zu lahm und belastet den Flash-Speicher
Inspiriert vom stcard-Skript von @kernal und von einer grandiosen Idee meines besten Kumpels (auch ein ehem. Atari-Freak :)) habe ich nun was gebastelt, das alle diese Probleme genau so löst, wie ich mir das gewünscht habe:
Zuerst das Byteswapping:
Der Kernel kann das ja leider nicht, aber dank Holger (ich nenne ihn hier einfach mal :)) bin ich auf xmount gestoßen. Das erstellt mit FUSE ein virtuelles Dateisystem und konvertiert Images on-the-fly und hat einen Schreibcache (Schreibzugriffe landen also nur im Cachefile und nicht auf dem eigentlichen Image). Und es hat sog. morphing Libs, mit denen man die Daten des Input-Images on-the-fly manipulieren kann.
Eine Byteswap-Morphing-Lib hat es leider nicht an Bord, aber die habe ich eben kurzerhand selbst programmiert.
Also, mit xmount mountet man nun seine SD-Karte und erhält ein on-the-fly byte geswapptes Image! Perfekt!
parted erkennt darauf nun die Partitionen und ich kann die Bootsektoren auslesen. Ich lese die nötigen Werte und berechne sie so um, dass sie DOS/Linux kompatibel sind.
Jetzt erzeuge ich mir ein sparse File der Größe der SD-Karte und partitioniere es ganz normal mit parted exakt so, wie es unter TOS partitioniert wurde. Und dann schreibe ich an die jeweiligen Bootsektoren meinen DOS-kompatibel erzeugten Bootsektor rein. Das sparse File ist jetzt absolut analog zu TOS partitioniert, aber eben mit DOS/Linux kompatiblen Bootsektoren. Ansonsten ist es leer.
So, jetzt muss man nur das xmount-Image mit dem Sparse File verheiraten. Und weil Linux einfach geil ist ;), bringt es die Mittel dazu gleich mit:
Mit dmsetup erzeuge ich mir jetzt ein device, das alle Sektoren meines xmount-Images enthält, bis auf jene, die im Sparse-File nicht leer sind (das sind genau der Root-Sektor und die Bootsektoren).
Damit habe ich nun ein Device, das blitzsauber für Linux partitioniert ist, aber die Daten der SD-Karte enthält.
Die Schreibzugriffe landen alle im Cachefile und sind natürlich im little endian Format. Wenn man also fertig ist mit der Arbeit, muss man nur noch die Daten aus dem Cache file an passender Stelle auf die SD-Karte zurück schreiben und sie dabei byteswappen! Zum Glück ist das Cachefile-Format trivial (und dank Opensource ja auch einsehbar), so dass das sehr simpel war.
So, ganz schön krasse Aktion! Aber: Das Skript macht all diesen Mist vollautomatisch und am Ende erhält man Loop-Devices, die genau den TOS-Partitionen entsprechen. Diese erscheinen dann direkt im Dateiexplorer in Linux und los geht's! Wenn man den Partitionen noch mit einem ordentlichen Desktop schöne Labels gibt, erscheinen die auch so unter Linux und man weiß direkt, was was ist!
Na, also wenn das nix ist! Aber wie man schon sieht: Verflucht komplizert und man muss sich xmount leider selbst kompilieren und meinen Patch drauf anwenden. Also, die Dokuarbeit wird sicher nochmal so vie Zeit in Anspruch nehmen, wie das Skript selbst. Aber das Ergebnis finde ich total geil :-)
Mac und Windows-User bleiben hier leider außen vor. Beim Mac könnte das evtl. sogar klappen. Ein Unix-Unterbau ist Gold Wert. Ich hab nur keinen Mac. Sobald das alles fertig ist, kann sich ja ein Mac-User dran versuchen :)
Cheers, Ingo =;->
mfro:
Hallo Ingo,
eindrucksvoll, was alles geht.
Allerdings kann man - fast dasselbe - m.E. auch deutlich einfacher haben: mit Aranym.
Aranym kann devices byte-swappen *und* hat das Host-FS. Wenn man die SD- oder CF-Karte also in der Aranym-Config hinterlegt:
--- Code: ---[IDE0]
Present = Yes
IsCDROM = No
ByteSwap = Yes
ReadOnly = No
Path = /dev/sdc
Cylinders = 0
Heads = 0
SectorsPerTrack = 0
ModelName = Master
--- Ende Code ---
kann Aranym (ist ja schliesslich ein TOS-Rechner) direkt schreiben und lesen und über das Host-FS auch auf Linux-Dateisysteme zugreifen (ich hab's nicht probiert, aber das müsste mit Mac OS eigentlich genauso funktionieren). Man kann also bequem über den GEM-Desktop Dateien hin- und herkopieren.
Abgesehen davon, dass Linux die Laufwerke so nicht "sieht", muss man lediglich mit den Laufwerks-Zuordnungen ein bisschen aufpassen: weil TOS ein IDE-Laufwerk, das vorher nicht vorhanden war, immer "ganz vorne" einreiht, bootet Aranym evt. nicht mehr so, wie man das gerne hätte. Aber da gibt es ja genügend Möglichkeiten...
Gruß,
Markus
Lukas Frank:
--- Zitat von: mfro am Mo 31.05.2021, 09:50:19 ---... das müsste mit Mac OS eigentlich genauso funktionieren ...
--- Ende Zitat ---
Ja geht ohne Probleme. Das Device muss man z.B. über Informationen im Festplattendienstprogramm sich anzeigen lassen. Ich habe das mal mit Hatari und einem USB CardReader mit einer CF Karte Atari TOS eingerichtet probiert. Eingebunden als ACSI Image bei Hatari ...
--- Code: ---Franks-MacMini:~ frank$ sudo dd if=/dev/disk2 of=/Users/frank/Downloads/cf_32mb.img conv=swab
Password:
63488+0 records in
63488+0 records out
32505856 bytes transferred in 14.907506 secs (2180503 bytes/sec)
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln