Ja, das ist völlig möglich. In Wirklichkeit ist es jedoch ein bisschen anders, als Sie denken.
Präambel
Die SD-Karte enthält ein Image des Betriebssystems. Und funktioniert, indem dieses Bild aufgeblasen wird, wenn das Gerät eingeschaltet ist.
Wie Sie wahrscheinlich bereits wissen, flashen Sie dieses Image auf die SD-Karte, um ein funktionierendes System zu erstellen. Was Sie jedoch tun können, bevor Sie das Bild flashen , ist, mit QEMU , einem Prozessoremulator , ein wenig herumzuspielen und den ARM-Befehlssatz zu emulieren.
Auf diese Weise bleiben alle Änderungen, die Sie am Image vornehmen (Installieren, Kompilieren usw.), erhalten, nachdem Sie es auf die SD-Karte geflasht haben.
Ich werde Ihnen jetzt erklären, wie Sie mit QEMU das Image laden können. Ich werde es mit dem Arch Linux-Image demonstrieren, aber der Prozess sollte trotzdem der gleiche sein.
QEMU verwenden
Voraussetzungen
Sie müssen QEMU für Ihr System erwerben . QEMU sollte nur eine Anforderung haben. Damit Eingabegeräte funktionieren, muss das SDL-Entwicklungspaket installiert sein, das bei Ihrem Paketmanager erhältlich sein sollte.
Ich empfehle, das Paket mit Ihrem regulären Paketmanager herunterzuladen:
Bogen :
sudo pacman -S sdl qemu
Ubuntu :
Neuere Versionen (seit 14.04) haben ein Paket dafür:
sudo apt-get install qemu-system-arm
Für ältere Versionen:
sudo apt-get install libsdl-dev
sudo add-apt-repository ppa:linaro-maintainers/tools
sudo apt-get update
sudo apt-get install qemu-system
QEMU selbst erstellen
Alternativ können Sie QEMU selbst erstellen. Dies ist großartig, wenn Sie eine neue Version ausprobieren möchten, diese kann jedoch langsam sein und auf viele Fehler beim Kompilieren vorbereitet sein! Beachten Sie, dass QEMU für die ARM-Unterstützung kompiliert werden muss, wenn es von ihrer Website erstellt wird. Überprüfen Sie also zuerst Ihre Distributionsspeicher. Das kann so gemacht werden;
mkdir rpi-emu && cd rpi-emu
wget http://wiki.qemu.org/download/qemu-1.1.0-1.tar.bz2
tar xvjf qemu-1.1.0-1.tar.bz2
cd qemu-1.1.0-1
./configure –target-list=arm-softmmu,arm-linux-user
make
sudo make install
Stellen Sie sicher, dass Sie ARM-Unterstützung haben mit:
qemu-system-arm --version
QEMU emulator version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard
Das Bild erhalten
Wir arbeiten mit Arch Linux, verwenden also das Arch Arm-Image. Aber ersetzen Sie dies durch das, womit Sie arbeiten möchten oder vielleicht haben Sie bereits ein Bild. In diesem Fall überspringen Sie diesen Schritt.
wget http://anorien.csc.warwick.ac.uk/mirrors/raspberrypi.org/images/archlinuxarm/archlinuxarm-29-04-2012/archlinuxarm-29-04-2012.zip
unzip archlinuxarm-29-04-2012.zip
Damit QEMU funktioniert, benötigen wir auch das Kernel-Image (das sich in der IMG-Datei befindet).
Hinweis: Ich denke nicht, dass dieser Schritt für Debian notwendig ist. Jemand bitte bestätigen.
Zum Glück gibt es vorkompilierte Bilder zur Verfügung, und Sie können das einer vom nutzen hier ( direkter Download ).
TODO: Demonstrieren Sie hier, wie ein Kernel-Image kompiliert wird?
Starten der VM
Sie sollten jetzt haben:
- Eine img-Datei, die Sie mit dem mitgelieferten sha1 überprüfen können (empfohlen).
- Ein Kernel-Image (zImage).
- QEMU für ARM.
Die virtuelle Maschine kann jetzt mit dem folgenden langwierigen Befehl gestartet werden:
qemu-system-arm -kernel zImage -cpu arm1176 -M versatilepb -serial stdio -append "root=/dev/sda2" -hda archlinuxarm-29-04-2012.img -clock dynticks
Beachten Sie, dass Sie mit dieser Methode nur über mehrere Hundert Megabyte Speicher verfügen (was auch immer auf dem Image frei ist). Eine virtuelle Festplatte kann anhand des QEMU-Benutzerhandbuchs erstellt werden .