amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > AROS und Amiga-Emulatoren > AROS: RasPi-Port und Arix von Michal Schulz wieder in Arbeit [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

17.09.2018, 12:56 Uhr

Floppy
Posts: 392
Nutzer
Mehr zum Thema inkl. Blog gibt es hier zu lesen:

https://www.patreon.com/michal_schulz

[ - Antworten - Zitieren - Direktlink - ]

18.09.2018, 08:42 Uhr

Floppy
Posts: 392
Nutzer
Wie M. Schulz im aktuellen Post erklärt, arbeitet er tatsächlich an beiden Projekten gleichzeitig/parallel (Aros-RasPi-BigEndian-nativ und Arix).

https://www.patreon.com/posts/arix-status-21477262

Zu Aros-RasPi-BigEndian-nativ gibt er folgendes Status-Update:

Die bootstrap-Routine verlässt erfolgreich den Hypervisor-Modus (der noch nicht unterstützt werden kann), aktiviert den Big-Endian-Modus und setzt den Bootvorgang fort. Die Peripherie der Raspi-CPU wird initiiert (diese arbeiten noch im Little-Endian-Modus, weshalb die AROS_LE2LONG-Makros derzeit noch intensiv benutzt werden).

https://www.patreon.com/posts/yay-21474334

[ - Antworten - Zitieren - Direktlink - ]

20.09.2018, 16:22 Uhr

Floppy
Posts: 392
Nutzer
Zu AriX hat M. Schulz vor einigen Tagen auch eine Erklärung geschrieben, die ich hier gekürzt wiedergebe:

Der Ausgangspunkt für AriX war der Wunsch von M. Schulz (und anfangs einigen anderen AROS-Entwicklern), einen anderen Ansatz als AROS ausprobieren zu wollen. Die bisherigen Entwicklungen von AriX (inkl. Anubis) folgten dieser Idee, aber für eine Umsetzung war es noch zu früh.

Nun arbeitet M. Schulz an einem neuen Ansatz für AriX, nichts bahnbrechendes und kein komplett neues OS. Er möchte eine kleine Reihe von Bibliotheken mit einer Amiga-like API erstellen; keine 1:1-Amiga-API, nur eine ähnliche, vielleicht mit einigen bekannten Amiga-Libraries.

Was das bringen soll? Nur die Möglichkeit, etwas Software zu schreiben, die unter Linux läuft, aber mit Nicht-C-Standard-Funktionen. Vielleicht wird es sich zu etwas größerem entwickeln, oder besser, vielleicht wird es einfach irgendwo auf GitHub landen.

Derzeit soll es nur ein Experiment sein.
Was existiert schon? Nicht viel, nur ein Skelett der exec.library und der debug.library. Aber etwas funktioniert schon. Es lässt sich ein Binärprogramm mit der exec.library starten und auf seine Funktionen über ausführbare Dateien zugreifen. Man kann aufrufen OpenLibrary („debug.library", 0) und anschließend die Fehler-oder vbug-Funktion verwenden, um Text auf dem Bildschirm zu schreiben. Es wird noch mehr kommen.

[ - Antworten - Zitieren - Direktlink - ]

25.09.2018, 20:49 Uhr

Floppy
Posts: 392
Nutzer
Update zum Port von AROS auf den Raspberry Pi 3:

https://www.patreon.com/posts/device-tree-and-21605999

Nach der Anpassung des Bootcodes an die VC-Firmware beginnt AROS auf dem Raspberry Pi 3b+ zu arbeiten. Die Arbeit am Bootcode wird weitergeführt, um ihn so Endian-unabhängig wie möglich zu machen. Es stellte sich heraus, dass das Laden der neusten VC-Firmware über Netzwerk auf den Rechnern von Michal Schulz nicht funktionierte. Deshalb hilft er parallel den Raspi-Bootcode-Entwicklern bei der Fehlerbeseitigung in der bootcode.bin-Datei.

Im o. g. Link folgt ein boot-log von AROS. Es zeigt, dass der Bootcode den AROS-Kernel erreicht (die Datei kernel.resource). Das heißt, dass der Big-Endian-Kernel korrekt von der ELF-Datei geladen wird. Das erlaubt Michal Schulz zu hoffen, dass zumindest die Endianess-Probleme jetzt alle behoben sind. Offensichtlich funktioniert auch das MMU-Mapping des Kernels.

[ - Antworten - Zitieren - Direktlink - ]

23.10.2018, 13:13 Uhr

Floppy
Posts: 392
Nutzer
Updates zu ARIX:

https://www.patreon.com/posts/arix-progress-22160092

https://www.patreon.com/posts/arix-target-22186659

Nach einer Zwangspause wegen einer Operation am Knie berichtet Michal Schulz von seinen weiteren Fortschritten bei ARIX. Im vorletzten Blogeintrag beschreibt er seine Tests mit QEMU, ob die bisher erstellten Dateien ausreichen, um vom Linux-Kernel starten zu können. Zu Testzwecken wird dabei der Linux-Kernel gebootet ohne Grafikausgabe mit Konsolenausgabe auf das Terminal. Auf ARIX-Seite wird anschließend ein memfd File Descriptor erzeugt, der eine Start-Message übergibt. Außerdem werden /sys, /dev, /proc etc. initialisiert und die von exec.library erzeugten Message-Ports gesichert. In der utility.library wurden alle TagList-Funktionen von AROS hinzugefügt.

Zu Threads und seine nächsten Schritte schreibt er folgendes:

Der letzte erwähnenswerte Punkt sind Threads. Sie können erzeugt werden mittels exec.library/CreateThread und können bis zu 8 Startparametern erhalten für zukünftig mehr Features. Sie teilen sich alle den gleichen Adressbereich, ebenso wie die gleichen Message-Ports, Dateien und so weiter. Sie benutzen den Aufruf Clone System des Linux-Kernels. Das bedeutet auch, dass ich jetzt zuverlässige Locking-Mechanismen hinzufügen muss. Bis jetzt waren sie nicht notwendig, weil jedes Programm für sich lief, als einzelner Thread in seinem eigenen Adressbereich. Das hat sich jetzt geändert. :)

Die nächsten Schritte? Implementierung zuverlässiger Locking-Mechanismen und Benutzung dieser in den Libs, soweit erforderlich. Weiterentwicklung der dos.library inklusive des Startens neuer Prozesse (Ausführung von Programmen innerhalb von ARIX). Ah, und solcher Details wie Initialisierung des Random-Number-Generators, ansonsten erhalte ich ein paar lustige Warnungen vom Linux-Kernel :-). Wenn ich damit fertig bin, kann ich nachdenken über das Mounten von Dateisystemen und das Auswählen eines richtigen Boot-Devices.

Im letzten Blogeintrag erwähnt er die einheitliche Umstellung auf den Crosscompiler von GCC 8.2 für x86_64, armhf and aarch64 sowie die Verbesserung der Build-Skripte und initrd.

[ Dieser Beitrag wurde von Floppy am 16.11.2018 um 16:03 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

06.11.2018, 08:37 Uhr

Floppy
Posts: 392
Nutzer
Update zu AROS ARM BE:

https://www.patreon.com/posts/we-have-image-22454948

Wir haben (wieder) ein Bild

Michal Schulz konnte nach der Zwangspause wegen einer Knie-Operation seit kurzem wieder an AROS BE für ARM arbeiten. Schwerpunkt war dabei, die AROS-Bildschirmausgabe an den VideoCore4 für Raspberry PI2 und 3 anzupassen. Beim ersten AROS-Port auf Raspberry PI war die Systemstruktur anders: Es gab einen Single-CPU-Core, keinen Hypervisor-Modus beim Kernel-Start und der GPU-L2-Cache wurde als Shared Memory auch von der CPU benutzt. Auch letzteres hat sich auf dem Raspberry Pi2 und 3 jetzt geändert, das heißt, die CPU hat ihren eigenen L2-Cache, was die Anpassung von AROS für ARM hinsichtlich der Adressierung von Speicherbereichen notwendig machte. Nach dieser Anpassung durch Michal Schulz beginnt die Bildschirmausgabe von AROS BE für ARM zu funktionieren, was mit einem Bild dokumentiert wird.

Außerdem wurde der Bootstrap-Code etwas aufgeräumt und das Problem mit bootcode.bin ist nun gefixed mit großem Dank an Phil Elwell. Damit muss nicht mehr jedesmal die SD-Karte gewechselt werden. Stattdessen wird AROS cross-kompiliert und nach dem RESET des Raspberry startet AROS ein paar Sekunden später.

[ Dieser Beitrag wurde von Floppy am 16.11.2018 um 16:05 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.11.2018, 20:31 Uhr

hjoerg
Posts: 3853
Nutzer
Oh, lohnt es sich schon den RASPI 3b+ (PLUS!) mal anzuschmeißen?

Das war doch eine Kaufversion, oder? :dance3:
--
WinUAE Fan
hjörg :dance2:
For Player only

"Wenn ich dir Recht gebe, liegen wir beide falsch"

[ - Antworten - Zitieren - Direktlink - ]

08.11.2018, 09:10 Uhr

Floppy
Posts: 392
Nutzer
@hjoerg:
Was meinst Du mit „Kaufversion“?

[ - Antworten - Zitieren - Direktlink - ]

08.11.2018, 10:17 Uhr

mschulz
Posts: 1
Nutzer
@hjoerg:

Es dauert noch ein wenig. Es bootet noch nicht mal weiter als bis exec.library. Und was meinst du mit Kaufversion?

[ - Antworten - Zitieren - Direktlink - ]

08.11.2018, 15:21 Uhr

hjoerg
Posts: 3853
Nutzer
@Floppy,
@mschulz:

Hallo ihr Beiden,

hatte ich mal gelesen das der AROS-Port käuflich erworben werden mußte?
So wie ich Eure Antworten lese wohl eher nicht... auch gut, prima!

Ich habe auch noch einen RASPI ohne „plus“. Kann damit aber nur ein bisschen Testen, weil dieser standardmäßige Aufgaben erfüllen muß und dabei laufend in Betrieb ist.

Ich warte aber gerne auf die nächste Version von Michal Schulz.
Danke das du dich extra angemeldet hast! :bounce:
--
WinUAE Fan
hjörg :dance2:
For Player only

"Wenn ich dir Recht gebe, liegen wir beide falsch"

[ Dieser Beitrag wurde von hjoerg am 08.11.2018 um 15:23 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

08.11.2018, 16:30 Uhr

Floppy
Posts: 392
Nutzer
@hjoerg:
Nö. Da verwechselst Du den Port eventuell mit einer Distribution (vermutlich AEROS von Pascal Papara alias Phoenixkonsole).

[ - Antworten - Zitieren - Direktlink - ]

16.11.2018, 15:37 Uhr

Floppy
Posts: 392
Nutzer
Update zu AROS ARM BE

https://www.patreon.com/posts/i-like-modern-22601043

Im ersten von zwei Fortschrittsberichten vom 08.11.2018 berichtet Michal Schulz von seiner Suche nach einem Fehler, der sich nur darin äußerte, dass der moderne GCC-Compiler für den Bootvorgang von AROS einen CPU-Ausnahmefehler generierte und das weitere Booten nach dem Kopieren der Interruptvektoren (exception vectors) an die richtige Stelle stoppte.

Ursache war die Position der Interruptvektoren von AROS ARM auf Adresse 0, welche der Compiler beim Kopieren als Nullpointer-Zugriff interpretierte. In diesem Fall ist das Problem aber eigentlich kein Problem, sondern etwas wirklich beabsichtigtes. Deshalb hat Michal Schulz dieses Problem durch Einfügen von Assemblercode zum Kopieren der Interruptvektoren gelöst und AROS setzt den Bootvorgang, wie erwartet, fort...

[ - Antworten - Zitieren - Direktlink - ]

16.11.2018, 16:02 Uhr

Floppy
Posts: 392
Nutzer
Update zu AROS ARM BE

https://www.patreon.com/posts/wake-up-core-or-22601654

In zweiten Blogeintrag vom 08.11.2018 erklärt Michal Schulz, dass er an der Vereinheitlichung von Big- und LittleEndian-AROS-Targets arbeitet. Sie teilen jetzt mehr Code und verwenden IO-Access-Makros mit vordefinierter Endianness. Damit sind sie nicht nur sicherer, auch der Code ist viel lesbarer.

Im Bootstrap-Code wurde das Starten der CPU-Kerne gefixed durch Verlassen des Hypervisor-Modus und Festlegen der richtigen Endianess (Big Endian). Außerdem werden die nicht benötigten Kerne beim Booten nun in den Sleep-Modus versetzt, was die bisher vorhandene starke Belastung des Buses des Raspi beim Booten von AROS (im reinen Spinning-Modus ohne Sleep) beseitigte.

[ - Antworten - Zitieren - Direktlink - ]

27.11.2018, 08:36 Uhr

Floppy
Posts: 392
Nutzer
Update zu AROS ARM BE

https://www.patreon.com/posts/look-into-this-22738548

Im Update vom 16.11.2018 beschreibt Michal Schulz, wie er nach dem Fixen einer Menge von Endianess-Problemen für AROS ARM BE (AROS ARM lief bisher im Little-Endianness-Modus) ein weiteres essentielles Problem für den frühen Boot-Prozess von AROS gefunden und beseitigt hat. Ursache war, dass die ROM-Bereiche vor dem Laden der residenten Module nicht gelöscht wurden. Das führte dazu, dass AROS entweder abstürzte oder fehlerfrei arbeitete.

Des weiteren konnte Michal Schulz den VC4-Grafiktreiber fixen (ebenso hinsichtlich der Endianness), so dass der Boot-Bildschirm von AROS erscheint. Auf Anfrage im Kommentarbereich erläutert er außerdem, dass er auch versuchen will, den VC4-Mesatreiber (also den 3D-Part) auf AROS zu portieren. Zuvor muss AROS jedoch fehlerfrei booten.

[ - Antworten - Zitieren - Direktlink - ]

28.11.2018, 14:33 Uhr

Floppy
Posts: 392
Nutzer
Update für AROS ARM BE

https://www.patreon.com/posts/time-for-usb-22947623

In seinem Update vom 27.11.2018 berichtet Michal Schulz, dass er den SD-Karten-Treiber wieder zum Leben erweckt hat sowie einige Build-Probleme und die Endianness weiter gefixed hat. Dies führte im Ergebnis dazu, dass AROS nach einem Endianess-Fix in der dos.library bis in den Wanderer bootete. Dieser Erfolg wird noch getrübt von einem Fehler beim Beschreiben der SD-Karte (siehe das Foto im Link), dessen Ursache vermutlich vom FAT-Dateisystem kommt (wegen der Endianness) oder vom SD-Karten-Treiber. Bei diesem Status ist es jedoch möglich, dass Michal Schulz als nächsten Schritt mit der Arbeit am USB-Treiber beginnt.

[ - Antworten - Zitieren - Direktlink - ]

20.12.2018, 18:08 Uhr

Floppy
Posts: 392
Nutzer
Update zu AROS ARM BE

https://www.patreon.com/posts/digging-through-23261667

https://www.patreon.com/posts/fight-with-usb-23357589

In den o. g. Statusupdates vom 11. und 16. Dezember berichtet Michal Schulz von seinen Anstrengungen und Erfolgen bei der Entwicklung eines neuen Poseidon-USB-Treibers für den DesignWare OTG-Core des Raspberry Pi, für den nur wenig freie Dokumentationsquellen und/oder Code verfügbar sind.

Angefangen bei den Basics (erste Kommunikation mit dem USB-Port, Implementierung der Control-Transfers usw.) beschreibt er dabei recht ausführlich seine Erfahrungen bei der Entwicklung des Treibers. In einem ersten Schritt erreichte er, dass die Raspberry-Geräte USB-Hub, Netzwerkchip und USB-SD-Kartenleser von AROS korrekt erkannt und Cache-Probleme gelöst wurden. Im nächsten Schritt wurden dann Interrupt- und Split-Transfers implementiert, um Maus und Tastatur am USB-Port benutzen zu können. Beides wird nun von Poseidon korrekt konfiguriert, was mit einem Screenshot gezeigt wird.

Zur weiteren Entwicklung schreibt Michal Schulz: „Während der nächsten Tage versuche ich, dem Code etwas zu verbessern und auch Bulk-Transfers hinzuzufügen, damit man einige USB-Sticks und andere Geräte mit AROS verwenden kann. Sobald das erledigt ist, werde ich endlich ein Image für Euch vorbereiten und mich auf das Fixen der Bugs und einiger weiterer seltsamer Abstürze von AROS-Software in BigEndian auf ARM konzentrieren. Dann werde ich für ein oder zwei Wochen verschwinden. Du weißt schon, Xmas :)

[ - Antworten - Zitieren - Direktlink - ]

01.01.2020, 10:08 Uhr

Floppy
Posts: 392
Nutzer
Ein kleines Status-Update:
Michal Schulz entwickelt derzeit eine neue 68k-Emulation (Emu68) für ARM...

„What is Emu68? It is going to be a JIT emulator for 680x0 processors. It is not going to be a pure m68k emulation with all bells and whistles (maybe it will get the completeness later on), only the parts necessary to run the code.

Emu68 provides a large instruction cache, where blocks of up to 32 m68k instructions (this is a configurable parameter) are translated into blocks of ARM instructions.“

Quellen:
https://www.patreon.com/posts/dromaiidae-emu-24407987
https://www.patreon.com/posts/32705355

[ Dieser Beitrag wurde von Floppy am 01.01.2020 um 10:35 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

19.11.2020, 14:08 Uhr

Floppy
Posts: 392
Nutzer
Neue Status-Berichte nach einer längeren Pause und ein Video des Boot-Vorgangs von Emu68+Aros68k+PathTracer-Image-Rendering:
https://www.patreon.com/michal_schulz/posts?filters%5Btag%5D=M68K
https://www.patreon.com/michal_schulz/posts?filters%5Btag%5D=JIT
https://youtu.be/mVWKQoTBoLI

[ - Antworten - Zitieren - Direktlink - ]

02.12.2020, 10:31 Uhr

Floppy
Posts: 392
Nutzer
Nächster Schritt:

Michal Schulz hat den Capstone-Disassembler in Emu68 integriert.

https://www.patreon.com/posts/capstone-ftw-44428493

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > AROS und Amiga-Emulatoren > AROS: RasPi-Port und Arix von Michal Schulz wieder in Arbeit [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.