AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Alles rund um Amiga OS4 selbst

Moderator: OS4Welt-Team

Maijestro
Beiträge: 526
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 181 Mal
Danksagung erhalten: 138 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

awdesign hat geschrieben: 1. Juni 2024 22:21 Aktuelles MacOS 14.4.1
Ok danke fürs testen, ich hab dir mal ein Archiv fertig gemacht was dir sehr viel Arbeit abnehmen sollte. Enthalten

- BBoot (letzte Version), Kickstart Ordner mit siliconmotion502.chip von Os4Depot
- HD.IMG (2GB)
- Qemu 9 (Build mit Virgl Unterstützung)
- Freigabe Ordner für die Datenübertragung Gast/Hostsystem (ufat)
- Script zum Ausführen

Schritt1: Archiv auf dem Desktop/Schreibtisch bitte direkt entpacken (ein Ordner Qemu wird dann sichtbar)
Schritt2: Qemu Ordner auf dem Schreibtisch öffnen und im Hauptverzeichnis AmigaOs4.1Pegasos2 install.iso hinzufügen
Schritt3: AmigaOs4.1Pegasos2 install.iso aus dem Hauptverzeichnis Mounten, AmigaOs4.1 Final Edition öffnen und zu den Ordner System/Kickstart/ wechseln
Schritt4: Den gesamten Inhalt aus System/Kickstart/ nach Qemu/BBoot/Kickstart/ kopieren
Schritt5: AmigaOs4.1 Update1 und 2 Herunterladen und entpacken, von beiden Update Archiven 1 und 2 den Inhalt /Content/Kickstart/ und /Content/KickstartPeg2/ nach Qemu/BBoot/Kickstart/ kopieren (einige Dateien müssen dann überschrieben werden)
Schritt6: In den Ordner Qemu/BBoot/Kickstart/ wechseln und die Datei "Kicklayout" editieren und den Eintrag:

Code: Alles auswählen

MODULE Kickstart/siliconmotion502.chip

hinzufügen, am besten unter "MODULE Kickstart/PCIGraphics.card" und dann speichern.
Schritt7: Rechtsklick auf den Kickstart Ordner im Verzeichnis Qemu/BBoot/ und "Kickstart" komprimieren ausführen, so das Kickstart.zip erstellt wird.
Schritt8: Pegasos2 Startscript editieren....überall wo "YOU-USER-NAME" im script steht trägst du deinen Benutzernamen von MacOs ein, in deinen fall wäre es dann "andreasweyrauch" speichern fertig.

Das Script ist so Konfiguriert das wenn du alle schritte richtig befolgst hast von der Install.ISO gebootet wird und du AmigaOs4.1 dann direkt auf die HD.IMG die beiliegt installieren kannst.

Die installation lässt sich wahrscheinlich noch etwas vereinfachen indem man einfach nur den Kernel von Update 2 verwendet....also Schritt 1-4 befolgen und zusätzlich noch Kernel von Update 2 /Content/KickstartPeg2/ hinzufügt und mit Schritt 6 dann weitermacht. Allerdings muß dann nach Updaten über AmiUpdate der Kickstart Ordner noch mal von dem Installierten System entnommen werden und Kickstart.zip erstellt werden inklusive anpassen der Kicklayout Datei (schritt6)

Etwas einfacheres fällt mir derzeit nicht ein.

Qemu Install: https://www.transfernow.net/dl/20240602RxNBtMJv
Zuletzt geändert von Maijestro am 2. Juni 2024 15:39, insgesamt 1-mal geändert.
Benutzeravatar
awdesign
Beiträge: 170
Registriert: 16. Januar 2010 15:05
Wohnort: Oberhausen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von awdesign »

Mega… ich werde das in Ruhe ausprobieren. Super Mühe die du dir machst! Wenn das einfach zu installieren ist wird das ein kräftigen Schub geben für OS4! Viele ex Amiga User sind beim Mac gelandet. Das ist großes Potential vorhanden.
http://twitter.com/awdesign74
Maijestro
Beiträge: 526
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 181 Mal
Danksagung erhalten: 138 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

awdesign hat geschrieben: 2. Juni 2024 12:12 Mega… ich werde das in Ruhe ausprobieren. Super Mühe die du dir machst! Wenn das einfach zu installieren ist wird das ein kräftigen Schub geben für OS4! Viele ex Amiga User sind beim Mac gelandet. Das ist großes Potential vorhanden.
Wenn das bei dir ohne weitere Probleme funktionieren sollte, könnte ich es noch mal überarbeiten wie im 2ten Abschnitt beschrieben und die Installationsanleitung direkt ins Archiv mit reinpacken. Wie bereits schon erwähnt müsste man den Kickstart Ordner nach alles Updates über AmiUpdate noch mal entnehmen und Kickstart.ZIP erstellen für BBoot, da der Freigabe Ordner (ufat) nach Update 2 erst sichtbar wird kann man den Kickstart Ordner dann aber direkt über die Freigabe kopieren und hat zugriff vom Hostsystem Qemu Hauptverzeichnis "Freigabe" aus.

Das Script enthält noch andere Beispiele die verwendet werden können als Konfiguration die nützlich sein könnten. Dafür muß man die Zeile dann einfach im Script anhängen um die Option verwenden zu können. Du siehst es im Script, ich habe es vorgefertigt.

#DebugAusgabeAmigaOs4.1#
-append "serial debuglevel=20" -serial stdio

#DebugAusgabeQemu#
-d unimp,guest_errors -serial stdio

#CPU Wahl G3/G4#
–cpu 750cxe -cpu 7457

#Netzwerk vmnet#
-device rtl8139,netdev=network01 -netdev vmnet-bridged,id=network01,ifname=en0,id=net0

#Netzwerk netdev#
-device rtl8139,netdev=net0 -netdev user,id=net0

#DisplayManager SDL#
-display sdl,full-screen=on/off

#virtio#
-device virtio-gpu-pci -device virtio-net-pci

#Usb-Mouse#
-device usb-ehci,id=ehci -device usb-mouse,bus=ehci.0

#silicon scsi controller#
-device sii3112 -drive if=none,id=hd1,file=/pfad/to/HD.img,format=raw -device ide-hd,drive=hd1,bus=ide.2

#USB Tablet Geräte Maus#
-device usb-tablet

Ich drück dir die Daumen das es erstmal klappt! ;-)
Benutzeravatar
AntonP
Beiträge: 714
Registriert: 11. November 2013 20:40
Hat sich bedankt: 32 Mal
Danksagung erhalten: 15 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von AntonP »

Bei mir hat sich das Script ähnlich verhalten:

Last login: Sun Jun 2 20:00:15 on ttys000
/Users/antonpreinsack/Downloads/Pegasos2\ Kopie ; exit;
antonpreinsack@MacBook-Air-von-Anton-2 ~ % /Users/antonpreinsack/Downloads/Pegasos2\ Kopie ; exit;
/Users/antonpreinsack/Downloads/Pegasos2 Kopie: line 1: /Users/qemuStrechFullscreen/build/qemu-system-ppc: No such file or directory

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Prozess beendet]
AmigaOne X5000/40, 2.2 Ghz, 4 GB RAM, 240 GB SSD, Radeon R9 280X, ESI Juli@ PCI-Soundkarte, SIL3512 SATA-PCI-Karte
Benutzeravatar
AntonP
Beiträge: 714
Registriert: 11. November 2013 20:40
Hat sich bedankt: 32 Mal
Danksagung erhalten: 15 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von AntonP »

Maijestro hat geschrieben: 2. Juni 2024 10:45 Ok danke fürs testen, ich hab dir mal ein Archiv fertig gemacht was dir sehr viel Arbeit abnehmen sollte.
Bedanke mich ebenfalls, werde das ganze die nächsten Tage testen.

Ich habe eine M2-CPU (MacBookAir), sollte aber laufen, oder?
AmigaOne X5000/40, 2.2 Ghz, 4 GB RAM, 240 GB SSD, Radeon R9 280X, ESI Juli@ PCI-Soundkarte, SIL3512 SATA-PCI-Karte
Maijestro
Beiträge: 526
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 181 Mal
Danksagung erhalten: 138 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

AntonP hat geschrieben: 2. Juni 2024 20:11
Maijestro hat geschrieben: 2. Juni 2024 10:45 Ok danke fürs testen, ich hab dir mal ein Archiv fertig gemacht was dir sehr viel Arbeit abnehmen sollte.
Bedanke mich ebenfalls, werde das ganze die nächsten Tage testen.

Ich habe eine M2-CPU (MacBookAir), sollte aber laufen, oder?
Das sollte genauso gut, wenn nicht sogar noch bessere mit M2 funktionieren. 😉
balaton
Beiträge: 17
Registriert: 12. Dezember 2023 22:45
Danksagung erhalten: 2 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von balaton »

@Maijestro
I did not try it (have no Apple silicon hardware) but some suggestions after a quick look:
- Maybe you could avoid needing to change the script by adding as first line:

Code: Alles auswählen

cd "$(dirname "$0")"
which should change to the same directory where the script is called from so then in further commands you can use relative paths i.e. -L pc-bios -kernel bboot/bboot. What I don't know is what happens if the script is started from Finder but you could try:

Code: Alles auswählen

#!/bin/sh
cd "$(dirname "$0")"
echo "$PWD"
to find out. It should print the current directory which should be the same where the script is. (Also adding the #!/bin/sh line at the beginning is recommended as the user might have different shell in theory even if likely does not happen on macOS, maybe it needs #!/bin/bash, I don't know what's on macOS).

- You don't need to include all the build directory, just the pc-bios dir and the executables. What you do need to include instead is at least a link to the sources the binaries were compiled from or all the patches and link to the QEMU version if you don't build from upstream QEMU. You also need the needed libraries. Look at the emaculation.com builds for an example where the exe is linked to look for libs in the ececutable_path/Libs dir but your build looks for libs in /opt/homebrew so yours only works if the user has installed the needed libs from homebrew. There were some scripts somewhere to change the exe for this and package necessary libs with it but I don't know where is that but you can ask the emaculation.com maintainer for how to do the build if you can't find it.

- You could also add similar scripts for amigaone and sam460ex for people who have those versions.

Otherwise good idea and may help a few people to get this working on their machines.
Maijestro
Beiträge: 526
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 181 Mal
Danksagung erhalten: 138 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

@balaton
balaton hat geschrieben: 3. Juni 2024 21:21 @Maijestro
I did not try it (have no Apple silicon hardware) but some suggestions after a quick look:
- Maybe you could avoid needing to change the script by adding as first line:

Code: Alles auswählen

cd "$(dirname "$0")"
which should change to the same directory where the script is called from so then in further commands you can use relative paths i.e. -L pc-bios -kernel bboot/bboot. What I don't know is what happens if the script is started from Finder but you could try:

Code: Alles auswählen

#!/bin/sh
cd "$(dirname "$0")"
echo "$PWD"
to find out. It should print the current directory which should be the same where the script is. (Also adding the #!/bin/sh line at the beginning is recommended as the user might have different shell in theory even if likely does not happen on macOS, maybe it needs #!/bin/bash, I don't know what's on macOS).
That's a great idea, I'll add it to the script and test it. Thanks for the hint.
- You don't need to include all the build directory, just the pc-bios dir and the executables. What you do need to include instead is at least a link to the sources the binaries were compiled from or all the patches and link to the QEMU version if you don't build from upstream QEMU. You also need the needed libraries. Look at the emaculation.com builds for an example where the exe is linked to look for libs in the ececutable_path/Libs dir but your build looks for libs in /opt/homebrew so yours only works if the user has installed the needed libs from homebrew. There were some scripts somewhere to change the exe for this and package necessary libs with it but I don't know where is that but you can ask the emaculation.com maintainer for how to do the build if you can't find it.
I had already looked at the emaculation builds some time ago, there is also a readme included where it is explained how to put the whole thing together. But at that time I didn't understand exactly how it was done. Of course it would be an advantage for users if they didn't need the dependency on Homebrew under MacOs. I'll take another look at the whole thing, if I get stuck at any point, it would be nice if you could give me some support.
- You could also add similar scripts for amigaone and sam460ex for people who have those versions.
If it works well for the Pegasos2 installation I will add it for the Sam460 and AmigaOneXe machine. Having everything in one package would be great.
Maijestro
Beiträge: 526
Registriert: 23. Dezember 2022 15:49
Hat sich bedankt: 181 Mal
Danksagung erhalten: 138 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von Maijestro »

@balaton

Das Emaculation Build habe ich mir noch mal genauer angesehen es enthält einen Ordner LIBS und pc-bios. Dazu noch "qemu-img" und "qemu-system-ppc" als ausführbare UNIX Datei. Dazu gibt es noch ein Readme und 2 Scripte. Mit folgenden Inhalt:

Code: Alles auswählen

xattr -c ./qemu-system-ppc
xattr -c ./qemu-img
xattr -cr ./Libs
Es Patcht qemu-system-ppc, um die Bibliotheken im mitgelieferten Libs-Ordner anstelle der standardmäßig installierten brew-Bibliotheken zu verwenden. Ich bin mir nicht sicher ob die Libs auch M1 Nativ vorliegen und nicht für Intel Macs bestimmt sind, da es sich im Grunde genommen um ein Intel Build handelt. (geprüft es sind tatsächlich intel Libs) Also müsste ich wohl alle abhängigen Libs die Qemu über homebrew verwendet zu verfügung stellen als LIBS Ordner und dann könnte ich das Script verwenden. hmmmm.....
balaton
Beiträge: 17
Registriert: 12. Dezember 2023 22:45
Danksagung erhalten: 2 Mal

Re: AmigaOS 4 mittels Qemu auf einem emulierten Pegasos 2

Beitrag von balaton »

@Maijestro
Maybe you need something like this:
https://github.com/auriamg/macdylibbundler/
to copy dependencies and fix them to work from the libs dir.
Antworten