A recently funded single board computer arrived at my home (i.e. the doorstep of my faculty’s office) and I am super excited to play around with it. There are many boards out there that follow in the Raspberry Pi’s footsteps by using an ARM processors, but the JaguarBoard is different to them. It uses an Intel Atom processor (Z3735) and hence provides full support for the x86 instruction set. Therefore it is possible to install not only derivatives of Linux, but also a full blown version of Windows! So, here’s my experience of getting started with board and installing Windows 10 on it.
The Kickstarter campaign ended in January 2016 and was an amazing success. Unlike many kickstarted projects I received the board relatively quickly with less than 2 months delay. By the time my board arrived, the developers had already written up documentation on their website (link), so I can only say: kudos to them, seldom does one see such effort and good delivery. But enough of my praise and let’s give you my details on how I managed to install Windows 10.
One last note before I start, the guys have uploaded their unboxing, firmware setup and Windows 10 installation to youtube, making this instruction a bit obsolete… Yet if you like text rather than sitting through a video, here you go 😉
Using the correct UEFI version
As the JaguarBoard was designed to serve both Linux and Windows, the developers made two flavours of the UEFI (Unified Extensible Firmware Interface) to allow the operating system to interface with the hardware. After mashing the
del key during the POST (Power-On Self-Test) you’ll enter the UEFI setup menu and should be able to see the version that’s currently installed. You can identify it by the project version in the main menu as:
- JBTCR 0.42X64 for Linux, and
- JBTCR 0.42 for Windows.
If you have the Windows compatible UEFI firmware installed, and want to use the Windows OS, then you can carry on to the installation procedure. If you have the Linux version, like I did, then you’ll also need to flash the firmware with the different version. This step is also required if you want to change back to Linux, as you’ll need to swap the firmware again. The Windows version of the UEFI firmware can be downloaded from here, and the Linux version from here – they are the official links to JaguarBoard, so don’t worry… Once downloaded, extract the files and copy them onto a FAT32 formatted usb stick. Plug that stick into the JaguarBoard, connect at least a keyboard and screen and power up the board. Then:
- Go into the UEFI settings menu
- Under the menu “Safe & Exit” choose the “Boot Override”
UEFI: Built-in EFI Shell
- The shell (black screen with white/yellow text) displays the connected peripherals, one of them being the USB stick. In my case it was
fs1yet that may vary.
- Change into the USB stick’s content using:
fs1:and validate the content with:
ls. You should see the content you copied across earlier.
- For to change the UEFI to be compatible with Windows, enter the following command:
fpt64 -f exb7a2-w32.bin
If you want to roll back to the firmware to be Linux compatible, enter:fpt -f exb7a2_a64.bin
This process will take a while. During the UEFI flash, assure not to disconnect the power as that will likely brick the device!
- Once you see the prompt:
FPT Operation Passed
you’re done and can install the OS
Despite the Intel Atom Z3735 being a 64-bit CPU, the Windows compatible UEFI is only a 32-bit version and therefore limits the Windows flavour to the 32-bit x86 kind. Yet that should not be an issue as the board only has 1GB of RAM, just keep that in mind for now. I downloaded RUFUS to generate the Windows installation USB (link) and made a FAT32 stick from a Windows (x86) Education ISO I got through my university. That stick was recognised by the JaguarBoard and I could install Windows without any hassle.
Upon completion I connected the board to the Internet and downloaded all the Windows updates. It’s pleasantly surprising that the fresh Windows installation works with the onboard ethernet chip and doesn’t require any driver installation hassle. That said, there is a ZIP full of drivers on the JaguarBoard website (link) that you will need to install afterwards. Simply download the ZIP, extract it and step through each folder and install (right click -> install) each “Setup Information” (inf) file. So if something doesn’t quite work yet, afterwards it should.
It is worth mentioning that you should initially skip the graphics driver installation, as Windows should detect them automatically once the I2C drivers are installed (give Windows some time to realise that after installing the I2C drivers). Also, unless you have the touch panel connected, the touch drivers will fail to install. Run another Windows updates check, reboot and you’re done.
Backing up the installation
If there’s one thing I’ve learnt, it is to always keep a disk dump of a fresh installed OS. Especially after so much effort to get Windows running it’s always advisable to have a rollback of a fresh install, just in case I destroy it later on. So of you have Linux or Mac, plug in the SD card, unmount it and in the terminal enter:
diskN with the disk that your card is registered as and you’ll have saved a backup of the disk onto your desktop. To restore the card, simply reverse the input file (
if) and output file (