- 1 How to run Windows XP on the Joggler
- 2 How to build your own Windows XP for the Joggler - Part 1: Installing Windows
- 3 How to build your own Windows XP for the Joggler - Part 2: USBoot
- 4 How to build your own Windows XP for the Joggler - Part 3: Plan & Install Your Applications
- 5 How to build your own Windows XP for the Joggler - Part 4: Patching XP & EFI Bootloader
- 6 References
How to run Windows XP on the Joggler
Ready made builds can be found on the following forum threads:
Due to subtle differences in either hardware or firmware between O2 & Open Peak Jogglers, some builds will detect hardware differently. For example, a build created on an O2 Joggler will work flawlessly on an Open Peak Joggler, detecting all hardware. A build created on an Open Peak Joggler will not correctly load drivers for the touchscreen so a keyboard/mouse/hub combo will need to be used to reinstall those drivers.
There are still a few driver/firmware issues with XP builds on both types of Joggler; the headphone socket does not mute the speakers & some Jogglers fail to start the drivers for the NIC.
How to build your own Windows XP for the Joggler - Part 1: Installing Windows
This how-to is provided as an example of how to have a running version of Windows XP or Windows Server 2003 (Embedded and Fundamentals do not work at the time of writing). There are other ways to do this depending on your preferences with regard to virtualisation software. As the joggler cannot install Windows natively, we first have to create a working Windows XP install in a virtual machine OR on a physical machine if that is your preference. We will then patch that Windows install to prepare it for running on the Joggler.
Here are the stages for using Microsoft Virtual PC, which can be downloaded for free by those with a genuine copy of Windows Vista and Windows 7. To use this particular application, you will need a fairly recent CPU that supports Virtualisation, e.g. Intel Core 2 Duo.
Click on Create Virtual Machine:
Give your new machine a name.
Allocate your virtual machine some memory. The Joggler only has 512MB, but it won't do any harm if you want to allocate more and it may speed up the process.
Type in the name and location for the VHD (Virtual Hard Disk) which this machine will be installed on
Right-click the new machine and select 'settings'.
Select the ISO or the physical disk of your XP install disk. Tiny XP will give you more options for reducing the size of your install (Beast and Micro work well). You can also nLite a version of XP for the Joggler, although you need to be careful not to remove too much as this can result in a version that will not boot on the Joggler.
Once you start your new Virtual PC, install XP just as you would on a physical machine. I won't go into detail here as there are instructions found all over The 'Net.
Here is the Virtual PC sitting at the Windows desktop.
How to build your own Windows XP for the Joggler - Part 2: USBoot
Next visit USBoot.org and download the latest release of USBoot. You will also need to register in order to activate your install. It is free.
Unzip USBoot to a folder in the root of drive c:, e.g. c:\USBoot. The name isn't important. Download the Joggler drivers and unzip in the Extra Drivers folder, e.g. c:\USBoot\Extra Drivers. It's probably a good idea to read the USBoot instructions before you start, in order to familiarise yourself with how it works. The process begins by double-clicking on 'cmd here' and typing 'USBoot Phase-i'. Follow the instructions on screen and activate USBoot.
Be sure to read each step of USBoot as you may chose different options to those listed below, however these are tested as having worked.
Select options for step I:
Creation of a system restore point
(s) skip this step
Select options for step II:
Deactivation of auto reboot on system errors
(space) disable auto reboot on system errors
Select options for step III:
Installation of the USBoot DeviceGuard
(space) install and activate the USBoot DeviceGuard
Select options for step IV:
Installation of the USBoot ServiceGuard
(space) install and activate the USBoot ServiceGuard
Select options for step V:
Installation of a generic HAL
(a) install generic HAL preferring ACPI non APIC HAL over standard HAL
After this phase is completed, the options you selected will be executed. You will then be prompted to start the next phase. At the command prompt, type 'USBoot Phase-ii'. Once again, read through each step before making your choice.
Select options for step VI:
Integration of additional drivers in folder "extra Drivers"
(space) integrate additional drivers (copy files to system)
Select options for step VII:
Installation of drivers of classes "USB" and "1394"
(space) install all drivers available of classes "USB" and "1394"
Select options for step VIII:
Installation of drivers of critical classes (excluding class "SCSIAdapter")
(space) install all drivers available of critical classes but only generic ones for classes "System", "Keyboard" and "Mouse"
Select options for step IX:
Removal of information concerning non present devices
(space) remove information concerning non present devices of class USB
Select options for step X:
Reinstallation of present devices of class USB
(space) reinstall present devices of class USB
Select options for step XI:
Reinstallation of present devices preferring generic device IDs
(space) skip this step
Select options for step XII:
Installation of the USBoot ArcGuard
(space) install and activate the USBoot ArcGuard
Select options for step XIII:
Installation of the USBoot DriveGuard
(a) install and activate the USBoot DriveGuard (enable support for pagefiles)
Select options for step XIV:
Installation of the Microsoft EWF filter
(optional -> virtually protects partitions from write operations if enabled by caching writes) ( in RAM [inform yourself about side effects!] - may help to extend the lifetime ) ( of flash devices especially when formatted with NTFS - needs "ewf.sys" and ) ( "ewfmgr.exe" from XP embedded SP2 (or newer) in folder "ewf" )
Select options for step XV:
Deletion of the content of the Windows dllcache and $Nt... uninstall folders
(optional -> this may save you several hundreds of megabytes space on your drive)
After this phase is complete, the options you selected will be executed. This will take a long time - go make a coffee. You may be prompted to give the location of some drivers, e.g. asian keyboards, but it should be fine to cancel those pop-up dialogues. After USBoot has done it's thing, you will be prompted to press <space> to perform a reboot of your machine.
How to build your own Windows XP for the Joggler - Part 3: Plan & Install Your Applications
OK, so you now have either a virtual machine or physical machine running Windows XP and it's been patched to boot from USB.
Before we patch XP to run on the Joggler, it's going to be quicker and easier to install any apps you want the Joggler. Apps you might want to install are things like a VNC host, bittorrent client, TVersity or other UPNP server, media player, Security patches for XP, etc.. Planning your installations at this stage will save you time watching progress bars on the Joggler.
Be realistic about what you want to achieve on the Joggler's hardware - benchmarks show it to be equivalent to a typical PC circa 2005. You won't be running Crysis on it! For demanding applications, you might want to consider a USB HDD or SSD rather than a generic flash stick.
How to build your own Windows XP for the Joggler - Part 4: Patching XP & EFI Bootloader
Once patched, XP will not run on either a virtual or physical machine. You should make backups of the files you replace. For this reason, you may decide to assemble the partitions and patch the files on a separate HDD or VHD. If you are running a virtual machine you should shut it down before mounting the VHD in Windows 7 or Vista. To Mount a VHD in Windows 7, right click My Computer and select Manage. Select Disk Management in the left pane and then Attach VHD from the Action drop down list.
Using your favourite disk cloning software (MiniTool Partition Wizard Home Edition is free), you can now clone from the mounted VHD to a brand new USB HDD or USB stick.
The first partition of the HDD or USB stick must contain the EFI bootloader. The partition should be formatted as a FAT or FAT32 PRIMARY partition. The second partition should be formatted as an NTFS PRIMARY ACTIVE partition - this is the partition that will contain our patched XP install. [To make the partition ACTIVE using MiniTools, right click the NTFS partition, select MODIFY & MAKE ACTIVE]. Although the patched NTLDR looks in boot.ini for the location of c:\windows, boot.ini cannot be used to add switches to the boot process, e.g. safe mode, no gui, etc.. It is also not possible to chainload a different OS from the patched NTLDR.
Windows XP will not boot directly from an EFI bootloader, so a patched NTLDR, NTDETECT.COM and c:\windows\system32\drivers\VGA.SYS are requred. Eric Huang modified these and an EFI bootloader for the Joggler using the source code of the XOM project (XP On Mac). In the EFI.zip are two different versions of the bootloader. One permits the use of a USB hub, the other does not.
Now that you have your new HDD or USB stick prepared, plug it into your Joggler, connect the power lead and watch as Windows XP boots and detects your Joggler's hardware.