PXE booting & NT install on the Compaq Deskpro

After we recently added the Compaq Deskpro EN (Celeron 300A) system to our collection, I was eager to do a new OS install since the system seemed completely functional in original form. The machine came with both Windows 95 & NT badges, and we obviously decided to install NT since this was a business-class machine. Additionally, NT 4.0 would have been the original OS that this configuration shipped with according to the service manual (page 13).

PXE Booting

We recently got a PXE boot server setup in our LAN which is very useful for everything from troubleshooting to OS re-installs on older PCs. I may write a more instructional post later about setting up and using PXE, but in summary it is a Debian11 low-power machine with isc-dhcp-server and tftpd-hpa packages. It is serving up a Windows 98 DOS-based floppy image called bartdisk.IMA which I found a few weeks ago from codesignh.com’s write-up on installing XP via PXE. Unfortunately the original author of Bart’s Network Boot Disk has taken down the website related to his marvelous floppy image environments, but you can find it on archive.org here. I spent some time tinkering with the bartdisk environment- I’ve tweaked it to boot up very fast without user intervention needed, and it now automatically mounts our file share (from samba) as a network drive.

At first attempt, the Compaq got hung up in PXE boot process with this TFTP timeout:

PXE-EA1: No PXE server found, using standard boot file.
IP ADDR: 10.254.255.110
PXE-E32: TFTP open timeout.
PXE-E32: TFTP open timeout.
PXE-M0F: Exiting LANDesk (R) Service Agent II

Based on initial google search results with the “No PXE server found” message, I tried adding a dhcp option for vendor-class-identifier "PXEClient", however that error was just a red herring and not relevant. The real problem was a TFTP communication issue, not DHCP. The workaround was to add the --refuse blksize parameter to tftpd-hpa in /etc/edfault/tftpd-hpa:

TFTP_OPTIONS="--secure --create -v -v --refuse blksize"

Fortunately, the manpage for in.tftpd basically suggested this fix:

The --refuse option can be used to disable specific options; this may be necessary to work around bugs in specific TFTP client implementations. For example, some TFTP clients have been found to request the blksize option, but crash with an error if they actually get the option accepted by the server.

tftp-hpa 5.2 manpage

Once this was done, we were successfully able to boot our PXE menu and load up the bartdisk Win98 DOS mode.

Disk Setup

The Windows NT installer needs to copy files to the local hard disk – it can’t just install from a network drive directly to an empty disk. So, I started fdisk (make sure to NOT enable large disk support when starting fdisk) to wipe existing partitions, then make a new small primary partition (800MB) and set it as active. Reboot to use new partition table, then format the new C: and we’re ready to launch the NT installer.

NT Installer

Now that we have a C: ready with FAT filesystem, we can go to our network drive and:

  • first run lock C: to enable direct disk access to the C:, this was needed to workaround a sometimes-not-reproducible error from the NT installer
  • run winnt /b to start the installer without it making you create boot floppies

The NT installer then copies install files to a temporary folder on the C: fat drive, then reboots into NT install environment.

After that first reboot, we instructed NT to make a new partition with NTFS filesystem which ended up being the D: drive. We wanted to use NTFS filesystem for our install to take advantage of all of NT’s greatness with security control options in the filesystem.

Intel 8255x / Compaq NIC

On the first install attempt, NT seemed to auto detect the NIC correctly as an Intel 8255x NIC. However, the NIC was not functional at all – in NT it acted as if it was unplugged and would not get an IP address via DHCP. Once we used the Compaq NIC driver, it was smooth sailing. So on the subsequent installs, we copied the Compaq NIC driver to our new C: so that we could use the Compaq driver from the get-go during install.

VGA Driver

This Compaq has an onboard ATI Rage 3D video chipset, but because of a lack of built-in drivers in NT, it only works in basic VGA mode of 640×480 resolution. We found an ATI RageXL software driver online which worked nicely to fix this – but it first required NT Service Pack 6 to be installed. SP6 seems to be a common requirement; it was also needed to get the virtualization drivers for NT4 to run nicely in Microsoft Virtual PC 2007 (our testbed for NT4 on a Windows XP host system). So, we’d plan on installing SP6 in any new NT4 deployment.

Conclusion

With a little bit of work, we figured out these issues and got the NT4 install process nailed down in a smooth repeatable process on the Compaq Deskpro. Even joining our NT domain was completely trouble free, so its easy to see how this would have worked well in a standardized enterprise PC environment.

Video

Check out the full video of this install here:

To top