New Toys For The Boys

Don’t we all love new toys, especially the ones that require an occasional recharge.

The latest thing I got my hands on is the Lenovo Tablet 2, a very nice 10” tablet thing, with a couple of nice add-ons, like a docking  station, Bluetooth keyboard and a pen like stylus. But what I really like about it is that it runs a full version of Windows 8 x86, which means that I can deploy its OS over and over again Smile 

So I fired up my SCCM Console to do exactly that …

The Drivers

First off I needed a driver package and Lenovo has been kind enough to supply a ready-made kit for SCCM.

Which can be downloaded from this URL http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS033326

After unpacking the kit, I imported the driver package without any issues

image

Reading through the readme file for the Lenovo driver kit, I found out that a few extra steps would be required to completely support the Tablet 2 device. The Mobile WAN device need a software package to be installed, and KB2761094 must be installed to remove two “yellow marks” in the device manager. So I added a package for each of these issues.

Mobile WAN device Package

I downloaded the driver for the Ericsson WAN device and got a Lenovo installer and a setup.exe (the only thing actually needed)

I created a package containing the setup.exe file and and program that runs the following command:

setup.exe /zGPS=0 /S

KB2761094 Package

I then downloaded the KB from Microsoft, and ended up with a file called Windows8-RT-KB2761094-x86.msu

I created a package containing this file and a program with the following command:

wusa.exe Windows8-RT-KB2761094-x86.msu /quiet /norestart

The Image

As SCCM 2012 SP1 supports using the install.wim file from a Windows source ISO, I opted for this to save the time to build and capture a new image.

So I added my install.wim from the Windows 8 x86 Enterprise ISO to SCCM.

image

The Task Sequence

I created a completely basic Task Sequence to deploy the image, the TS was using the normal x86 boot image.

image

I added the required steps to install the driver package, and the two extra packages, all were limited to only run on the Lenovo device using the classic WMI query trick.

The Boot Media

I created a completely standard ISO boot media and copied the content to a USB that was prepared using diskpart and formatted with FAT32.

The first attempt

Being a UEFI only and keyboard-less device, the Lenovo Tablet 2 device, required some special tricks to boot from USB.

I spend quite a lot time to figure this out so I just cut it short and list my findings:

  1. The device must be placed in the dock
  2. The USB stick must be connected to the dock
  3. You can connect an external keyboard, but only to the dock
  4. To access the BIOS you must power off the device, and hold volume-up and the power buttons until the Lenovo logo appears, then let go and the BIOS appears
  5. You must change the boot order to have the USB device on top
  6. There is no known way to select the boot device during startup
  7. PXE boot will NOT work using the nic port in dock, only using the USB nic dongle
  8. Secure boot must be disabled (remains to be tested further)

<Insert a lot of trial and errors here>

I came to a point where I could not find any way to have the device boot on the USB, so in shear desperation I took my trusted Windows 8 install media USB stick and tried that.

And then the “miracle” occurred, it booted up without any problem at all.

As the sticks were created in the same way using diskpart and FAT32 formatting, I started to look for the less obvious things like what files where on the devices.

Browsing through the folders, I came across a file called bootia32.efi, which was present on the Windows 8 media USB stick in a folder called EFI\boot. The file was not found on the SCCM USB stick.

I did a quick google for that filename, and the results indicated a relation to UEFI, so I took a dive and copied the file to my SCCM USB stick and tried one more time.

Finally some progress …

Now the device actually booted up from my USB stick and started the deployment process, but stopped prompting that there was no NIC found.

NIC driver for the boot image

So I went back to my driver package and looked for any net devices in the list, and found two

image

I then added the LAN9500 USB driver to my boot image, updated this and built a new boot media ISO, and copied the content to my USB stick, and finally added the bootia32.efi file.

Success at last

Now everything was working, the device booted up, found the NIC and started deploying the image.

The result

I ended up with a fully functional device, touch was working, tilt sensor was working, even the mobile WAN detected and working. The only thing I didn’t solve was the two yellow marks in the device manager, so I guess KB2761094 was not taking effect, and I’ll need to look into that sometime soon.

The essence of this is

If you want to boot a 32 bit UEFI device from USB or ISO media, you need to add the bootia32.efi to your media.

Okay but what about PXE booting UEFI 32 bit devices you may ask

And that is a really good question, but I can’t answer that right now as I don’t have an USB NIC adapter for the Tablet 2, but I can tell you two things you will need:

  • Your DP MUST run on a Windows Server 2012, older Windows Servers will not support UEFI PXE boot
  • You must install SCCM 2012 SP1 CU1 to support UEFI 32 bit devices on your DPs

I will update this section with more info when I get my hands on the NIC dongle