Wie zu emulieren Raspberry Pi Raspbian mit QEMU?

Ich versuche zur Emulation eines Raspberry Pi mit dem Raspian-OS mit QEMU. Ich habe versucht, mehrere Ansätze beschrieben, die auf dem internet, aber ohne Erfolg.

Ich herausgefunden, dass ich brauche, um patch ist ein Linux-Kernel der Montage des gewünschten OS. In meinem Fall habe ich das Rasbian-Lite mit Kernel 4.4:

wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-31/2016-05-27-raspbian-jessie-lite.zip
unzip 2016-05-27-raspbian-jessie-lite.zip
rm 2016-05-27-raspbian-jessie-lite.zip

Als Nächstes habe ich das laden eines Kernel aus https://www.kernel.org/:

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.16.tar.gz
tar -xzf linux-4.4.16.tar.gz
rm linux-4.4.16.tar.gz

Nun cross-kompilieren des Kernels:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
cd linux-4.4.16
make vexpress_defconfig
make all
cd ..

Kann ich jetzt kopieren Sie die boot-image ist ein komprimiertes kernel-image, auto-Extrakte im RAM, zu meinem Arbeitsbereich:

cp linux-4.4.16/arch/arm/boot/zImage zImage

und QEMU laufen lassen

qemu-system-arm -kernel zImage -M vexpress-a9 -m 1024 -cpu cortex-a9 -no-reboot -serial stdio -hda 016-05-27-raspbian-jessie-lite.img -append "root=/dev/sda2 rootfstype=ext4"

Aber ich sehe nur ein schwarz gefüllt QEMU-Fenster. 🙁

Ich denke, dass das problem ist, um den richtigen Kernel. Das kopieren einige der Kernel aus dem Internet noch nie zum Erfolg geführt, weil Sie nicht fit für die OS.

Wie kann ich bauen/patch-Kernel Einbau des OS (ohne Download eine vorhandene) und wie um QEMU laufen lassen richtig?

Vielen Dank im Voraus

Alex


2. Ansatz

Lade ich ein kernel-qemu von hier aus https://www.dropbox.com/s/g8u93xblz1v1ly0/kernel-qemu?dl=0 und führen QEMU:

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2" -hda 2016-05-27-raspbian-jessie-lite.img

Dieser bringt mir folgende Ausgabe:
Wie zu emulieren Raspberry Pi Raspbian mit QEMU?
Und es macht Sinn für mich, weil der Kernel 3.10.25 und älter als Raspbian Jessie mit Kernel 4.4.16.

Mit der qemu-kernel von https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/kernel-qemu-4.4.12-jessie

qemu-system-arm -kernel kernel-qemu-4.4.12-jessie -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda 2016-05-27-raspbian-jessie-lite.img

Habe ich diese ähnlichen Ergebnis:
Wie zu emulieren Raspberry Pi Raspbian mit QEMU?

Einen neuen Versuch mit einem neuen kernel-qemu 4.4.16:

  1. Kopie bauen-kernel-qemu aus https://github.com/dhruvvyas90/qemu-rpi-kernel/tree/master/tools und fügen Sie die folgende Zeile, um eine Arbeitskopie der version für Kernel 4.4.16:

    git checkout b05965f284db3e086022f4e318e46cb5bffb1376
    
  2. Laufen build-kernel-qemu zu bauen der kernel -

    sh build-kernel-qemu
    
  3. Laufen QEMU

    qemu-system-arm -kernel kernel-qemu -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda 2016-05-27-raspbian-jessie-lite.img
    

    Das Ergebnis: Wie zu emulieren Raspberry Pi Raspbian mit QEMU?

InformationsquelleAutor der Frage Alex44 | 2016-08-08

Schreibe einen Kommentar