ReferencePlatforms/Test/Win7 64-bit

From MozillaWiki
Jump to: navigation, search

Basic OS Setup

  • Automatic Updates
    • Start Menu -> Control Panel -> Windows Update
      • Install all critical updates. At the time of creation, these were available and installed:
        • KB971033, KB982632, KB982381, KB981793, KB981332, KB980408, KB980232, KB980218, KB980195, KB979916, KB979683, KB979559, KB979482, KB979309, KB979099, KB978637, KB978601, KB978542, KB977863, KB977074, KB976972, KB976662, KB976264, KB975560, KB975496, KB975467, KB974571, KB974431, KB972270, KB971468
    • Change Settings -> "Never Check For Updates"
    • Click "OK"
  • Turn off Windows Firewall
    • Control Panel -> System and Security -> Windows Firewall -> Turn Windows Firewall on or off -> "Turn Windows Firewall Off" (in both spots).
    • Click "OK".
  • Turn off Screensaver
    • Right click on Desktop -> "Personalize" -> Screen Saver
    • Select "None", click "OK"
  • Turn off Bluetooth
    • Start Menu -> Control Panel -> Network and Sharing Center -> Manage Adapter Settings
    • Right click on Bluetooth Network Connection -> Disable
  • Set up auto-login for cltbld
    • Start Menu -> 'netplwiz' -> Uncheck "Users must enter a username and password", click "OK", Enter Password

VNC

620329f947b7085e9361f9631e45ecf8 *UltraVN1.0.8.2_x64_Setup.exe
  • Install UltraVNC 1.0.8.2
    • Defaults up until "Additional Tasks" screen
    • Register UltraVNC as a Service
    • Start or restart UltraVNC
    • Stop 'uvnc_service'.
    • Browse to c:\program files\ultravnc and run 'winvnc.exe' as administrator (right click => 'run an administrator').
      • Use the following options:
      • Ports:
        • Main: 5900
      • [ ] Use Java Viewer
      • File Transfer
        • [ ] Enable
        • [ ] User Impersonation
    • Restart the computer

From this point forward do NOT logon with RDP. It will break the VNC service.

SSH

Install the KTS SSH server, copy the key from another machine (Goes into c:\program files (x86)\kts\kts.ini)

5ea25269b460ac3b99a5495a6602210a *kts118.exe

MozillaBuild

4c952845f1cd7d6ff15c73d18ba5743d *MozillaBuildSetup-1.4.exe
  • Install MozillaBuild through the installer with all the default options.
  • Start Menu -> Right click "Computer" -> Properties -> Advanced System Settings -> Environment Variables
    • Append "c:\mozilla-build\msys\bin;c:\mozilla-build\hg;c:\mozilla-build\vim\vim72;c:\mozilla-build\python25;c:\mozilla-build\python25\scripts;c:\mozilla-build\7zip;c:\mozilla-build\info-zip; c:\mozilla-build\wget" to the system PATH variable.
  • Import the following registry file:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.5\InstallPath]
@="c:\\mozilla-build\\python25"

Talos toolchain

6a21eda4fd11176b3817f813e6114ad3 *Twisted-9.0.0.win32-py2.5.exe
d51f6a4dff29eabf34054903d758f003 *simplejson-2.1.1.win32-py2.5.exe
90492a3b47b71ac9472a4b9719c40d21 *PyYAML-3.09.win32-py2.5.exe
c7bd4ed060dbb6164caa568a59fab835 *nircmd.zip
  • Install Twisted with installer using all defaults
    • Apply patches with:
cd c:\users\cltbld\downloads
wget -Ob128.patch --no-check-certificate http://hg.mozilla.org/build/twisted/raw-rev/0b441f0f68b4
wget -Osubproc.patch --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=451277
cd c:\mozilla-build\python25\lib\site-packages
patch -p0 < c:\users\cltbld\downloads\b128.patch
cd twisted
patch -p0 < c:\users\cltbld\downloads\subproc.patch
  • Install Simplejson with installer, use "Run as Administrator", all defaults
  • Install PyYAML with installer, use "Run as Administrator", all defaults
  • nircmd.exe:
copy nircmd.exe c:\
  • Tools repository:
cd c:\
hg clone http://hg.mozilla.org/tools

Apache

449d033ebcc056ec1f203c6a59f9b2bd *httpd-2.2.15-win32-x86-no_ssl.msi
  • Download and install Apache version 2.2.15
  • Set 'Network Domain' and 'Server Name' to 'localhost'.
  • Create an empty directory so Apache doesn't complain:
mkdir c:/talos-slave/talos-data/talos
  • Change DocumentRoot and 'C:/Program Files..." <Directory> tag to 'c:/talos-slave/talos-data/talos'.
  • Turn off logging, remove any lines that begin with "CustomLog"
  • Reboot

Buildbot Startup / Post-clone automation

Install Buildbot

Install Buildbot using the following batch script. You will need to find a way to get this batch script onto the system. This installs buildbot into %mozillabuild%\buildbotve, using the version in the SET at the top. It gets Python packages from the puppet master specified in pkg_root. Note that runas /administrator doesn't work in W7, so you'll need to use VNC to install runslave.py (below)

@echo off
SET version=0.8.4-pre-moz2

REM find mozillabuild
SET mozillabuild=d:\mozilla-build
SET mozilladrive=d:
IF NOT EXIST %mozillabuild%\nul (
    SET mozillabuild=c:\mozilla-build
    SET mozilladrive=c:
)

REM find python - some machines have python26, some have python25
SET pythondir=%mozillabuild%\python25\
SET pythondll=python25.dll
IF NOT EXIST %pythondir%\python.exe (
    REM python26 isn't in a versioned directory for some reason
    SET pythondir=%mozillabuild%\python
    SET pythondll=python26.dll
)

SET python=%pythondir%\python.exe
SET pkg_root=http://production-puppet.build.mozilla.org/production/python-packages
SET virtualenv=%mozillabuild%\buildbotve

REM get set up
rmdir /s /q %virtualenv%
if ERRORLEVEL 1 exit /b 1
MKDIR %virtualenv%
if ERRORLEVEL 1 exit /b 1

%mozilladrive%
cd %virtualenv%


REM On systems where Python is not installed systemwide, the python.exe in the virtualenv
REM will not be able to find PYTHON*.DLL, so we copy it there "manually"
MKDIR %virtualenv%\scripts
if ERRORLEVEL 1 exit /b 1

COPY %pythondir%\%pythondll% %virtualenv%\scripts
if ERRORLEVEL 1 exit /b 1


REM get the prerequisites for a virtualenv
%mozillabuild%\wget\wget %pkg_root%/virtualenv.py
if ERRORLEVEL 1 exit /b 1

%mozillabuild%\wget\wget %pkg_root%/pip-0.8.2.tar.gz
if ERRORLEVEL 1 exit /b 1

%mozillabuild%\wget\wget %pkg_root%/distribute-0.6.14.tar.gz
if ERRORLEVEL 1 exit /b 1


REM create the virtualenv
%python% virtualenv.py --python=%python% --distribute %virtualenv%
if ERRORLEVEL 1 exit /b 1


REM populate it
.\scripts\pip install --no-deps --no-index --find-links=%pkg_root% zope.interface==3.6.1
if ERRORLEVEL 1 exit /b 1

.\scripts\pip install --no-deps --no-index --find-links=%pkg_root% buildbot-slave==%version%
if ERRORLEVEL 1 exit /b 1

.\scripts\pip install --no-deps --no-index --find-links=%pkg_root% buildbot==%version%
if ERRORLEVEL 1 exit /b 1

REM note that this version of Twisted has been modified to not require a
REM compiler; see the puppet manifests for details
.\scripts\pip install --no-deps --no-index --find-links=%pkg_root% twisted==10.2.0
if ERRORLEVEL 1 exit /b 1

.\scripts\pip install --no-deps --no-index --find-links=%pkg_root% simplejson==2.1.3
if ERRORLEVEL 1 exit /b 1

You will need to do this with administrator privs. The only way to get these privs is to right-click "Command Prompt" on the start menu, and select "Run as Administrator". Then use 'wget' to download the file.

REM REMEMBER: "Run as Administrator"
wget -O c:\runslave.py http://hg.mozilla.org/build/puppet-manifests/raw-file/tip/modules/buildslave/files/runslave.py
dir C:\runslave.py


The Task Scheduler is used to start Buildbot on boot. To enable it, run the following in a cmd window:

cd c:\users\cltbld\desktop
wget -OstartTalos.bat --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=451304
wget -O"talos slave.xml" --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=451305
schtasks /create /xml "talos slave.xml" /tn slave

Deploy slave-alloc

  • Install [hg.mozilla.org/build/puppet-manifests/raw-file/61c0b7a13f40/modules/buildslave/files/runslave.py runslave.py] in C:\
    • You will need to do this with administrator privs. The only way to get these privs is to right-click "Command Prompt" on the start menu, and select "Run as Administrator". Then use 'wget' to download the file.
REM REMEMBER: "Run as Administrator"
wget -O c:\runslave.py hg.mozilla.org/build/puppet-manifests/raw-file/61c0b7a13f40/modules/buildslave/files/runslave.py
dir C:\runslave.py
 del "c:\Users\cltbld\Desktop\startTalos.bat"
 wget -O "c:\Users\cltbld\Desktop\startTalos.bat" http://hg.mozilla.org/build/puppet-manifests/raw-file/71c387ce1433/modules/buildslave/files/startTalos-w764.bat
  • set startTalos.bat to start on run
    • see https://bugzilla.mozilla.org/show_bug.cgi?id=430832#c1 although details are vague
    • In Task Manager, add a new task:
      • Run in C:\, run as cltbld, run only when logged in, run with highest priviledges
      • Triggers: at log on
      • Action: start c:\Users\cltbld\Desktop\startTalos.bat
      • Conditions: stop if idle ceases, start only on AC power, stop on switch to battery
      • Settings: Allow to run on demand, stop if running for more than 3 days, force stop if it does not stop when requested

Path Verification

With all of this done, the %PATH% should be:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\python26;c:\python26\scripts;C:\Program Files (x86)\GnuWin32\bin;c:\mozilla-build\msys\bin;c:\mozilla-build\hg;c:\mozilla-build\vim\vim72;c:\mozilla-build\python25;c:\mozilla-build\7zip;c:\mozilla-build\info-zip;c:\mozilla-build\wget;c:\mozilla-build\python25\scripts

DirectX runtime (June 2010)

See bug 671260

wget http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe
directx_Jun2010_redist.exe
  • After you extract it you want to call DXSetup.exe

Stored at:

[cltbld@dev-stage01 ~]$ cd /home/ftp/pub/mozilla.org/mozilla/libraries/win32/
[cltbld@dev-stage01 win32]$ md5sum directx_Jun2010_redist.exe 
7c1fc2021cf57fed3c25c9b03cd0c31a  directx_Jun2010_redist.exe

NVidia drivers update (Version: 260.99; Date: 2010.10.25)

See bug 671260. Read more about the driver in this link.

wget http://us.download.nvidia.com/Windows/260.99/260.99_desktop_win7_winvista_64bit_english_whql.exe
C:\Users\cltbld\Downloads\260.99_desktop_win7_winvista_64bit_english_whql.exe

Stored at:

[cltbld@dev-stage01 ~]$ cd /home/ftp/pub/mozilla.org/mozilla/libraries/win32/
[cltbld@dev-stage01 win32]$ md5sum 260.99_desktop_win7_winvista_64bit_english_whql.exe 
12173623a1980ffb3d1a0ab78d3232be  260.99_desktop_win7_winvista_64bit_english_whql.exe

Mozilla maintenance service, associated registry keys, Mozilla test CA root

bug 704578

cd c:\
wget -O installservice.bat --no-check-certificate https://bug704578.bugzilla.mozilla.org/attachment.cgi?id=579099
schtasks /create /tn mozillamaintenance /tr "c:\\windows\\system32\\cmd.exe /c \"c:\\installservice.bat\"" /sc ONSTART /ru SYSTEM
wget -O keys.reg --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=577617
regedit /s keys.reg
wget -O MozRoot.crt --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=577619
wget -O add_cert.msc --no-check-certificate https://bugzilla.mozilla.org/attachment.cgi?id=579119
start add_cert.msc
  • From menu: Action -> All Tasks -> Import... launches Certificate Import Wizard
  • Click Next
  • Browse and use C:\MozRoot.crt
  • Next, Next, Finish
  • Close the MMC window