Installing Windows 10 on Raspberry Pi

Raspberry PiRaspberry_Pi, is a wonderful tiny credit card sized computer created by people who were passionate about education. It is a little device that enables people of all ages to explore computing and to learn how to program in languages like Python and Scratch. Due to its small size and relatively low power consumption, it is also widely used by IOT (Internet of Things) enthusiasts.

The Raspberry Pi landscape has been dominated so far by Linux based operating systems like Raspbian, OpenELEC and the very recent Snappy Ubuntu.

With Microsoft rolling out a version of Windows to this platform, it provides an opportunity for many more people to be engaged with the magic of Raspberry Pi.

Step by Step

  • Download the Windows 10 IOT image for Raspberry Pi from here (around 500 MB).
  • Extract Windows_10_IoT_Core_RPi2.msi, from the ISO image that was downloaded in the previous step. I used the popular 7-zip to extract.
  • Install Windows_10_IoT_Core_RPi2.msi on your computer. I used a Windows 7 computer for this.
  • Run ‘Windows IOT Core Image Helper’ from start menu.

Windows_IOT_Core_Image_Helper

  • Select the correct SD card from the list.
  • Select the .ffu image file which is installed in the folder: ‘C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2’.
  • Click on ‘Flash’ button.
  • The ‘Deployment Image Servicing and Management Tool’ will run which will transfer the ffu image file to the SD card.

dism

  • This process takes some time, so please be patient until the status at the bottom shows as below.

Windows_IOT_Core_Image_Helper_Complete

  • I checked how the partitions are divided on the SD card using the Mini Partition Tool, here’s a screenshot.

Windows10_IOT_Partitions

  •  After it is successfully installed, pop the SD card into the Raspberry Pi and power up. I used the Raspberry Pi 2 Model B, the one with the 1GB RAM on it.
  • Again, the process takes some time, so please be patient.
  • Unfortunately, there is no Wifi support (yet), so I plugged mine over an ethernet cable to the router.
  • As I connected it as headless (without connected to a monitor), I watched my router to find out the IP address after it boots up.
  • The default hostname of the new Windows 10 IOT device is ‘minwinpc’
  • Now connect over SSH (you can also use powershell) using the default credentials (username: Administrator, password: p@ssw0rd)

Windows_IOT_SSH_Login

  • After logging in over SSH a familiar DOS like interface is displayed with the familiar C:\> prompt.
  • Below screenshot shows the default shares setup on the device.

Windows_IOT_Default_Shares

 

Congratulations! Windows 10 IOT has been successfully setup on your Raspberry Pi!

 

References:

  1. https://dev.windows.com/en-us/iot
  2. http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm
  3. https://github.com/ms-iot/samples
  4. https://www.raspberrypi.org/

 

Windows 10: First Drive

Last day I got a chance to install the latest of the Windows breed from the Microsoft stable. The Windows 10 Technical Preview. You can download the install files from here.

This is a touted as the successor of Windows 8, which did not make any impact in the market. Windows 8 was primarily intended for touch screens. The desktop integration was an afterthought. However for Windows 10, there is a clever attempt to marry the desktop with the modern touch friendly interface.

Installation

I dual booted the Windows 10 with the existing Windows 7 on my laptop.  The installation was uneventful. It detected all the hardware correctly. NVIDIA drivers were installed separately.

First Look

Having used Windows 8 before, there were not much surprises. The desktop integration is a welcome addition. The choice of viewing an application in full screen now rests with the users (In Windows 8, all applications open in full screen mode). Users can cycle between full screen, windowed or minimized mode.

The Start menu now has a small button at the top right to make it either full screen (ideal for tablets) or in normal mode (ideal for desktops). The good part is that live tiles are enabled on the start menu in both modes.

win10_start_screen
Windows 10 – Start menu in full screen mode
win10_task_manager_disk_usage
Windows 10 – Task manager has a new look and more details
win10_task_manager_minimal
Windows 10 – Task manager now has a minimized view with just the critical information

Application Compatibility

Applications designed for the ARM architecture and applications developed for the x86 architecture worked side by side. There is no switching required between the modern UI and desktop UI anymore like in Windows 8.

I tried installing some of the legacy windows applications and all of them worked seamlessly. However, the applications I compiled for the Windows 8 machine failed to run. I don’t know the reason at this time, I’m investigating.

Universal Windows Apps

Universal Windows Apps is a great idea, the support of which started with Windows 8.1. It promises to provide the developers with a common windows platform which gives a consistent API with consistent UX design. The developers can have the same code base for multiple platforms like desktops, tablets & phones. As a developer, I love this! 🙂

Further Reading

1. A video by Windows VP Joe Belfiore explaining the features of Windows 10:

2. Read about all the new features:

http://windows.microsoft.com/en-us/windows-10/about

3. Download your copy of the Windows 10 Technical Preview:

http://windows.microsoft.com/en-in/windows/preview-iso