It’s been a few years since Tenox had mentioned OpenNT 4.5, and in that time the project pages, repositories and well just about everything has vanished. It seems that the hardest thing to do with OpenNT had become finding it.
Then I found this over on vetusware, and with my curiosity piqued, I thought I’d check it out.
As mentioned the first thing to do is combine the parts, and create the single 7zip file, and then extract that.
copy /B "OpenNT45(Source).z00" + "OpenNT45(Source).z01" + "OpenNT45(Source).z02" "OpenNT45(Source).7z"
Extracting that will give a simple ISO file, weighing in at 1.7GB!
While not obvious at first, there is a readme in the ISO that provides instructions on how to compile it. Basically it boils down to a few main points:
- xcopy the CD onto a ‘W’ drive, or subst any other drive to ‘W’ as apparently the build process requires it to be on W. Did I mention that the CD needs to be copied onto the W drive?
- Run the ‘setup.cmd’ file to configure the environment and get the build process ready
- run zTESTBUILD and do a clean build. It will run and eventually fail.
- run zTESTBUILD again, but do not do the clean build, and it should finish
- run \cdimg\genall to create the ISO image
So with those points basically figured out after the fact, let’s go!
The first thing to do is either create a VM to compile this in, or just xcopy and go. The big requirement though is that it must be a 32bit version of Windows, as part of the build process requires the ability to use NTVDM. For simplicity sake, I chose Windows 2000 server, so I could allocate 2GB of RAM, and 4 CPU cores. During the build it doesn’t use that much memory, cores are more so important during various phases of the build that can seemingly use any and all cores, while various other parts only run on a single core.
I chose to use a separate ‘C’ drive, and ‘W’ drive for the 2000 VM. With no idea how much space to give it, I setup a 32GB W drive, which after the build takes up just under 4GB of space. Â
With the VM installed, and the W drive formatted, and the contents of the CD copied over, it’s time to start the build.
So basically you just answer ‘Y’ to zTESTBUILD.cmd and it’ll do it’s thing. For me this took about 42 minutes for this to run until it failed, as expected.
Looking at the \binaries\nt directory there was now 1,274 files currently built. Naturally with the failure this is not a complete build.
After this failure you then re-run zTESTBUILD.cmd but this time answer ‘No’ to the clean build.
This step took about 15 minutes to complete.
Checking the binaries\nt directory there is now 1,293 files and looking at the entire directory there is 2,624 files taking up about 120MB of space.
With the OS compiled, all that remains is to create an install CD and boot it up. running \cdimg\genall.cmd will create the ISO image.
This will compress almost all the files, and took another 15 minutes to create the CD. After this is all done it’s just a matter of setting up a VM to run the NT45Wks.iso file.
The first thing you notice is the extra banners on OpenNT 4.5, when compared to a retail copy of NT 4.0.
And of course the different branding during setup. One of the nice things about OpenNT is that it can format filesystems directly as NTFS, instead of the old way of first creating a FAT partition, and converting it to NTFS. This ought to bypass all the limitations of disk/partition sizes for the older NT.
Running OpenNT 4.5 on VMWare seemed to run the Win32 stuff okay, although Win16/WOW stuff immediately crashed, and MS-DOS was incredibly slow with screen redraw issues. I know that NT 4.0 builds prior to SP 6 have issues with many newer emulation/hypervisors even when CPU levels are set to regular Pentium.
MS-DOS DPMI stuff like DooM are incredibly slow, and seemingly lock up when launching.
Oddly enough the OS/2 subsystem works just fine.
So there it is, the nearly vanished ‘OpenNT 4.5’.
Great post, thanks!
Keep writing — there’re still people out there who love to play with the old stuff.
Or to read about it =)
If only someone had leaked the NT 3.51 source way back when. Now THAT is the version of Windows I want to be able to customize for myself! 🙂
Looks like, a couple of years later, your wish has been realized!
Interesting, thanks! Are the sources i386 only, or is the Alpha/MIPS/PPC/… stuff there too? Once upon a time there was a SPARC port of NT (3.x I guess), which for some reasons was never available for the public.
There is zero mention of the SPARC from what I recall, some mention of the i860 here and there as that was the original platform. There is specification documents, and some early NT OS/2 stuff in there but it’s a massive code base.
There is no publicly available cross compilers for the other NT platforms, so you’d need the native machine. Which kind of rules out the PowerPC/Alpha. Although there is cross compilers to the Windows CE MIPS machines, I went through it ages ago but the floating point is all different in CE vs NT for some weird reason. I wonder if that is another thing they messed up in the Windows Phone (CE) 7 on ARM going to (NT) 8, where they lost all the prior apps…
The hardest thing is to find it?
Really?
You can find later versions..
opennt.eu
I am one of the original developers by the way 🙂
Yes it is the hardest to find. The articles on my site are the #1 hit, with the rest having been expired links or conversations over at BA on the whole thing, again with links going nowhere.
Be sure to setup your domain for auto-renew it’s fallen off the internet so many times. Which leads to these dark periods for years where it’s impossible to find.
Well unfortunately your domain has indeed lapsed.
Pitty.
One of the developers, Stephanos, holds the domain opennt.net, he had discontinued the project and the website redirects to his website.
I do not work with the project either, my website opennt.eu serves as an archive.
Vetusware has old source, I am surprised they managed to get the toolchain working on it to be honest
windows NT 3.5 RC2 source leaked in 4chan /vp/ recently.
Interesting! I’ve also been told of another early NT 3.5 leak as well.
I wonder why none of the Win9x/Win3x sources have ever leaked. Although much has been said about its relative technological inferiority in comparison to NT, it would still be interesting to have a look at how worked internally.
as far as I’m aware no. NT has the NT’ified WOW stuff so it’s kind of Windows 3.1 … Although Ive never looked into seeing how much of WOW actually can run in DOS.
I put this on my VPS, fired up IIS 4.5, and I got hacked. I don’t get it?
Its why we can’t have nice things