Windows 10 IoT auf dem Raspberry Pi 2 installieren

Ich war über den Microsoft Blog-Eintrag überrascht das bereits jetzt ein Windows 10 IoT Preview verfügbar ist nachdem die ursprüngliche Ankündigung von Microsoft noch nicht all zu lange her ist. Da Windows 10 IoT zukünftig kostenlos angeboten wird und ich mich in der Windows / .NET Welt auskenne ist das Betriebssystem für mich eine echte Alternative,  da heute auch noch das Wetter schlecht ist werde ich die Installation und Einrichtung von Windows 10 in der Internet of Things Version auf dem Raspberry Pi 2 vorstellen.

Windows_Product_Family

Um Windows 10 in der „Internet of Things (IoT)“ Version auf eurem Raspberry Pi 2 installieren zu können sind einige Vorbereitungen zu treffen. Da ich selbst in meinem Arbeitsalltag ehr mit Microsoft Produkten in Berührung komme habe ich natürlich ein Microsoft Konto und bin Mitglied Microsoft Connect bzw. Insider Programm. Das ist Grundvoraussetzung um die Windows 10 Preview Version überhaupt herunterladen zu können. Hier eine Übersicht:

  • Auf der Windows Insider Homepage gibt es die Windows 10 Vorabversion ISO Image zum Download, Anmeldung notwendig. Diese wird benötigt um unsere Raspberry Pi SD Karte zu beschreiben und uns mit dem Pi zu verbinden.
  • Zusätzlich benötigen wir einen Microsoft, MS Connect, Hotmail oder Live Account um am Windows 10 IoT Programm via Microsoft Connect teilnehmen zu können.
    • Meldet euch bei Connect an
    • Bestätigt die EULA Umfragen (das ist die Anmeldung zum Programm)
    • Dann könnt ihr das IoT Preview aus dem Connect Center für das „Windows Embedded Pre-Release Program“ herunterladen

Folgende RasPi Hardware wird für den IoT Preview Benötigt

Um die IoT Version von Windows 10 auf eurem Raspberry Pi zu betreiben benötigen wir folgendes.

Inhaltsverzeichnis

Windows 10 IoT auf der SD-Karte installieren

Um das Windows 10 IoT Image (flash.ffu) auf die SD-Karte für euren Raspberry Pi 2 zu schreiben habt ihr zwei Möglichkeiten:

  • Option 1 – Via Windows 10 ADK – Recht einfach ohne viele Tools oder ein neues Betriebssystem installieren zu müssen
  • Option 2 – Via Windows 10 VM – Kompliziert und zeitaufwändig, man hat aber direkt eine Windows 10 Entwicklungs- und Administrations-Umgebung als VM

UPDATE 01.07.2015
Mit der Win 10 IoT Core Preview vom 24.06.15 gibt es ein Flashing Tool welches das Flashen wesentlich vereinfacht. Eine Anleitung gibt es hier. 

Option 1 – Via Windows ADK (einfach)

Um das SD-Karten Image für den Raspberry Pi auf eine Karte schreiben zu können wir die aktuellste Version von dism.exe (Deployment Image Servicing and Management tool) benötigt. An diese kommt man, wie in Option 2 beschrieben durch eine Windows 10 Installation, oder man verwendet die dism.exe aus dem aktuellen Windows Assessment and Deployment Kit für Windows 10.

Führ den Installer aus und klickt weiter bis ihr auf der Auswahl-Liste für die Funktionen landet:

adk-2

Wählt dort die „Development Tools“ und die „Flashing Tools“ aus und startet die Installation.

Öffnet nach Ende der ADK Installation eine administrative Kommandozeile (cmd.exe) via Rechtsklick „Run as Administrator“, die findet ihr im Start Menu. Wechselt in das ADK-Verzeichnis:

Um das Betriebssystem auf die SD-Karte schreiben zu können müssen wir noch herausfinden welche Disk-Nummer unsere SD-Karte besitzt, steck hierzu dei Karte in euren Kartenleser. Das erledigen wir mit dem Tool diskpart. Tippt diskpart in die Command-Shell

Dann zeigen wir eine Liste mit vorhandenen „Disks“ an

diskpart

Ich habe eine16GB SD-Karte (Formatiert 14GB), daher ist es bei mit DISK 4. Merkt euch eure Disk Nummer. Beendet Diskpart durch die Eingabe von exit

Ladet nun das „Windows 10 IoT Core Insider Preview Image for Raspberry Pi 2“ herunter und entpackt die Dateien zum Beispiel nach „C:Win10“ (Rechtsklick auf die zip Datei und entpacken)

Nun können wir das Image auf die SD-Karte schreiben, gebt hierzu folgenden Befehl ein. Wichtig! Ersetzt „PhysicalDrive4“ mit der Disk Nummer eurer SD-Karte, also zum Beispiel „PhysicalDrive6“, und ändert den Pfad zur flash.ffu (das ist das Image) der Vorgang dauert eine Weile.

Entfernt die SD-Karte, klickt im System Tray Rechts unten auf das USB-Icon und dann auf „Eject ….“. Jetzt könnt ihr euren Raspberry Pi 2 mit Windows 10 Iot Starten und mit Teil 2: Windows 10 IoT – Raspberry Pi 2 administrieren und einrichten weiter machen.

Option 2 – Windows 10 VirtualBox vorbereiten (schwer)

Die Option 2 ist ehr was für fortgeschrittene Bastler und Windows Entwickler die sich neben dem Raspberry Pi 2 auch für Windows 10 und die Entwicklung von Windows Universal Apps für den RasPi interessieren, die folgenden Beiträge zu diesen Themen bauen auf der hier beschriebenen Methode auf.

Ich verwende die normale Windows 10 x86 Version um meine SD Karte zu beschreiben. Windows 10 läuft hierbei in einer Oracle Virtual Box, die Virtual Box ermöglicht es mir Windows 10 als virtuelle Maschine auf meiner Windows 7 x64 Workstation zu installieren. Bei mir kommt die Windows 10 x86 Vorabversion in Englisch (Build 10074) zum Einsatz.

Hinweis:

  • Um Windows 10 in einer VM zu betreiben benötigt euer Rechner eine CPU mit „Intel Virtualisierungs-Technologie (Intel VT)“ oder „AMD Virtualisierungstechnologie (AMD-V), die Option muss im BIOS eures Rechners aktiviert sein
  • Zusätzlich muss euer System „No Execute“ (kurz NX) unterstützen was ebenfalls im BIOS aktiviert sein muss, bei Intel auch XD (Execute Disable) genannt

 

Ich öffne Virtual Box und erstelle über „Neu“ eine neue Virtuelle Maschine vom Typ „Windows 10 (32 Bit)„.

Win10-vm

Die VM erhält bei mir, da ich genügend RAM habe 2GB (2048MB) Arbeitsspeicher

Win10-Virtualbox-2

Ich erzeuge eine neue virtuelle Festplatte für die virtuelle Windows 10 Maschine

Win10-Virtualbox-3

Da ich nicht plane die VM später auf einer anderen Virtualisierungslösung zu betreiben wähle ich VDI als Format.

Win10-Virtualbox-4

Da ich beim Schreiben auf die virtuelle Disk nicht besonders viel Wert auf Performance lege sondern lieber schnell anfangen möchte Wähle ich „dynamisch alloziert

Win10-Virtualbox-5

In den Einstellungen der virtuellen Maschine (Klickt rechts auf die VM und „Ändern“) mounte ich nun das Windows 10 ISO um das Betriebssystem in der VM installieren zu können

Win10-Virtualbox-6

Zusätzlich habe ich meiner VM unter „System“ > „Prozesser“ zwei CPUs zugewiesen da mein System mit 8 CPU-Kernen über ausreichend Leistung verfügt. Startet eure VM, ihr solltet dann nach kurzer Zeit direkt im Windows 10 Setup landen, ich wähle dort als Ausgabe- und Tastatur-Format Deutsch, die Sprache belasse ich auf Englisch.

  • Falls ihr eure Maus zwischendurch aus dem VM Fenster „lösen“ wollt, die Standard Taste hierfür ist die rechte STRG-Taste.

win10-setup

Bestätigt mit weiter bis ihr im Dialog für die Installations-Methode landet, dort wähle ich „Custom“ und bestätige die folgenden Dialoge mit weiter da ich nicht partitionieren möchte.

win10-setup2

Das Setup dauert abhängig von eurem Rechner einige Minuten, in den folgenden Dialogen verwende ich Option „Use Express Settings“ und  als Typ „This Device belongs to me„. Wenn euch der Installer nach eurem Microsoft Konto fragt könnt ihr euch dort anmelden, ich habe diesen Schritt allerdings übersprungen (Tippt irgend was ein und dann auf „Skip for now„). Nach festlegen eines Benutzernamens und Passworts ist die Installation von Windows 10 abgeschlossen.

Wichtig!

Installiert unbedingt noch die „Virtual Box Guest Additions“ in eurer Windows 10 VM, diese enthalten alle notwendigen Gerätetreiber und verbessern die Leistung. Klickt hierzu im Geräte-Menu der VM auf „Medium mit Gasterweiterung einlegen„.

VB-Guest Additions

Klickt auf den File Explorer in der Startleiste, navigiert auf das CD-Rom Laufwerk und führt die Setup.exe aus, ich bestätige alle Dialoge. Startet das System am Besten nach der Installation direkt neu (Rechtsklick auf das Start-Icon links unten -> Shutdown or Sign Out).

Windows 10 auf VirtualBox installieren

Nachdem unsere normale Windows 10 VM nun läuft können wir uns endlich um die „Bestückung“ unserer Raspberry Pi SD-Karte mit der Windows 10 IoT Version befassen. Das wir unsere SD-Karte aus der VM mit „Windows 10 IoT (flash.ffu)“ beschreiben wollen müssen wir noch den Kartenleser (ich habe einen USB-Leser) an die VM weiterreichen.

Hierzu benötigen wir das Virtual Box Extension Pack für USB 2.0 Unterstützung, schaltet eure VM aus und installiert das Extension Pack. Dann öffne ich die Einstellungen der VM (Ändern) und füge den Kartenleser als USB-Gerät hinzu.

Win10-SD-Reader2

Ich Stecke eine SD-Karte in den Reader und Starte meine VM, im Explorer taucht nun meine SD-Karte auf. Unter Umständen müsst ihr euren Kartenleser einmal abstecken und wieder anstecken (der VirtualBox Treiber wird installiert) und eure virtuelle Maschine noch mal neu starten.

Win10-SD-Reader3

Jetzt benötigen wir noch das Windows 10 IoT Raspberry Pi 2 Build innerhalb der VM, ich lade es direkt in der VM über den neuen Browser (Start Menu > Project Spartan) herunter. Alternativ könnt ihr die Datei auch via Drag and Drop in die VM kopieren (aktiviert hierzu unter „Geräte“ -> „Drag & Drop“ -> „Bidirektional“, hier könnt auch Copy und Paste aktivieren um den Link in Spartan zu kopieren.

download

Windows 10 IoT auf die SD-Karte schreiben

Die Zip-Datei landet im „Downloads Ordner“, dort entpacke ich Sie und kopiere mir die Dateien in einen Ordner auf dem Desktop, ich öffne eine „Administrative Kommandozeile“ durch „Rechtsklick auf das Start Icon“ > „Command Promt (Admin)„. Nun wechsle ich auf der Command Line  in den Ordner auf dem Desktop. Den Benutzernamen „raspberry.tips“ müsst ihr durch euren ersetzen.

Um das Betriebssystem auf die SD-Karte schreiben zu können müssen wir noch herausfinden welche Disk-Nummer unsere SD-Karte besitzt. Das erledigen wir mit dem Tool diskpart. Tippt diskpart in die Command-Shell

Dann zeigen wir eine Liste mit vorhandenen „Disks“ an

diskpart

Meine SD-Karte hat 16GB und ist NTFS Formatiert, da neben der erstellen 32GB System Disk nichts an der VM hängt ist bei mir die Disk 2 meine SD-Karte, merkt euch die Nummer. Beendet Diskpart durch die Eingabe von exit

Nun können wir das Image auf die SD-Karte schreiben, gebt hierzu folgenden Befehl ein. Wichtig! Ersetzt „PhysicalDrive2“ mit der Disk Nummer eurer SD-Karte, also zum Beispiel „PhysicalDrive1“, der Vorgang dauert eine Weile.

win10_sd-card-image

Eine schwere Geburt, hoffentlich wird das Schreiben des Image zukünftig einfacher. Entfernt die SD-Karte, klickt im System Tray Rechts unten auf das USB-Icon und dann auf „Eject ….“.

eject-sd-card-win10

Die VM könnt ihr nun herunterfahren, wir benötigen diese aktuell nicht mehr.

Raspberry Pi 2 – Windows 10 IoT starten

Ich stecke die SD-Karte in meinen Raspberry Pi 2, verbinde Netzwerk, HDMI und ein LAN-Kabel und starte den Pi durch verbinden des Netzteils. Windows 10 startet jetzt auf eurem RasPi.

Verkabelung

Erster-Start-Windows-10-raspi-2

Bootvorgang

Erster-Start-Windows-10-1

Der Windows 10 „Desktop“ auf dem Raspberry Pi.

Erster-Start-Windows-10

Viel können wir hier noch nicht tun, es handelt sich ja schließlich um die erste Preview Version von Windows 10 IoT und dient dazu Entwicklern ihre entwickelten Apps zu Testen. Entwicklungsressourcen und Beispiel Apps gibt es auf Windows on Devices, ich werde mir die Projekte und Beispiele dort ansehen und hier weiter berichten.

Teil 1: Dieses Tutorial
Teil 2: Windows 10 IoT – Raspberry Pi 2 administrieren und einrichten
Teil 3: Windows 10 IoT – Entwicklungsumgebung & Erste Raspberry Pi 2 App entwickeln

Viel Spaß!