Building Windows 2003

Internal Developer Server or Workstation for Windows Server 2003

Microsoft Acedemic Program

The Official Build Number of the XP/2003 source is 5.1.2600.6000

Make a Windows 2000 Advanced Server or Server 2003 or 2003 R2 Virtual Machine with SFU for 2003 and SUA for 2003 R2. Your UNIX source should go in SFU or SUA usr->src directory AT&T System V or SCO V5 or V6 is fine.

If you need to use 'expand /r' to X:\ENGLISH\WIN2003\ENT\I386\* D:\binaries.x86fre from a retail DVD.

1. Set the Signing Certificate

certmgr -add D:\NT\tools\testpca.cer -r localMachine -s ca
Run tools\checktestroot.cmd and checktestca.cmd 

2. Setting Razzle

tools\razzle free offline or tools\razzle win64 amd64 free offline    

or for checked     

tools\razzle offline or tools\razzle win64 amd64 offline 
Make a PROJECT_ROOT and a private directory and make one NT project
tools\ntnewver.cmd is incomplete to complete it copy ntos, and the sdktools 
directory into a private directory. Bring in the sdk and ddk soureces into 
your private directory if you want and start with the 'Begin' project 
Any maybe the VS directory in the sdktools debuggers directory and 
make a new enlistment or NT Project. Next use the source depot templates 
to set up source depot.
Rename 'projects.map' in the tools directory to 'sd.map' and place in 
the root of the NT directory.
3. Build or find xcopy and findstr from the RTM DVD and place on path

4. Setting the Path:

path %path%;D:\NT\tools\perl\bin;D:\binaries.x86fre;D:\NT\tools\sp;D:\NT\tools\x86
set sdxroot=D:\NT
enlist projects ex: sdx enlist NT master com -c 
tools\ntnewver.cmd
\\%COMPUTERNAME%.main.x86.fre in BuildMachine.txt

We look in BuildMachines.txt for the machine name, branch, architecture,and build type. If we find a match, then we set OFFICIAL_BUILD_MACHINE to the appropriate value ("primary" or "secondary") look for the the offical build machine client in sdktools->debuggers->vs->enlistment->sd.ini.txt.

tools\verifybuildmachine.cmd
perl xcopy2binplace.pl

You can compile the Lab 01 down to about 8 errors the rest of the Labs and Operating System shouldn't have any errors. You should have the research kernel to muck around with also from college, needing to comment out the Longhorn additions in revision 6000, files beginning with 'dp' are Longhorn files. The 'dp' files are not in the 'Longhorn' beta LDK they maybe in a IDW or internal developer workstation release if I can find one. Maybe look in Embedded 2009 for supported hardware and maybe learning what PCI hardware and coding the plug n' play to support in the NT Kernel. The PCI codes you can use now a days in 2024 is Linux and you might want to remove some of the cheap hardware.

  • Lab01: Kernel
  • Copy the base\ntos directory and all of it's files to Lab01 it might be a virtual lab 
    in source depot and it is a physical lab.
    CD to base\busdrv\isapnp and use the message compiler to generate 'message.h'
    Make pcicodes.h using the message compiler too. This file goes in base\busdrv\pci
    build -cz 
    delobj.cmd to clean the source tree
  • Lab02: Networking
  • Copy the NT\net directory to Lab02. The Network Stack or Lab will build without error in the Vitrual Lab. 
         You might have issues in the Pysical Lab
    build -cz
    delobj.cmd to clean the source tree
  • Lab03: Server[c]
  • Copy the Entire Server folder from nt5src.7z to Lab03
    The entire Server build should build with about 20 shipping errors and take about 6 hrs for a 
        free build and 12 hrs for a checked.
    build -cz
    delobj.cmd to clean the source tree
  • Lab04: Terminal Services[1]
  • Copy NT\termsrv directory to Lab04. The Terminal Services Stack should build without error in the Virtual Lab.
    		You might have issues in the Physical Lab.
    	
    build -cz
    delobj.cmd to clean the source tree
  • Lab05: Shared Source Common Language infustructure
  • However the Beta Wiki doesn't list a Lab 05 I believe it's either the SSCLI or the COM Stack. With the .NET Framework.
    To build the SSCLI you need Visual Studio 2005 Professional or higher in a 2000 or 2003 Virtual Machine. And Active State 
    	Perl ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi or ActivePerl-5.16.3.1603-MSWin32-x64-296746.msi for 64-Bit
    	
    extract the sscli20_20060311.tgz for 2.0 or 1.0 sscli_20021101.tgz sscli_ref_20021101.tgz and and Gyro Genetrics with 1.0 
    	and execute env.bat at the root of the directory. To set the free or checked environment then execute buildall.cmd.
    To build the COM stack run build -cz in the root of the COM directory or lab.
  • Lab06: User interface
  • Copy NT\shell directory to Lab06. The UI Stack should build without error in the Virtual Lab.
    		You might have issues in the Physical Lab. With the GNUmakfile
    	
    build -cz
    delobj.cmd to clean the source tree
  • Lab07: Internet Information Services/COM+
  • Copy NT\inetsrv directory to Lab07. The IIS Stack should build without error in the Virtual Lab.
    		You might have issues in the Physical Lab.
    	
    build -cz
    delobj.cmd to clean the source tree

    build individual projects

    in the directory of a makefile with build -cz

    or

    build the whole operating system

    perl tools\timebuild.pl -NOCLEANBUILD -NOSYNC -NOSCORCH 
    If you want to wait 6 to 12 hours for a new clean build you'll type this:
    perl tools\timebuild.pl -!NOCLEANBUILD -NOSYNC -NOSCORCH  -NOPOSTBUILD
    build -cz

    POSTBUILD:

    We only create boot floppy images on fre compressed i386 builds.

    tools\postbuildscripts\sanitycheckunicodefiles.cmd

    Generate the winnt32.msi for different SKUs

    tools\postbuildscripts\winnt32msi.cmd
    tools\postbuildscripts\makebuildname.cmd
    tools\postbuildscripts\cdimage.cmd -d Release
    move delobj.cmd the the tools directory to the NT Root and clean the source tree by deleting 
    all the object files. After the build.

    Close Razzle Window run the VC7 vcvars32.bat from the VCBuilt share and set _NTTREE environment variable. Which is the binaries directory.

    path %path%;D:\binaries.x86fre\bldtools

    Copy the 'copyddkfiles.cmd' the the NT\base\ddk directory for the tools directory run:

    copyddkfiles.cmd ddk_base.ini ddk D:\NT\base

    It should begin to copy the ddk files you will need to edit the ddk, hal, IFS INI files to fit your kit needs.

    You might want to learn how to make a service pack.

    cd to D:\NT\tools\postbuildscripts\svcpack\ and open spcab.cmd and set the FILELIST CABNAME and 
    EVENTNAME using the gold directory text files as a FILENAME

    After the build run the post build batch file in the tools directory and read the error log you shouldn't get any errors in Windows XP/2003 Professional Edition.

    certmgr.msc, go to Trusted Root Certification Authorities\Certificates and remove the 
    Microsoft Test Root Authority certificate, Sign out and Sign in again. The 'For Testing Purposes' 
    Watermark should now be removed.

    It takes 6 hours to build a Free Build and 12 hrs a Checked.

    After the build the Active Directory Migration Tools and Debugging Tools should be built. After the post build very edition and every supported language should be built. In the binaries directory the usa default build should be revision 6000 leading up to Windows Embedded 2009. After the Windows 6000 revision source build you might want to use the SLD files in the 'mantis' folder with XP embedded and make a Embedded Windows repository and engineer 2003 revision 6000 which was released in Embedded 2009. You can compile the Operating System down to about 16 errors needing to remove the Longhorn additions in revision 6000 maybe look in Embedded 2009 for supported hardware and maybe learning what PCI hardware and coding the plug n' play to support in the NT Kernel. The PCI codes you can use now a days in 2024 is Linux and you might want to remove some of the cheap hardware.

    The Boot Process for XP/2003 is:

    Use Bootsect to write MBR and boot sector.

    bootsect /nt52. e:

    NTLDR, Ntdetect.com, Ntbootdd.sys, Ntoskrnl.exe, hal.dll, smss.exe, winlogon.exe, Service Contol Manager SCM

    In a free build the kernel may not build you may have to to use the Windows Research Kernel. Microsoft does not give you the source to WinLogon even in the SSLIP. It's named Winlogon.exe.lc

    A build lab (or simply a lab) commonly refers to a Microsoft Windows source code branch. By extension, it can also refer to the team that works on this branch.

    Microsoft has used multiple prefixes to refer to feature branches over time:

    Setting up a Public Symbol Server

    You can use the Symchk tool to check to see if the Symbol file is public or private.

    Release branch prefixes

    Mono is acedemic .NET Framework

    Here are the Windows Build Instructions.

    Similarly to the previous system, the main branch is forked off before release to contain update development. The following is the list of known prefixes:

    You might want to install the Longhorn Driver Kit or LDK and SDK the Samples from the SDK or in the PDC 2003 Whideby DVD and the SDK Help. Here is a link to the 2003 PDCand PDC 2003 Whideby DVD

    In the LDK Samples you might want to start a GIT Repo in the OS directory. Per kind of the Offical Windows Repo here:Microsoft.UI.Xaml v2.1.190405004.2in the Windows Porting Directory and here: You need a login.

    git clone https://microsoft.visualstudio.com/os/_git/os 

    On Windows 10 you might was to install Scalar

    VFS for Git: Git at Enterprise Scale
    Download the Windows API Code Pack extract it.
    Download it from my Sharepoint drive

    You can read about the Windows API Code Pack from the Code Project here

    Please refactor with Visual Studio 2017, 2019 on 10 or 2005 in the XP VM,
    the namespace 'Microsoft.WindowsAPICodePack' to 'Microsoft.Windows'
    Set up a Lab03_N a buffer lab with a "N' NOT A FINAL LAB. with the 7 IDW SDK, IDW DDK, .NET Framework 3.0 Reference Source, 
    Symbols and Classic Samples. And it wont be a Final lab until we get more source from the KGB in Russia.
    Or Install the 2008 SDK and WDK copy the 6.1 and sdk files to a Lab03_n and take note the the 
    7 samples directory is really your 'NT' 
    directory
    and compare both sdk and wdk with directories with windiff and carefully go through the samples and src directories and 
    compare and recreate Lab03 save both setenv.bat files and name the apporiate files setenv.sdk and setenv.ddk.
    After your done and you set the ddk environment. You can set up the VS Directory with SharpDevelop,  
    The Common Compiler Infustructure, Dafney, .NET Framework 3.0 Reference Source,Symbols Windows API Code Pack, 
    The Visual Studio Project System and Spec#.
    Set up a Lab03_N with the Vista IDW SDK, IDW DDK and Classic Samples. Join USEINIX, 
    and the ACM and try and find Vista Microsoft Research Papers.

    Here is a VAD Tree acedemic paper