Aktuelles
AmigaPortal.de

Wir würden uns freuen, dich als neues Mitglied begrüßen zu können. Melde dich noch heute an und werde Teil einer freundlichen Community deren gemeinsames Hobby der "AMIGA" ist. Hier kannst du dich in einer gemütlichen Atmosphäre mit anderen Usern zu vielen interessanten Themen rege austauschen oder andere an deinen Erfahrungen teilhaben lassen. Wir wünschen dir viel Spaß hier auf AmigaPortal.de

QEmu compilieren

Falke_34

Neues Mitglied
Hier einmal ein kleines PowerShell Script um euch das Compilieren von QEmu PPC unter Windows einfacher zu machen:

Benötigt: PowerShell

Was macht es:
- läd MSYS2 herunter und installiert es
- läd alle benötigten Pakete welche für das compilieren von QEmu benötigt werden herunter
- läd den offiziellen QEmu Sourcecode herunter
- configuriert QEmu ./configure --target-list=ppc-softmmu --enable-sdl --enable-gtk --enable-slirp
- compiliert QEmu und kopiert alle benötigten Dateien nach C:/QEmu
- MSYS2 deinstallieren - haut alles von der Platte was wir zuvor herunter geladen haben

Was bleibt ist C:/QEmu !

Habe das kleine Script mit Hilfe der KI erstellt und benutze es immer wenn eine neue Version von QEmu raus kommt - so habe ich recht schnell und sauber eine aktuelle QEmu PPC Exe!
Wichtig: dieses Script compiliert nur die für uns wichtigen qemu-system-pcc Dateien und zugehörigen .dlls
 

Falke_34

Neues Mitglied
Zusätzlich noch ein Script für Ubuntu:

Build-Script_Ubuntu.sh
Code:
#!/bin/bash
set -e

# -------------------------------
# 1) Abhängigkeiten installieren
# -------------------------------
install_dependencies() {
    echo "🔧 Prüfe, ob Git installiert ist..."
    if ! command -v git >/dev/null 2>&1; then
        echo "🔧 Git wird installiert..."
        sudo apt update
        sudo apt install -y git
    else
        echo "✅ Git ist bereits installiert"
    fi

    echo "🔧 Installation der restlichen Systempakete..."

    # Quellen für build-dep aktivieren, falls vorhanden
    if [ -f /etc/apt/sources.list.d/ubuntu.sources ]; then
        sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources~
        sudo sed -Ei 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
    fi

    sudo apt update

    if sudo apt build-dep -y qemu; then
        echo "✅ Build-Abhängigkeiten installiert"
    else
        echo "⚠️ Build-Abhängigkeiten manuell installieren"
        sudo apt install -y \
            build-essential ninja-build python3 meson \
            libglib2.0-dev libpixman-1-dev \
            libsdl2-dev libslirp-dev libxkbcommon-dev \
            libpulse-dev libpipewire-0.3-dev libjack-dev libasound2-dev \
            pkg-config
    fi
}

# -------------------------------
# 2) QEMU Repository vorbereiten / aktualisieren
# -------------------------------
prepare_qemu_repo() {
    if [ -d "qemu" ]; then
        cd qemu
        if [ -d ".git" ]; then
            echo "🔄 Existierendes Repo → git pull"
            git reset --hard
            git pull
        else
            echo "⚠️ Kein Git-Repo → lösche und klone neu"
            cd ..
            rm -rf qemu
            git clone https://gitlab.com/qemu-project/qemu.git
            cd qemu
        fi
    else
        echo "⬇️ Klone QEMU-Repository..."
        git clone https://gitlab.com/qemu-project/qemu.git
        cd qemu
    fi
}

# -------------------------------
# 3) QEMU konfigurieren
# -------------------------------
configure_qemu() {
    echo "🧹 Alten Build-Ordner löschen..."
    cd qemu
    sudo rm -rf build 2>/dev/null || true
    sudo chown -R $USER:$USER .

    echo "🔧 QEMU für PowerPC konfigurieren..."

    echo ""
    echo "💡 Hinweis zu Configure-Optionen:"
    echo "--target-list=ppc-softmmu   → Baut nur den PPC-Emulator"
    echo "--enable-sdl                → SDL-GUI"
    echo "--enable-gtk                → GTK-GUI (benutzerfreundlicher, manchmal stabiler als SDL)"
    echo "--enable-opengl             → 3D-Beschleunigung über OpenGL (für moderne GUIs)"
    echo "--enable-lto                → Link-Time-Optimierung, kleinere & schnellere Binaries"
    echo "--enable-slirp              → User-Mode Networking, praktisch ohne root"
    echo "--enable-libusb             → USB-Passthrough"
    echo "--enable-virtfs             → Virtuelle Ordnerfreigabe (host<->guest)"
    echo "--enable-vnc                → Fernzugriff über VNC"
    echo "--enable-tools              → qemu-img etc. mitbauen"
    echo "--enable-kvm                → Hardwarebeschleunigung für x86 (für PPC keine Wirkung)"
    echo "--disable-werror            → Build bricht nicht bei Warnungen ab"
    echo "Optional:"
    echo "--enable-spice              → SPICE-Protokoll für Remote-Desktop"
    echo "--enable-debug-info/--enable-debug-tcg → Kernel/Amiga debuggen"
    echo "--audio-drv-list=alsa,pa,sdl → Soundprobleme vermeiden"
    echo "--disable-docs              → Spart Build-Zeit, wenn die Doku nicht benötigt wird"
    echo ""

    ./configure \
        --target-list=ppc-softmmu \
        --enable-sdl \
        --enable-gtk \
        --enable-lto \
        --enable-slirp \
        --enable-libusb
}

# -------------------------------
# 4) QEMU kompilieren
# -------------------------------
compile_qemu() {
    echo "🧱 Kompiliere QEMU..."
    cd qemu
    make -j"$(nproc)"
    echo "✅ Kompilierung abgeschlossen!"
}

# -------------------------------
# 5) QEMU installieren
# -------------------------------
install_qemu() {
    echo "❓ Möchtest du QEMU systemweit installieren? (Ja/Nein)"
    read -r INSTALL
    if [[ "$INSTALL" =~ ^[JjYy]$ ]]; then
        cd qemu
        sudo make install

        # Symlink anlegen
        if [ ! -f /usr/bin/qemu ]; then
            echo "🔗 Erstelle Symlink /usr/bin/qemu → /usr/bin/qemu-system-ppc"
            sudo ln -sf /usr/bin/qemu-system-ppc /usr/bin/qemu
        fi

        echo "✅ QEMU installiert! Starte mit: qemu"
    else
        echo "🚫 Installation übersprungen. Nutze QEMU direkt aus ./qemu/build/qemu-system-ppc"
    fi
}

# -------------------------------
# 7) QEMU testen
# -------------------------------
test_qemu() {
    echo "🧪 Teste QEMU PPC-Build..."

    # Systemweite Installation
    if command -v qemu >/dev/null 2>&1; then
        echo "ℹ️ QEMU systemweit (via qemu) gefunden:"
        qemu --version
    elif command -v qemu-system-ppc >/dev/null 2>&1; then
        echo "ℹ️ QEMU systemweit (via qemu-system-ppc) gefunden:"
        qemu-system-ppc --version
    # Lokaler Build
    elif [ -x "qemu/build/qemu-system-ppc" ]; then
        echo "ℹ️ QEMU lokal im Build-Verzeichnis:"
        qemu/build/qemu-system-ppc --version
    else
        echo "❌ QEMU nicht gefunden. Stelle sicher, dass es kompiliert oder installiert wurde."
    fi
}

# -------------------------------
# Hauptmenü / Schrittsteuerung
# -------------------------------
echo "Wähle die Aktion:"
echo "1) Abhängigkeiten installieren"
echo "2) QEMU Repository vorbereiten / aktualisieren"
echo "3) QEMU konfigurieren"
echo "4) QEMU kompilieren"
echo "5) QEMU installieren"
echo "6) QEMU testen (lokal oder systemweit)"

read -r CHOICE

case "$CHOICE" in
    1) install_dependencies ;;
    2) prepare_qemu_repo ;;
    3) configure_qemu ;;
    4) compile_qemu ;;
    5) install_qemu ;;
    6) test_qemu ;;
    *) echo "❌ Ungültige Auswahl" ;;
esac
 
Zuletzt bearbeitet:

RedBaron

Moderator
Teammitglied
@Falke_34 Auf deinem Rechner funktioniert Qemu und AOS 4.1 FE? Ich habe es vor einem Jahr aufgegeben.
 

Falke_34

Neues Mitglied
Ja tut es.
Woran scheitert es denn bei dir? Wie könnte man helfen?
 

RedBaron

Moderator
Teammitglied
Woran scheitert es denn bei dir?
Im Prinzip an allem. Alleine schon eine Konfigurationsdatei zusammenzustellen das QEMU den Installer von AOS 4.1 FE startet klappt nicht. Und nach 4 Wochen RTFM war ich auch nicht weiter gekommen. Ich verwende Linux jetzt seit 18 Jahren und habe aus beruflichen Gründen einiges mit Netzwerk-Aufbau und Rechnern zu tun. Da ich aber selbstständig bin kann ich nicht mehrere Tage darauf verwenden.

Ich hatte dazu auch schon im entsprechen Thread auf amiga-news.de nachgefragt, trotz deren Hilfestellung kam ich nicht weiter.

Das war hier meine letzte Anfrage dazu:
Festplatte portionieren für Installation Amiga OS 4.1 FE auf QEmu

Ich habe eine AOS 4.1 Classic Lizenz für PowerUp-Hardware und und eine Pegasos 2 Lizenz.
 

Falke_34

Neues Mitglied
AmigaOS 4.1 Classic kannst du nur mit WinUAE (CyberstormPPC oder BlizzardPPC) nutzen
AmigaOS 4.1 Pegasos 2 ist das richtige für QEmu

Linux benutze ich persönlich nur sehr selten - in meinem Fall Ubuntu. Habe es aber trotzdem geschafft

Das Script hier im Thread compiliert dir ein aktuelles QEmu und installiert es - man kann es aber auch über die Softwareverwaltung herunterladen, da ist nur immer die Frage wie aktuell es ist.

Ich erstelle mir dann einen Ordner QEmu auf dem Desktop und darin befinden sich dann die Dateien die ich für die Emulation benötige:
- Pegasos2InstallCD-53.54.iso
- Pegasos 2 -> Kickstart.zip
- SM502 - wird benötigt (http://os4depot.net/share/driver/video/siliconmotion502_chip.lha)
- BBoot 0.8 (https://codeberg.org/qmiga/bboot/releases)
- Pegasos2.img (erstellen mit: qemu-img create -f raw /home/falke-34/Schreibtisch/QEmu/pegasos2.img 2G)
- pegasos2.sh
Code:
#!/bin/bash

sudo qemu-system-ppc -M pegasos2 -m 2048 -rtc base=localtime \
-vga none -display sdl \
-kernel /home/falke-34/Schreibtisch/QEmu/bboot-0.8/bboot -initrd /home/falke-34/Schreibtisch/QEmu/Pegasos2/Kickstart.zip
-device rtl8139,netdev=net0 -netdev user,id=net0 \
-drive format=raw,file=/home/falke-34/Schreibtisch/QEmu/pegasos2.img,index=0,media=disk \
-drive format=raw,file=/home/falke-34/Schreibtisch/QEmu/Pegasos2InstallCD-53.54.iso,index=2,media=cdrom \
-device usb-mouse \
-serial stdio

Alternativ bietet sich hier Kyvos an: https://ko-fi.com/post/Kyvos-1-4-0-released-Q5Q21L0DO4
Dieses Tool erstellt dir die benötigte kickstart.zip aus Pegasos2InstallCD-53.54.iso und mit sm502 Grafik Treiber.
Ebenso erleichtert es dir den einstieg in die QEmu Emulation

Erst wenn du wirklich sauber von Iso in das AmigaOS bootest wird das mit der HD einrichten intressant:
- Prepare Hard Disk starten
- peg2ide.device auswählen
- Hard Disk auswählen -> Edit RDB/Reinstall -> Install/read configuration -> OK - accept changes
- Edit partitions and filesystem -> add Partition -> Automount Haken -> Bootable Haken -> OK

nach nem Reboot müßte die Platte auf dem Desktop erscheinen - nur noch formatieren - dann kannste darauf OS4.1 installieren

CD/Iso raus und Qemu neu starten - sollte nun von HD booten
Alternativ (Iso gemountet lassen) aber beim starten beide Mousetasten gefrückt halten um ins Bootmenü zu kommen -> hier dann die HD als Bootmedium auswählen
 
Zuletzt bearbeitet:

Yukano

Kult Mitglied
weiß jemand , ob das qemu m68k eigentlich mittlerweile PPC Parts kann ( also z.B. Turbokarten Emulieren etc. )?

LG
 

RedBaron

Moderator
Teammitglied
Nicht direkt wie mit z.B. WinUAE.
Auf einer x86‑64‑(x64)‑Hostmaschine kannst du QEMU‑Instanzen für m68k und PowerPC parallel starten. Jede Architektur läuft in einem eigenen qemu‑system‑Prozess, der sich CPU/RAM des Hosts teilt. Pro Architektur eine eigene Instanz: z.B. qemu-system-m68k und qemu-system-ppc gleichzeitig.
 

Yukano

Kult Mitglied
Nicht direkt wie mit z.B. WinUAE.
Auf einer x86‑64‑(x64)‑Hostmaschine kannst du QEMU‑Instanzen für m68k und PowerPC parallel starten. Jede Architektur läuft in einem eigenen qemu‑system‑Prozess, der sich CPU/RAM des Hosts teilt. Pro Architektur eine eigene Instanz: z.B. qemu-system-m68k und qemu-system-ppc gleichzeitig.
Heißt aber technisch, das es keine Möglichkeit gibt, einen A1200 mit PPC Karte als Beispiel dar zu stellen?!
Also das die Instanz aus beiden Welten etwas kann.
 

RedBaron

Moderator
Teammitglied
Oben