Introduction
The M200 does not have an internal floppy or CD/DVD drive, so presents a problem when you
need to reinstall the OS or restore hard disk images. There is an internal bootable SD drive,
and the section on making a boot image can help here.
It is possible to boot from PCMIA or USB CD, but you have to buy the official Toshiba
unit, or find a another manufacturers model that works.
Even so, booting the M200 with the PXE bios directly from a network is fun and satisfying (once you
managed to get it working in the first place, that is).
What you need
- Toshiba M200/205 Tablet PC
- Networked PC/Server running windows 9x/NT/XP
- TFTP server for windows (tftpd32)
This is a great little freeware TFTP server with a built in DHCP server
to dish out IP addresses to your laptop as it boots.
- Syslinux tools - pxelinux.0 and memdisk
pxelinux.0 is a network boot strap loader and memdisk creates a virtual ramdisk to load the
boot disk image into.
- WinImage - Boot disk image creation tool
WinImage is a userfull utility to create boot images from floppy disks.
It's not free, but you will get a useful 30 evaluation period to
get you started. I think I might just buy this product.
-
NDIS drivers for the Intel Pro/100 VE
This is the ethernet card in the M200 and the DOS drivers are hard to find,
but eventually I found them on this site.
There's even instructions to load them into a Norton Ghost template
- Norton/Symantec Ghost
Get a copy of this program, you could probably use Drive Image or similar, but I can't comment on that.
Configuring pxelinux.0 and memdisk
Download the
SYSLINUX tools. Ignore the
linux references since these programs work just as well for loading DOS or Windows
operating systems.
Copy the pxelinux.0 & memdisk file to the root of the tftp32 server directory.
Create a directory called 'pxelinux.cfg in the same tftp32 root directory.
Inside the configuration directory create a text file called default and populate it with
the following contents:
LOCALBOOT 0
label dos
kernel memdisk
append initrd=dos.ima
Modify 'dos' and 'dos.ima' to suit the image file name you will create later.
Instead of the filename 'default' you can create a name that matches your servers IP address,
so that the boot process will find the pxe configuration quicker. e.g. for an address of
192.168.1.2 the file name would be 01-00-08-0d-40-b7-c7. See the readme documents
that came with SYSLINUX for further details.
'dos' is a boot name you will be prompted for when you boot the Toshiba, and 'dos.ima'
is the image name it will load. You can add multiple 'label' entries into this file to
load a choice of images at boot time.
The TFTP Server
Download the
TFTP server and install it.
On first invokation, it might complain that it can't start. You will have to ensure
you do not have any other services listening on port 69 (other TFTP servers).
Go to the DHCP tab, and fill in the following fields:
IP pool starting address: xxx.xxx.xxx.xxx
Size of pool: 1
Boot File: pxelinux.0
WINS/DNS Server: xxx.xxx.xxx.xxx
Default router: xxx.xxx.xxx.xxx
Mask: 255.255.255.0
I'm not sure if the DNS & gateway settings are required on a simple network,
but I just set them both to my own ADSL router address.
Once complete click the SAVE button
Then go to the 'Settings' option and ensure that the following item is checked:
You may also turn of all of the global settings apart from TFTP & DHCP server.
Exit the program and restart it. Hopefully tftp32 is now waiting for a network connection.
Creating a Basic Boot Disk Image
Download
WinImage, install it, and run it up.
Put a ready prepared DOS or WIN98 (etc...etc) boot disk into your floppy drive, and:
Click on 'Disk'
Click on 'Use drive A:'
Click on 'Read disk'
Once the floppy has been loaded into memory:
and save as an '.ima' file into the root of the tftp32
directory. e.g. 'dos.ima'
Booting the M200 to DOS or WIN98
Now the fun starts.
Make sure tftp32 is running and you have selected the 'tftp Server' tab.
This allows you to monitor the connection.
Ensure the Toshiba and PC server are both plugged into the same network.
Boot up the M200 whilst holding down the ESC key, and you should be presented with
a request to press F1. Do so.
You will enter the BIOS - Use the arrow keys to navigate to the 'Network Boot Protocol'
field, and ensure that it is set to PXE. Then press END to save changes and reboot.
Press F12 almost immediately after the reboot. The screen should stop and
allow selection from 5 small icons at the bottom of the screen using the arrow
keys. Select the fourth icon along (looks like a network icon) and press enter.
You will see the PXE boot process searching for a DHCP server for a few seconds,
and hopefully retrieve an IP address.
Then it will try to load the pxe configuration file in the pxelinux.cfg directory
on your server. It will eventually find the 'default' file you created.
After reporting that it could not find the linux kernel image, it will present you
with a 'boot:' prompt.
Type in 'dos' (or whatever label name you used), and it should then proceed to
load the ram disk and then the boot image you created.
If all is well, you will now be at a DOS prompt. Job is done, except that we don't
yet have network access to the server from DOS.
Network DOS drivers
Now I'm not an expert at loading DOS network drivers, so I'm going to skip any detail
in this section.
I actually created a network boot disk using Norton Ghost, but I will tell you that I
could not get the M200 to see anything with the standard Intel Pro/100 drivers.
I eventually found a driver for the Intel Pro/100 VE minicard
here which I
inserted into the Norton Ghost template using the instructions provided.
Ghosting
Having created a ghost floppy disk, I read it in using 'WinImage' and saved it to a file
called 'ghost.ima' on the tftp32 root directory.
Now, a 1.44Mb boot image is not big enough to hold DOS, network drivers and the ghost.exe
file at the same time. Fortunately, WinImage allows you to change the image format:
So I changed the loaded image to 2.88Mb and inserted the ghost.exe file into the
list of files (INSERT key), then re-saved as 'ghost.ima'.
Now when I network boot as described above:
Dos is loaded
Network drivers are loaded
'Net use' attaches to predefined shared directory
Ghost.exe loads and runs
The rest is simple. (ummmmmh!!!)
Other Interesting Stuff
Whilst investigating how to do all of this I found a sourceforge project
called
Unattended. This would appear
to allow you to create an unattended network install of Windows using some perl scripts
together with pxelinux.0 and memdisk as used so-far. This looks very interesting, and worth
further investigation.
If you've got any comments or suggestions for this HowTo, then please email me at
andy@luds.co.uk, I can't promise to offer support, but will try my best.