diff --git a/dashboard/env/windows/README b/dashboard/env/windows/README new file mode 100644 index 00000000..c8a2e390 --- /dev/null +++ b/dashboard/env/windows/README @@ -0,0 +1,70 @@ +Unlike the other operating systems which have a bash script that runs +on Linux and scripts qemu to prepare a GCE image, the Windows image +builder image is prepared by hand, following this list of +instructions: + +-- in GCE, create a new Windows 2008 server instance. Set its initial username + to "wingopher" and the password to something. + +-- boot it. first boot is slow. + +-- Connect with RDP to it. (I used the OS X Microsoft Remote Desktop + in the Mac App Store) + +-- In initial “Initial Configuration Tasks” window: + * disable automatic installation of updates. They’ll just interrupt + the builds later. And we don't care about security since this isn't + going to be Internet-facing. No ports will be accessible + * disable Windows Error Report (“Not participating”) + +TODO: disable the Windows firewall too. might break some outgoing net + tests? Figure out where to do this. + +-- Enable auto-login: + * Start > Run > Open: "control userpasswords2" [OK] + * Uncheck the "Users must enter a user name..." box (it already was + unchecked for me) + * Press "OK" + * Enter password twice. + +-- Download winstrap. + * Bring up cmd.exe (Start > Run > "cmd" [OK]) + * Copy/paste (Right click: paste) this into cmd.exe: + + bitsadmin /transfer mydownloadjob /download /priority normal https://storage.googleapis.com/winstrap/winstrap-2015-01-03-440bb77.exe c:\users\wingopher\Desktop\winstrap.exe + + * It should appear on the desktop. + +-- double click winstrap. type "go" and press . abort it once + it's downloaded everything. (close the window) + +-- make the Buildlet start on boot: + * Start > All Programs > right click "Startup" + * Right-mouse-drag "Start Buildlet" from the desktop (from winstrap) to the + Startup folder and "Create shortcuts here" + +-- Install git with middle option: "Use Git from Windows Command Prompt", + otherwise all the defaults. + +-- click yes yes yes on the tdm64-gcc installer question defaults. + Then do the tdm64-gcc installer again but do 32-bit this time. You + should then have two TDM installs at c:\TDM-GCC-64 and + c:\TDM-GCC-32. Don’t pick other locations. The gobuilder adds + those to your path. + +TODO(bradfitz): this document is incomplete. Cover gcesysprep, +regedit(?), windows-startup-script-cmd, etc. And I think winstrap +will need to write things to something outside of C:\Users, since +sysprep on reboot nukes all users, at least on GCE. We probably need +to run the buildlet's stage0 from the windows-startup-script-cmd. Find +& ask Windows experts. + +-- + +Docs: +http://www.win2008workstation.com/configure-auto-logon/ +https://cloud.google.com/compute/docs/operating-systems/windows + -- notably "windows-startup-script-cmd" ala: + gcloud compute instances add-metadata --zone --metadata windows-startup-script-cmd="net user " +https://github.com/golang/winstrap +http://golang.org/s/windowsbuilderhowto