-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathautobuild.txt
More file actions
104 lines (79 loc) · 3.99 KB
/
autobuild.txt
File metadata and controls
104 lines (79 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
About Autobuild
===============
Even though, the build process using MINNT build system is fairly easy,
as outlined in minnt.txt, there are still a few manual steps to carry out to
build NTVDMx64 which may get annoying over time.
In order to automate test building during development and also make compiling
easier for the end user (as binaries cannot be supplied), I created an
automated build system that should carry out all necessary steps to build
NTVDMx64. The script can also be used to cleanly update to a new version.
Even though, the building is broken down into steps on purpose, so that
carrying out all the steps should not be needed on every build, there are often
updates that can make a complete rebuild necessary anyway, so it's better to
start off clean.
The extra amount of time needed (i.e. for rebuilding the NTOSBE build system
every time) should be neglegible on modern machines.
The script will automatically download the newest NTVDMx64 build every time
it is run so that you don't have to manually update.
Requirements
============
* MinNT repository with NTVDM with latest commits as of Apr 16, 2017
(q160765803-minint4-85fac4faadc7 or more specifically
MinNT-20170416-85fac4faadc77203db8ddc66af280a75c1b717b0.zip)
opennt.net site contains some hints on where to find it.
* Windows NT4 repository old-src.trunk.r687.20150728.7z
(a.k.a. old-src-sr687.7z)
* An installed version of 7-zip file manager
https://www.7-zip.de
If you are on Windows XP, for downloading via HTTPS:
* wget.exe
http://eternallybored.org/misc/wget/1.19.4/32/wget.exe
The other requirements (as outlined in minnt.txt) are also still required,
but can be downlaoded by the autobuild script automatically.
You need approx. 8GB of free disk space.
Setup MINNT build environment
=============================
The script should theoretically run from any directory, if directory path
length exceeds 30 characters, a virtual SUBST drive letter is created.
To avoid this step, use a build directory with a very short path name,
i.e. C:\NTVDMBLD
1) Place the files from the requirements section in directory:
MinNT-20170416-85fac4faadc77203db8ddc66af280a75c1b717b0.zip
old-src.trunk.r687.20150728.7z
2) Now place the scripts from the autobuild directory there:
autobuild-ccpu-chk.cmd
autobuild-ccpu-fre.cmd
autobuild-haxm-chk.cmd
autobuild-haxm-fre.cmd
3) Depending on your OS version and TLS-capabilities, either put supplied
dwnl.exe
also there, or, if your system is old (like old Win7 version or
Win XP, download
wget.exe
from link above and place it there.
Run build
=========
Now you need to run the appropriate script depending on the version you
want to compile.
There are 2 CPUs available at the moment:
CCPU - The emulated software CPU (default)
HAXM - The VT-x hardware accellerated version, needs supplied driver
Read haxm.txt for details and advantages/disadvantages
If unsure, CCPU is recommended.
There are 2 types of builds available:
chk - Checked, unoptimized debug build (default)
fre - Free, optimized release build
Free build doesn't have any debugging support, but is faster.
So depending on whether your want to debug the NTVDM or want better
performance, choose the appropriate build.
The filename scheme for the appropriate build is autobuildd-CPU-BLD.cmd
So i.e. if you want to compile CCPU free build, just run
autobuild-ccpu-fre.cmd
It will fetch the required .ISOs from Microsoft download server (please keep
them so that you don't have to downnload these big files everytime!), fetch
NTOSBE and the current ntvdmx64 release from github and build in w\ subdirectory.
After build is done, you should find all NTVDMx64 releases in the
releases-subfolder.
Now everytime you want to update ntvdmx64, just re-execute the
autobuild-script and after some compilation time, you should have the most
recent release available for installation.