So führen Sie das Raspberry Pi OS in einer virtuellen Maschine mit QEMU und KVM aus

So führen Sie das Raspberry Pi OS in einer virtuellen Maschine mit QEMU und KVM aus

Obwohl viele Betriebssysteme für den Raspberry PI verfügbar sind, ist der offizielle der eine Raspberry Pi OS. Das Betriebssystem soll für die betrieben werden Arm Architektur und kann einfach auf der SD -Karte installiert werden, die als Haupt -Himbeer -PI -Speichergerät verwendet wird. Manchmal möchten wir einige Tests durchführen oder einige Anwendungen ausprobieren, ohne eine physische Himbeer -PI -Maschine zu haben. In diesem Tutorial sehen wir, wie wir eine virtuelle Maschine mit dem Raspberry Pi OS -System erstellen können Qemu Und Kvm (Kernel Virtual Machine).

In diesem Tutorial lernen Sie:

  • So installieren Sie QEMU und KVM
  • So herunterladen und überprüfen Sie die Integrität der neuesten Raspberry Pi OS -Version (Buster)
  • So führen Sie das Raspberry Pi OS in einer virtuellen Maschine aus
So führen Sie das Raspberry Pi OS in einer virtuellen Maschine mit QEMU und KVM aus

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Verteilung unabhängig
Software Qemu, Qemu-System-Arm, KVM und Git
Andere Keiner
Konventionen # - Erfordert, dass gegebene Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden können sudo Befehl
US

Installieren von Qemu

QEMU, wie auf der offiziellen Website definiert, ist ein „generischer und Open -Source -Maschine -Emulator und Virtualizer“. Wir können es verwenden, um das Betriebssystem für jede Art von Maschine auszuführen. Unter Linux wird es oft in Kombination mit verwendet mit kvm, Das ist eine vollständige Virtualisierungslösung, die im Kernel enthalten ist. Um unser Raspberry Pi -Betriebssystem virtualisieren zu können, müssen wir es zusammen mit dem installieren Qemu-System-Arm Paket, das den Systememulator für ARM Systeme. QEMU und KVM sind in den Software -Repositories der Hauptlinux -Verteilungen verfügbar. Um sie auf Fedora zu installieren, können wir die verwenden DNF Paket-Manager:

$ sudo dnf install @virtualization Qemu-System-Arm-Arm 


Hier haben wir die installiert Virtualisierung Paketgruppe (Beachten Sie die @ Präfix): Es enthält alles, was für die Virtualisierung auf Fedora benötigt wird, mit Ausnahme der Qemu-System-Arm Paket, das wir getrennt installiert haben.

Auf Debian und Debian-basierten Verteilungen können wir die folgenden Befehle starten, um unsere Verteilung mit den Remote-Repositories zu synchronisieren und die erforderlichen Pakete auf unserem System zu installieren:

$ sudo apt-get update && sudo apt-get install qemu-system-arme Qemu-kvm libvirt-client libvirt-daemon-system Bridge-Utils Virtinst libvirt-Daemon Virt-Manager 

Herunterladen und Überprüfen des neuesten Raspberry Pi OS -Bildes

Wir können die neueste Veröffentlichung des Raspberry Pi OS von der offiziellen Raspberry Pi -Website herunterladen. Wir können grundsätzlich zwischen 3 Versionen des Systems auswählen: Einige sind minimaler, andere sind mit einem größeren Satz von Paketen und a geliefert
Grafischer Desktop bereits installiert. Die Download -Links sind die folgenden:

  • Raspberry Pi OS Lite
  • Raspberry Pi OS mit Desktop
  • Raspberry Pi OS mit Desktop und zusätzlichen Paketen

In diesem Tutorial werden wir die Raspberry Pi OS "Lite" -Version verwenden. Herunterladen mit einem Webbrowser Es geht nur darum, auf einen der oben angegebenen Links zu klicken. Wenn wir es stattdessen aus der Befehlszeile herunterladen möchten, können wir Tools wie verwenden wget oder Locken:

# Verwenden Sie WGet $ wget https: // downloads.Raspberrypi.org/raspios_lite_armhf/bilder/raspios_lite_armhf-2021-01-12/2021-01-11-Raspios-buster-armehf-lite.ZIP # mit Curl $ curl -o https: // downloads.Raspberrypi.org/raspios_lite_armhf/bilder/raspios_lite_armhf-2021-01-12/2021-01-11-Raspios-buster-armehf-lite.Reißverschluss 

Durch die Ausführung eines der beiden obigen Befehle wird das Bild im aktuellen Arbeitsverzeichnis heruntergeladen. Sobald der Download abgeschlossen ist SHA256SUM mit dem auf der Website bereitgestellten.
In unserem Fall sollte das Hashsum sein D49D6FAB1B8E533F7EFC40416E98EC16019B9C034BC89C59B83D0921C2AEFEEF. Um es zu überprüfen, können wir den folgenden Befehl ausführen:

$ SHA256SUM 2021-01-11-Raspios-buster-armehf-lite.Reißverschluss 

Der obige Befehl gibt in unserem Fall das folgende Ergebnis zurück:

49D6FAB1B8E533F7EFC40416E98EC16019B9C034BC89C59B83D0921C2AEFEEF 2021-01-11-Raspios-Buster-Armhf-Lite.Reißverschluss 

Sie können sehen, dass die beiden Hashsums übereinstimmen, also können wir gut gehen. Was wir jetzt tun müssen, ist das Bild zu extrahieren, da es geschleift ist. Dazu können wir den folgenden Befehl ausführen:

$ UNZIP 2021-01-11-Raspios-buster-armehf-lite.Reißverschluss 


Da der im offizielle Systembild enthaltene Kernel nicht direkt von QEMU gebootet werden kann, müssen wir ein Git -Repository klonen. Wir werden sehen, wie das im nächsten Abschnitt geht.

Erhalten von QEMU-readenten Kerneln aus Github

Das Repository, das wir aus GitHub klonen müssen, ist dhruvvyas90/qemu-rpi-kernel. Wir müssen nur den folgenden Befehl ausführen:

$ git klone https: // github.com/dhruvvyas90/qemu-rpi-kernel 

Der Klonierungsprozess kann eine Weile dauern, bis der Abschluss von der Geschwindigkeit Ihrer Internetverbindung abhängt. Sobald das Repository kloniert ist, können wir loslegen. Hier ist der Inhalt:

$ ls qemu-rpi-kernel kernel-qemu-3.10.25-Wheezy Readme.MD Kernel-Qemu-4.14.79-Stretch-Werkzeuge Kernel-Qemu-4.19.50-buster-vielseitig-pb-buster-5.4.51.DTB Kernel-Qemu-4.4.34-Jessie-vielseitiger-pb-buster.DTB Kernel-Qemu-5.4.51-buster-vielseitig-pb.DTB Native-Anstellung 

Da wir die neueste Version des Raspberry Pi -Betriebssystems emulieren möchten, sind die Dateien, die wir benötigen Kernel-Qemu-4.19.50-buster Und Vielseitig-PB-Buster.DTB. Das erste ist das eigentliche Kernelbild, das zweite ist a Gerätebaum Blob. Was ist der Zweck dieser Datei??

Beschreiben Sie die auf einem System verfügbare Hardware auf einer Himbeer -PI -Karte, Dts (Gerätebaumquelle) Dateien werden verwendet. Die kompilierte Version dieser Dateien wird aufgerufen DTB und in Dateien mit dem gespeichert .DTB Verlängerung. In unserem Fall konnten wir alternativ die verwenden Kernel-Qemu-5.4.51-buster, zusammen mit dem Vielseitig-pb-buster-5.4.51.DTB Datei.

Das Raspberry Pi OS emulieren

Mit allen erforderlichen Dateien können wir endlich das Raspberry Pi OS -Bild virtualisieren. Bitte beachten Sie, dass ich hier annehme, dass das Arbeitsverzeichnis das gleiche ist, wo wir das Systembild heruntergeladen haben. Bevor wir den tatsächlichen Befehl ausführen, müssen wir nur bei Debian das Standard -Nated Bridged -Netzwerk starten, das nicht automatisch gestartet wird. Um das zu tun, müssen wir rennen:

$ sudo virsh ---connect = qemu: /// system net-start standladung 

Damit es automatisch beginnt, können wir ausführen:

$ sudo virsh--connect = qemu: // system net-autostart standladung 

Um die virtuelle Maschine zu erstellen, müssen wir den folgenden Befehl ausführen:

$ sudo virtin-install \ --Name rpios \ --arch armv6l \-machine veratilepb \--cpu arm1176 \ --vcpus 1 \-Memory 256 \ --import \-Disk 2021-011-Raspios -Buster-armehf-lite.IMG, format = raw, bus = virtio \ --network Bridge, Source = virbr0, modell = virtio \ --video vga \ --graphics spice \-boot 'dtb = qemu-rpi-kernel/vielseitig-pb-buster.dtb, kernel = qemu-rpi-kernel/kernel-qemu-4.19.50-buster, kernel_args = root =/dev/vda2 panic = 1 '\-events on_reboot = zerstören 

Ein Virt-Viewer-Fenster sollte angezeigt werden. Dort sollten wir in der Lage sein, den Raspberry Pi OS -Booten zu visualisieren:



Lassen Sie uns einen kurzen Blick auf die Optionen werfen, mit denen wir die virtuelle Maschine mit dem erstellt haben Virtinstall Befehl; Einige sind ziemlich offensichtlich, andere etwas dunkler.

Zunächst benutzten wir die --Name Option: Damit können wir den Namen der Instanz der virtuellen Maschine festlegen (sie sollte eindeutig sein). Die zweite Option, die wir verwendet haben, ist --Bogen: Es ist erforderlich, eine nicht einheimische CPU-Architektur für den Gast anzufordern
System; Wenn wir es nicht verwenden, wird die Hostarchitektur angenommen.

Mit dem --Maschine Option Wir übergeben die Art der Maschine, die an QEMU nachemuliert wird: In diesem Fall haben wir verwendet Versatilepb. Mit dem --Zentralprozessor Option Wir konfigurieren das CPU -Modell und Funktionen, die dem Gast ausgesetzt sind. Hier haben wir verwendet ARM1176, seit der
Raspberry Pi basiert auf dem Arm die Architektur.

Der --vcpus Die Option ist erforderlich, um die Anzahl der virtuellen CPUs für die Gastmaschine festzulegen, in diesem Fall nur eine. Wie es leicht erraten werden könnte, stattdessen die --Speicher Die Option stattdessen wird verwendet, um den Speicher so einzustellen, dass der Gast zugewiesen wird.

Der --importieren Die Option ist hier wirklich wichtig, da sie die Anwendung zum Überspringen der Betriebssysteminstallation anweisen und einfach einen Gast in einem bereits vorhandenen Bild erstellen, das später mit dem angegeben wird --Scheibe Möglichkeit.

Wir gebrauchen --Netzwerk Um den Gast mit dem Host -Netzwerk zu verbinden. In diesem Fall verbinden wir uns über die Virbr0 Bridge, die standardmäßig durch erstellt wird libvirt. Mit dem --Video Option Wir geben an, welche Art von Videogerät an den Gast angehängt werden soll, und mit --Grafik Wir geben an, wie auf die grafische Anzeige des Gastes zugegriffen werden kann: In diesem Fall haben wir verwendet würzen, Verwenden des Protokolls mit demselben Namen.

Mit dem --Stiefel Option Es ist möglich, die anzugeben DTB und das Kernel Datei zu verwenden, aber auch die Kernel -Befehlszeile mit kernel_args. Schließlich mit dem --Veranstaltungen Option Wir geben Veranstaltungswerte für den Gast an. In diesem Fall wir zerstören für die on_reboot Fall.

Sobald die virtuelle Maschine gestartet ist, können wir sie auch grafisch über die verwalten Virt-Manager Anwendung. Wir können jetzt unser virtualisiertes Raspberry Pi OS genießen!

Abschluss

In diesem Tutorial haben wir gesehen, wie wir mit QEMU und KVM ein Raspberry PI OS -Bild ohne eine tatsächliche Hardware für Raspberry Pi ausführen können. Wir haben gesehen, wie Sie das Systembild herunterladen und überprüfen, wie man es extrahiert, wie man das Git -Repository mit den Kernel- und DTB -Dateien enthält, die zum Starten des Bildes mit QEMU erforderlich sind.

Verwandte Linux -Tutorials:

  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Mastering -Bash -Skriptschleifen beherrschen
  • Einführung in MySQL -Speichermotoren
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten
  • So überprüfen Sie eine Festplattengesundheit aus der Befehlszeile…
  • Ubuntu 20.04 Leitfaden