Schnell ans Ziel mit qemu

Ich möchte gleich zu Beginn betonen, auch ich habe noch viel zu lernen, was qemu angeht und es liegt im Bereich des Möglichen, dass nicht alle meine Angaben korrekt, oder vollständig sind!

Mir geht es mit dieser kleinen Anleitung eher darum, einem Interessenten qemu etwas näher zubringen und ihn zu einem Erfolgserlebnis zu verhelfen. Es gibt sehr viele Anleitung zu qemu im Netz, die mit Sicherheit deutlich detailreicher und ausreifter sind, als dass was ich abliefere. Ich möchte auch nicht noch eine Anleitung schreiben, weil es noch nicht genug gibt, doch seit ich meine Anleitung für Android mit qemu Schritt für Schritt geschrieben habe, wurde ich schon einige Male gefragt, ob es nicht auch eine Erklärung zu qemu für Noobs gibt.

Genau das soll diese Anleitung erreichen. Am Ende soll der Interessierte eine qemu Umgebung laufen haben, die er mit den von ihm gewünschten ISOs füttern kann, ohne grosses Wissen mitzubringen.

Nur eins setze ich voraus. Man muss qemu installiert haben! Da ich mit Gentoo-Linux arbeite und da die Installation etwas anders verläuft, bin ich nicht ganz firm, wie man qemu zum Beispiel unter Mint, Ubuntu und Co installiert.

qemu zum testen anderer Distributionen nutzen

Anfangen wollen wir ganz simpel. Es soll ein x86_64 Prozessor virtualisiert werden. Voraussetzung dafür ist natürlich, dass man mit einem solchen Prozessor arbeitet!

Kurz noch schnell den Unterschied zwischen virtualisieren und emulieren erklären. Das mag technisch nicht ganz korrekt sein, sollte aber das Verständnis verbessern.

Emulieren heisst, man bildet eine bestimmte Hardware komplett nach. Also Prozessor, Speicher, Peripherie usw. Nichts ist real, alles wird dem verwendeten Betriebssystem vorgegaukelt.

Virtualisieren ist so ein bisschen eine Mischform. Was an echter Hardware genutzt werden kann, wird auch genutzt. Alles andere wird wieder emuliert. Das ist auch der Grund, warum Software in einer virtuellen Hardware meist schneller läuft, als in einer emulierten.

Gut, genug davon. Was genau wollen wir erreichen? Die virtuelle Umgebung soll einen x86_64 Prozessor mit 1 Kern haben, 2 GB Arbeitsspeicher und netzwerkfähig sein!

Fangen wir an!

Für diese Anleitung verwende ich die Live-CD »linuxmint-18.1-mate-64bit.iso«. Das hat keinen besonderen Grund, die hatte ich einfach noch auf der Platte und so muss ich mir keine neue ziehen. Es sollte schlussendlich aber keine Rolle spielen, welches ISO man mit qemu starten will, solang es zum Prozessor passt! Also nicht versuchen, ein 64-Bit Linux mit einem 32-Bit qemu zu starten, oder ein PowerPC-OS auf einem x86-qemu. Es geht zwar nichts kaputt, wird aber nicht funktionieren!

Vorne fangen wir an! Das heisst, Terminal öffnen und zuerst entscheiden wir uns dafür, welchen qemu wir benutzen. Das wird nicht in den Parametern eingestellt, sondern man startet eine bestimmte Variante von qemu. In unserem Fall wäre das:

qemu-system-x86_64

Als Nächstes wollen wir uns um den Speicher kümmern. 2GB wollen wir haben und das erreichen wir mit folgendem Parameter:

-m 2048

Wie man sich denken kann, sind die 2048 die Megabyte, die wir haben wollen. Will man nur 1GB Arbeitsspeicher, dann setzt man hier natürlich 1024 ein. Analog dazu sind 3GB dann 3072 usw. Sollte sich selbst erklären!

Dann soll das System virtualisiert und nicht emuliert werden. Dafür brauchen wir:

-enable-kvm

Damit sagen wir qemu, dass wir volle Virtualisierung wollen!

Weiter gehts mit den Kernen. Einen Kern wollen wir haben und das erklären wir qemu mit dem Parameter:

-smp 1

Jetzt wollen wir auch noch Netzwerkfähigkeit. Das erreichen wir mit dem Parameter:

-net nic -net user

Ausgezeichnet! Da haben wir ja schon einen kleinen Rechner zusammengebaut! Im Ganzen sieht das dann so aus:

qemu-system-x86_64 -m 2048 -enable-kvm -smp 1 -net nic -net user

Ist ein wenig Tipparbeit, aber man kann es überleben!

Damit haben wir das Problem aber noch nicht gelöst, denn im Moment haben wir nur einen Rechner, ohne Laufwerke! Man könnte es so starten, doch passieren würde nichts, bis nicht viel!

Bauen wir also noch schnell unser CD-ROM Laufwerk ein. Überraschenderweise funktioniert das mit dem Parameter:

-cdrom

Äusserst schockierend, ich weiss! Aber gut, CD-ROM erfolgreich installiert, nun muss da eine CD, bzw. ein Image rein. Dazu geht man einfach in das Verzeichnis, wo man das ISO gespeichert hat. Ich nehme an, den Umgang mit cd sollte jedem bekannt sein, ansonsten seit ihr hier falsch und müsst weiter vorne anfangen!

Ich für meinen Teil baue mir für jedes OS einen eigenen, kleinen Verzeichnisbaum auf. Das Hauptverzeichnis trägt in diesem Fall den Namen mint. Darin kommt das Verzeichnis images. Warum? Weil ich in der Regel auch mindestens eine Festplatte verwende und je nachdem, was ich mit dem OS anfange, tauchen auch noch weitere Images auf. Beispielsweise weitere CDs, oder im Falle von Windows for Workgroups, tatsächlich betreibe ich so eine Maschine, auch Disketten. Das kommt alles bei images rein und ich habe Ordnung!

Der Einfachheit halber, liegt das ISO in dem Verzeichnis, aus welchem heraus ich auch qemu starte. Dann sieht der Parameter so aus:

-cdrom linuxmint-18.1-mate-64bit.iso

Zum Schluss erklären wir qemu noch, welches Medium gebootet werden soll. Manchmal funktioniert es komischerweise ohne den Parameter, manchmal auch wieder nicht. Um sicherzugehen, bauen wir es einfach ein, tut ja keinem weh!

-boot d
  • a = Floppy
  • c = Festplatte
  • d = CD-ROM
  • n = Netzwerk

Wie bereits gesagt, es funktioniert in manchen Fällen auch ohne diesen Parameter. Netterweise, hat man zum Beispiel nur eine Festplatte eingebaut und dennoch den Parameter -boot d gesetzt, bootet die Kiste trotzdem von der Platte. Ich vermute mal, es geht einzig um das Vorhandensein des Parameters.

Also, komplett sieht das dann so aus:

qemu-system-x86_64 -m 2048 -enable-kvm -smp 1 -net nic -net user -cdrom linuxmint-18.1-mate-64bit.iso -boot d

Ihr könnt diese Zeile einfach kopieren und in den Terminal einfügen. Wenn ihr das gleiche Image habt, sollte es funktionieren!

Na da schau einer an, das Boot-Bild von Mint haben wir ja schon einmal geschafft! Geht es auch weiter?

Tatsache! Linux Mint 18 in einem Fenster unter Gentoo-Linux! Genial, oder? Funktioniert wunderbar und nun kann man mit Mint rumspielen, ohne Gefahr zu laufen, dass eigene System zu beschädigen, oder zu blockieren!

Für die Schreibfaulen!

Gerade bei Umsteigern von Windows habe ich oft gemerkt, diese User sind bequem geworden. Tippen, nur wenn es sein muss! Um denen die Tipp-Arbeit zu verkürzen, hier etwas zum kopieren und einfügen!

echo "qemu-system-x86_64 -m 2048 -enable-kvm -smp 1 -net nic -net user -cdrom linuxmint-18.1-mate-64bit.iso -boot d" >> startMint.sh && chmod 0740 startMint.sh

Geht im Terminal einfach in das Verzeichnis, in dem das ISO liegt, kopiert den Krempel hier, fügt ihn in den Terminal ein und führt es aus. Hinterher hat man ein kleines Skript im Verzeichnis, welches man mittels:

./startMint.sh

starten kann!

Aber bitte dran denken, es geht NUR dann, wenn ihr auch das exakt gleiche Image habt! Wenn nicht, müsst ihr linuxmint-18.1-mate-64bit.iso durch den Namen eures Images ersetzen! Ich empfehle, dass Skript erstellen zu lassen und dann mit einem Editor zu verändern. Das ist bequemer, wie ich finde!

Das Skript kann man natürlich auch öffnen, Parameter verändern und so ein bisschen Erfahrung sammeln. Das kann nichts schaden, denn je besser man sich damit vertraut macht, desto leichter fällt es hinterher, eine für sich nutzbringende, virtuelle Umgebung zu schaffen!

Und was jetzt?

Wie gesagt, nun kann man Mint, oder welches OS man sich ausgesucht hat, testen, nach Lust und Laune. Will man jedoch mehr damit machen, so wünscht man sich natürlich die Installation auf einer Festplatte.

Wie man diese erstellt, einbindet und das alles, gibt es dann im nächsten Beitrag!

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert