Windows 10 für den RasPi 2 unter Linux vorbereiten

© Amanaimages Inc., 123RF

Über Bande

Auch wer auf seinen Rechnern ausschließlich Linux einsetzt, kann für seinen RasPi eine SD-Karte mit Windows 10 IoT vorbereiten. Das gelingt allerdings nur über Umwege.

Der neue RasPi 2 [1] bringt nicht nur eine erheblich bessere Leistung als sein Vorgänger, sondern arbeitet dank der ARM-Cortex-A7-CPU jetzt auch zu ARMv7 kompatibel. Dieses kleine, aber wichtige Detail öffnet vielen Projekten die Möglichkeit, ihre Distributionen auf den neuen RasPi anzupassen. Neben Ubuntu zählt dazu auch das große Unternehmen aus Redmond, das inzwischen eine angepasste Windows-10-Version für den Mini-PC bereitstellt [2]. Zugegeben, es handelt sich dabei nicht um die Desktop-Version – dafür reicht die Leistung des ARM-Zwergs immer noch nicht aus. Doch die Hinweisschilder zeigen ohnehin in eine andere Richtung: Microsofts Ziel ist offensichtlich [3] das sogenannte Internet der Dinge ("Internet of Things", IoT).

Das Transferieren des Microsoft-Betriebssystems auf die SD-Karte des RasPi setzt idealerweise voraus, dass man einen Rechner mit Windows 10 und einem entsprechenden Laufwerk besitzt – in der Linux-Welt ist das aber nicht immer gegeben. Abgesehen davon steht das notwendige Windows auch erst seit Ende Juli 2015 zur Verfügung. Der folgende Artikel zeigt, wie Sie diese Herausforderung recht einfach mithilfe von KVM auch unter Linux meistern.

KVM-Falle

Bereits seit einiger Zeit experimentiert der Autor dieses Artikels mit Vorabversionen von Windows 10 in virtuellen KVM-Maschinen. Möglich machte das das Windows-Insider-Programm [4], das jedem Nutzer nach Anmeldung offensteht. Neue Builds verteilte Microsoft zunächst nur über die Online-Aktualisierung, später stellte das Unternehmen den Insider-Nutzern auch ISO-Abbilder für eine frische Neuinstallation bereit.

Die Build-Version der Reihen 8XXX und 9XXX liefen ohne Probleme. Ab 10XXX startete das Betriebssystem mit der Begründung System Thread Exception Not Handled nicht mehr (Abbildung 1). Dabei spielte es keine Rolle, ob es sich um eine frische Installation oder ein Upgrade handelte. Recherchen im Internet ergaben, dass viele Benutzer das Schicksal teilten und dass es wohl keine Lösung für das Problem gab. Auch die nächste Build-Version vermochte nicht, den Fehler zu beheben – genauso wenig wie das finale Release.

Abbildung 1: Windows 10 verweigert den Start unter KVM – verantwortlich dafür zeichnet eine inkompatible CPU-Einstellung des Gastsystems.

Eine erneute Recherche brachte letztendlich Licht ins Dunkel: Das Geheimnis liegt in der Konfiguration der virtuellen CPU des Gastes. Das Umstellen auf die Option core2duo führte schließlich zum Erfolg. Den entsprechenden Abschnitt der Definition zeigt Listing 1.

Listing 1

 

...
 <cpu mode='custom' match='exact'>
  <model fallback='allow'>core2duo</model>
 </cpu>
...

Technisch versierte Anwender benötigen nicht zwingend Windows 10, um eine SD-Karte für den RasPi mit Windows 10 IoT vorzubereiten. Ein Foreneintrag [5] auf der Webseite der Raspberry Pi Foundation beschreibt die Vorgehensweise beim Nutzen von Windows 7. Im Wesentlichen kommen aber auch dabei Werkzeuge von Windows 10 zum Einsatz.

Welche SD-Karte?

Nach dem Einrichten von Windows 10 in der virtuellen Maschine erfolgt entsprechend der Win-10-IoT-Dokumentation [6] das Installieren von Visual Studio 2015. Da das weitgehend selbsterklärend abläuft, verzichten wir an dieser Stelle auf eine ausführliche Beschreibung. Die Situation ändert sich aber, wenn das Programm IoTCoreImageHelper zum Einsatz kommt: Ohne entsprechende Vorbereitungen sucht es nämlich vergeblich nach einem Lesegerät für SD-Karten mit eingeschobenem Datenträger. Drei Möglichkeiten stehen zur Verfügung, um von hier aus weiterzumachen.

Der Autor installierte zunächst ein entsprechendes Lesegerät auf dem KVM-Host und reichte es an den Gast durch. Diese Bemühungen waren jedoch nicht von Erfolg gekrönt, erfolglos kamen verschiedene Geräte und KVM-Einstellungen zum Einsatz. Eine zweite Option wäre das Verwenden von SPICE [7]. Dieses Protokoll erlaubt das Durchschleifen eines lokalen USB-Geräts an den KVM-Gast. Das erfordert aber auch Eingriffe auf der Windows-Seite, die sich nach Erfahrung des Autors nicht immer einfach gestalten.

Die dritte und letztlich zum Erfolg führende Möglichkeit basierte auf der Überlegung, dass sowohl Linux als auch Windows SD-Karten letztlich als Wechseldatenträger behandelt. Es besteht entsprechend kein Unterschied zu einem USB-Stick oder einer externen Festplatte. Wie Listing 2 zeigt, geht das Hinzufügen und Verwalten einer USB-Festplatte für einen KVM-Gast leicht von der Hand. Statt des SD-Lesegeräts installieren Sie also einfach eine zweite "Festplatte" für den KVM-Gast. Die entsprechende Datei erzeugen Sie mit dem Kommandozeilenaufruf qemu-img create usbdisk.windows.iot.img 16g im entsprechenden Verzeichnis.

Listing 2

 

# virsh dumpxml wintest
...
 <devices>
...
  <disk type='file' device='disk'>
   <driver name='qemu' type='raw'/>
   <source file='/virtual/storagepool/usbdisk.windows.iot.img'/>
   <target dev='hdd' bus='ide'/>
   <address type='drive' controller='0' bus='1' target='0' unit='1'/>
  </disk>
  <controller type='ide' index='0'>
...
#

Die GUI von IoTCoreImageHelper weiß zwar nichts mit dem neuen Datenträger anzufangen, aber auf der Kommandozeile lässt er sich sehr wohl benutzen. Die entscheidenden Hinweise lieferten die Online-Hilfe von dism.exe ("Deployment Image Servicing and Management") sowie ein Blog-Eintrag [8]. In den Labortests der Redaktion fiel auf, dass das System zwei verschiedene Versionen des Werkzeugs Dism mitbringt. Die für unsere Zwecke passende Variante gehört zur IoT-Software-Suite und befindet sich bei einer Standard-Windows-Installation im Verzeichnis für 32-Bit-Programme unter Microsoft IoT\Dism\.

Um Dism zu verwenden, öffnen Sie einen DOS-Prompt mit administrativen Rechten und navigieren in das Verzeichnis, das die Datei flash.ffu enthält. In der Standardeinstellung befindet sich dieses im Unterverzeichnis Microsoft IoT\FFU\RaspberryPi2\ der 32-Bit-Programme (Abbildung 2). Von dort aus starten Sie das Dism-Werkzeug mit den entsprechenden Optionen, um das Abbild auf die entsprechende USB-Festplatte des KVM-Gastes zu schreiben.

Abbildung 2: Das Kommandozeilenprogramm Dism erlaubt es, das Abbild quasi auf beliebige Datenträger zu schreiben.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.