veewee 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +75 -0
  3. data/lib/veewee.rb +2 -0
  4. data/lib/veewee/command.rb +1 -59
  5. data/lib/veewee/command/basebox.rb +63 -0
  6. data/lib/veewee/command/basebox_build.rb +32 -0
  7. data/lib/veewee/command/basebox_define.rb +28 -0
  8. data/lib/veewee/command/basebox_destroy.rb +22 -0
  9. data/lib/veewee/command/basebox_export.rb +22 -0
  10. data/lib/veewee/command/basebox_list.rb +23 -0
  11. data/lib/veewee/command/basebox_ostypes.rb +23 -0
  12. data/lib/veewee/command/basebox_templates.rb +23 -0
  13. data/lib/veewee/command/basebox_undefine.rb +22 -0
  14. data/lib/veewee/command/basebox_validate.rb +26 -0
  15. data/lib/veewee/config.rb +1 -2
  16. data/lib/veewee/version.rb +1 -1
  17. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +1 -1
  18. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +12 -4
  19. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +15 -0
  20. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +37 -0
  21. data/templates/CentOS-6.2-x86_64-minimal/postinstall.sh +50 -0
  22. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +1127 -0
  23. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +1127 -0
  24. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +37 -0
  25. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +43 -0
  26. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +1171 -0
  27. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +1171 -0
  28. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +37 -0
  29. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +43 -0
  30. data/templates/funtoo-latest-generic_64-stable/definition.rb +34 -0
  31. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +177 -0
  32. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +83 -0
  33. data/templates/gentoo-latest-x86_64-experimental/definition.rb +4 -4
  34. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +2 -2
  35. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +1483 -0
  36. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +1483 -0
  37. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +44 -0
  38. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +43 -0
  39. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +1727 -0
  40. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +1727 -0
  41. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +44 -0
  42. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +43 -0
  43. data/templates/openbsd50_amd64/README +28 -0
  44. data/templates/openbsd50_amd64/definition.rb +84 -0
  45. data/templates/openbsd50_amd64/postinstall.sh +81 -0
  46. data/templates/openbsd50_i386/.definition.rb.swp +0 -0
  47. data/templates/openbsd50_i386/README +28 -0
  48. data/templates/openbsd50_i386/definition.rb +84 -0
  49. data/templates/openbsd50_i386/postinstall.sh +80 -0
  50. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +146 -0
  51. data/templates/windows-2008R1-serverstandard-amd64/README.md +134 -0
  52. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  53. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +114 -0
  54. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +40 -0
  55. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +5 -0
  56. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +14 -0
  57. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  58. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +74 -0
  59. data/templates/windows-2008R1-serverstandard-amd64/sudo +2 -0
  60. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +8 -0
  61. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  62. data/templates/windows-2008R2-amd64/install-winrm.bat +2 -0
  63. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +147 -0
  64. data/templates/windows-2008R2-serverstandard-amd64/README.md +142 -0
  65. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +44 -0
  66. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  67. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +11 -0
  68. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  69. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +74 -0
  70. data/templates/windows-7-enterprise-amd64/Autounattend.xml +149 -0
  71. data/templates/windows-7-enterprise-amd64/README.md +52 -0
  72. data/templates/windows-7-enterprise-amd64/definition.rb +39 -0
  73. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +40 -0
  74. data/templates/windows-7-enterprise-amd64/install-winrm.bat +14 -0
  75. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  76. data/templates/windows-7-enterprise-amd64/postinstall.sh +74 -0
  77. data/templates/windows-7-enterprise-i386/Autounattend.xml +151 -0
  78. data/templates/windows-7-enterprise-i386/README.md +169 -0
  79. data/templates/windows-7-enterprise-i386/definition.rb +40 -0
  80. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +40 -0
  81. data/templates/windows-7-enterprise-i386/install-winrm.bat +14 -0
  82. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  83. data/templates/windows-7-enterprise-i386/postinstall.sh +74 -0
  84. data/templates/windows-7-premium-amd64/Autounattend.xml +152 -0
  85. data/templates/windows-7-premium-amd64/README.md +171 -0
  86. data/templates/windows-7-premium-amd64/definition.rb +38 -0
  87. data/templates/windows-7-premium-amd64/install-chefclient.bat +44 -0
  88. data/templates/windows-7-premium-amd64/install-winrm.bat +11 -0
  89. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  90. data/templates/windows-7-premium-amd64/postinstall.sh +124 -0
  91. data/templates/windows-7-premium-amd64/winrm.rb +8 -0
  92. data/templates/windows-7-professional-amd64/Autounattend.xml +152 -0
  93. data/templates/windows-7-professional-amd64/README.md +171 -0
  94. data/templates/windows-7-professional-amd64/definition.rb +41 -0
  95. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +40 -0
  96. data/templates/windows-7-professional-amd64/install-winrm.bat +14 -0
  97. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  98. data/templates/windows-7-professional-amd64/postinstall.sh +74 -0
  99. data/templates/windows-7-ultimate-amd64/Autounattend.xml +152 -0
  100. data/templates/windows-7-ultimate-amd64/README.md +89 -0
  101. data/templates/windows-7-ultimate-amd64/definition.rb +41 -0
  102. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  103. data/templates/windows-7-ultimate-amd64/install-winrm.bat +14 -0
  104. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  105. data/templates/windows-7-ultimate-amd64/postinstall.sh +74 -0
  106. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +152 -0
  107. data/templates/windows-7sp1-ultimate-amd64/README.md +89 -0
  108. data/templates/windows-7sp1-ultimate-amd64/definition.rb +42 -0
  109. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  110. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +14 -0
  111. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  112. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +74 -0
  113. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +140 -0
  114. data/templates/windows-8-preview-dev-amd64/README.md +134 -0
  115. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  116. data/templates/windows-8-preview-dev-amd64/definition.rb +114 -0
  117. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +38 -0
  118. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +11 -0
  119. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  120. data/templates/windows-8-preview-dev-amd64/postinstall.sh +122 -0
  121. data/templates/windows-8-preview-dev-amd64/winrm.rb +8 -0
  122. data/veewee.gemspec +3 -2
  123. metadata +162 -34
@@ -0,0 +1,89 @@
1
+ This uses the All In One "Windows 7 7600 AIO.ISO" from MSDN
2
+ file: Windows 7 7600 AIO.ISO
3
+ md5sum: ace6c61269613bf515fd59c62185bbcf
4
+
5
+ '''
6
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
7
+
8
+ Deployment Image Servicing and Management tool
9
+ Version: 6.1.7600.16385
10
+
11
+ Details for image : d:\sources\install.wim
12
+
13
+ Index : 1
14
+ Name : Windows 7 STARTER
15
+ Description : Windows 7 STARTER
16
+ Size : 7,936,340,784 bytes
17
+
18
+ Index : 2
19
+ Name : Windows 7 HOMEBASIC
20
+ Description : Windows 7 HOMEBASIC
21
+ Size : 7,992,394,907 bytes
22
+
23
+ Index : 3
24
+ Name : Windows 7 HOMEPREMIUM
25
+ Description : Windows 7 HOMEPREMIUM
26
+ Size : 8,432,859,356 bytes
27
+
28
+ Index : 4
29
+ Name : Windows 7 PROFESSIONAL
30
+ Description : Windows 7 PROFESSIONAL
31
+ Size : 8,313,318,889 bytes
32
+
33
+ Index : 5
34
+ Name : Windows 7 ULTIMATE
35
+ Description : Windows 7 ULTIMATE
36
+ Size : 8,471,060,645 bytes
37
+
38
+ Index : 6
39
+ Name : Windows 7 Home Basic X64
40
+ Description : Windows 7 HOMEBASIC
41
+ Size : 11,500,789,302 bytes
42
+
43
+ Index : 7
44
+ Name : Windows 7 Home Premium X64
45
+ Description : Windows 7 HOMEPREMIUM
46
+ Size : 12,012,660,212 bytes
47
+
48
+ Index : 8
49
+ Name : Windows 7 Home Professional X64
50
+ Description : Windows 7 PROFESSIONAL
51
+ Size : 11,910,752,928 bytes
52
+
53
+ Index : 9
54
+ Name : Windows 7 Home Ultimate X64
55
+ Description : Windows 7 ULTIMATE
56
+ Size : 12,070,211,908 bytes
57
+
58
+ The operation completed successfully.
59
+ '''
60
+
61
+ - place it in a directory called iso
62
+
63
+ The installation uses the Standard way for Windows Unattended installation. The XML file was created using the Windows AIK kit, but the file can also be edited by hand.
64
+
65
+ To edit the Autounattend.xml and validate it:
66
+ You can download The Windows® Automated Installation Kit (AIK) for Windows® 7:
67
+ url: http://www.microsoft.com/download/en/details.aspx?id=5753
68
+ file: KB3AIK_EN.iso
69
+ md5sum: 1e73b24a89eceab9d50585b92db5482f
70
+
71
+
72
+
73
+ - Building the machine creates a floppy that contains:
74
+ - AutoUnattend.xml (that will configure the windows)
75
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
76
+
77
+ AIK also includes dism, which will allow you to choose a specific version:
78
+
79
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
80
+ one of the names listed in the sources/install.wim on the install DVD .iso
81
+
82
+ # <InstallFrom>
83
+ # <MetaData wcm:action="add">
84
+ # <Key>/IMAGE/NAME</Key>
85
+ # <Value>Windows 7 ULTIMATE</Value>
86
+ # </MetaData>
87
+ # </InstallFrom>
88
+
89
+
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ #video memory size should be at least 32meg for windows 7 to do full screen on my desktop
3
+ # I'm not sure how to set that with veewee::session yet
4
+ Veewee::Session.declare({
5
+ :os_type_id => 'Windows7_64',
6
+ :iso_file => "X17-24395.iso",
7
+ # https://sites.google.com/site/linuxlablibrary/windows-7-iso
8
+ :iso_src => "http://msft.digitalrivercontent.net/win/X17-24395.iso",
9
+ :iso_md5 => "56a26636ec667799f5a7f42f142c772d",
10
+ :iso_download_timeout => "100000",
11
+
12
+ :cpu_count => '1',
13
+ :memory_size=> '512',
14
+ :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off',
15
+
16
+ :floppy_files => [
17
+ "Autounattend.xml",
18
+ "install-winrm.bat",
19
+ "oracle-cert.cer",
20
+ "install-cygwin-sshd.bat"
21
+ ],
22
+
23
+
24
+ :boot_wait => "720", #12 minutes.. should be long enough
25
+ # this is waiting for the screene where we could put in our product key
26
+ # this is the command sequence to bybass it and to not try to register once online
27
+ :boot_cmd_sequence => [
28
+ '<Tab><Spacebar><Tab><Tab><Tab><Spacebar>'
29
+ ],
30
+
31
+ :ssh_login_timeout => "10000",
32
+ # Actively attempt to winrm (no ssh on base windows) in for 10000 seconds
33
+ :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
34
+ :ssh_host_port => "59857", :ssh_guest_port => "22",
35
+ # And run postinstall.sh for up to 10000 seconds
36
+ :postinstall_timeout => "10000",
37
+ :postinstall_files => ["postinstall.sh"],
38
+ # No sudo on windows
39
+ :sudo_cmd => "sh '%f'",
40
+ # Shutdown is different as well
41
+ :shutdown_cmd => "shutdown /s /t 0 /c \"Vagrant Shutdown\" /f /d p:4:1",
42
+ })
@@ -0,0 +1,40 @@
1
+ REM http://webcache.googleusercontent.com/search?q=cache:SjoPPpuQxuoJ:www.tcm.phy.cam.ac.uk/~mr349/cygwin_install.html+install+cygwin+ssh+commandline&cd=2&hl=nl&ct=clnk&gl=be&source=www.google.be
2
+
3
+ REM create the cygwin directory
4
+ cmd /c mkdir %SystemDrive%\cygwin
5
+
6
+ cmd /c bitsadmin /transfer CygwinSetupExe /download /priority normal http://www.cygwin.com/setup.exe %SystemDrive%\cygwin\cygwin-setup.exe
7
+
8
+ REM goto a temp directory
9
+ cd %SystemDrive%\windows\temp
10
+
11
+ REM run the installation
12
+ cmd /c %SystemDrive%\cygwin\cygwin-setup.exe -q -R %SystemDrive%\cygwin -P openssh,openssl,curl,cygrunsrv,wget,rebase,vim -s http://cygwin.mirrors.pair.com
13
+
14
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin cygrunsrv -R sshd'
15
+
16
+ REM /bin/ash is the right shell for this command
17
+ cmd /c %SystemDrive%\cygwin\bin\ash -c /bin/rebaseall
18
+
19
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkgroup -l'>%SystemDrive%\cygwin\etc\group
20
+
21
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkpasswd -l'>%SystemDrive%\cygwin\etc\passwd
22
+
23
+ %SystemDrive%\cygwin\usr\bin\sleep 1
24
+
25
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin /usr/bin/ssh-host-config -y -c "ntsecbinmode tty" -w "abc&&123!!" '
26
+
27
+ %SystemDrive%\cygwin\usr\bin\sleep 2
28
+
29
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="c:\cygwin\usr\sbin\sshd.exe" SSHD enable=yes
30
+
31
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22
32
+
33
+ %SystemDrive%\cygwin\usr\bin\sleep 2
34
+
35
+ net start sshd
36
+
37
+ # Fix corrupt recycle bin
38
+ # http://www.winhelponline.com/blog/fix-corrupted-recycle-bin-windows-7-vista/
39
+ cmd /c rd /s /q c:\$Recycle.bin
40
+
@@ -0,0 +1,14 @@
1
+ cmd /c winrm quickconfig -q
2
+ cmd /c winrm quickconfig -transport:http # needs to be auto no questions asked
3
+ cmd /c winrm set winrm/config @{MaxTimeoutms="1800000"}
4
+ cmd /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
5
+ cmd /c winrm set winrm/config/service @{AllowUnencrypted="true"}
6
+ cmd /c winrm set winrm/config/service/auth @{Basic="true"}
7
+ cmd /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"}
8
+ cmd /c netsh advfirewall firewall set rule group="remote administration" new enable=yes
9
+ cmd /c netsh firewall add portopening TCP 5985 "Port 5985"
10
+ cmd /c net stop winrm
11
+ cmd /c net start winrm
12
+
13
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f
14
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveIsSecure /t REG_SZ /d 0 /f
@@ -0,0 +1,74 @@
1
+ set -x
2
+
3
+ # Create the home directory
4
+ mkdir -p /home/vagrant
5
+ chown vagrant /home/vagrant
6
+ cd /home/vagrant
7
+
8
+ # Install ssh certificates
9
+ mkdir /home/vagrant/.ssh
10
+ chmod 700 /home/vagrant/.ssh
11
+ cd /home/vagrant/.ssh
12
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
13
+ chown -R vagrant /home/vagrant/.ssh
14
+ cd ..
15
+
16
+ # Install rpm,apt-get like code for cygwin
17
+ # http://superuser.com/questions/40545/upgrading-and-installing-packages-through-the-cygwin-command-line
18
+ wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
19
+ chmod +x apt-cyg
20
+ mv apt-cyg /usr/local/bin/
21
+
22
+ # 7zip will allow us to extract a file from an ISO
23
+ wget http://downloads.sourceforge.net/sevenzip/7z922-x64.msi
24
+ msiexec /qb /i 7z922-x64.msi
25
+
26
+ # Download Virtualbox Additions
27
+ VBOX_VERSION="4.1.8" #"4.0.8"
28
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
29
+
30
+ # Extract the installer from the ISO (WHY WHY WHY isn't this available not bundled within an ISO)
31
+ /cygdrive/c/Program\ Files/7-Zip/7z.exe x VBoxGuestAdditions_$VBOX_VERSION.iso VBoxWindowsAdditions-amd64.exe
32
+
33
+ # Mark Oracle as a trusted installer
34
+ #http://blogs.msdn.com/b/steverac/archive/2009/07/09/adding-certificates-to-the-local-certificates-store-and-setting-local-policy-using-a-command-line-system-center-updates-publisher-example.aspx
35
+
36
+ certutil -addstore -f "TrustedPublisher" a:oracle-cert.cer
37
+
38
+ # Install the Virtualbox Additions
39
+ ./VBoxWindowsAdditions-amd64.exe /S
40
+
41
+
42
+ #Rather than do the manual install of ruby and chef, just use the opscode msi
43
+ curl -L http://www.opscode.com/chef/install.msi -o chef-client-latest.msi
44
+ msiexec /qb /i chef-client-latest.msi
45
+
46
+
47
+ #http://www.msfn.org/board/topic/105277-howto-create-a-fully-up-to-date-xp-x64-dvd/
48
+
49
+ #Making aliases
50
+ cat <<EOF > /home/vagrant/.bash_profile
51
+ alias chef-client="chef-client.bat"
52
+ alias gem="gem.bat"
53
+ alias ruby="ruby.exe"
54
+ alias puppet="puppet.bat"
55
+ alias ohai="ohai.bat"
56
+ alias irb="irb.bat"
57
+ alias facter="facter.bat"
58
+ EOF
59
+
60
+
61
+ cat <<'EOF' > /bin/sudo
62
+ #!/usr/bin/bash
63
+ exec "$@"
64
+ EOF
65
+ chmod 755 /bin/sudo
66
+
67
+ # Mounting a directory
68
+ net.exe use '\\vboxsvr\veewee-validation'
69
+
70
+
71
+ # Reboot
72
+ # http://www.techrepublic.com/blog/datacenter/restart-windows-server-2003-from-the-command-line/245
73
+ shutdown.exe /s /t 0 /d p:2:4 /c "Vagrant initial reboot"
74
+
@@ -0,0 +1,140 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <unattend xmlns="urn:schemas-microsoft-com:unattend">
3
+ <servicing></servicing>
4
+ <settings pass="windowsPE">
5
+ <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
6
+ <DiskConfiguration>
7
+ <Disk wcm:action="add">
8
+ <CreatePartitions>
9
+ <CreatePartition wcm:action="add">
10
+ <Order>1</Order>
11
+ <Type>Primary</Type>
12
+ <Extend>true</Extend>
13
+ </CreatePartition>
14
+ </CreatePartitions>
15
+ <ModifyPartitions>
16
+ <ModifyPartition wcm:action="add">
17
+ <Extend>false</Extend>
18
+ <Format>NTFS</Format>
19
+ <Letter>C</Letter>
20
+ <Order>1</Order>
21
+ <PartitionID>1</PartitionID>
22
+ <Label>Windows 2008</Label>
23
+ </ModifyPartition>
24
+ </ModifyPartitions>
25
+ <DiskID>0</DiskID>
26
+ <WillWipeDisk>true</WillWipeDisk>
27
+ </Disk>
28
+ <WillShowUI>OnError</WillShowUI>
29
+ </DiskConfiguration>
30
+ <UserData>
31
+ <AcceptEula>true</AcceptEula>
32
+ <FullName>Vagrant Fullname</FullName>
33
+ <Organization>Vagrant Inc</Organization>
34
+ <ProductKey>
35
+ <WillShowUI>Always</WillShowUI>
36
+ </ProductKey>
37
+ </UserData>
38
+ <ImageInstall>
39
+ <OSImage>
40
+ <InstallTo>
41
+ <DiskID>0</DiskID>
42
+ <PartitionID>1</PartitionID>
43
+ </InstallTo>
44
+ <WillShowUI>OnError</WillShowUI>
45
+ <InstallToAvailablePartition>false</InstallToAvailablePartition>
46
+ <InstallFrom>
47
+ <MetaData wcm:action="add">
48
+ <Key>/IMAGE/NAME</Key>
49
+ <Value>Windows Longhorn SERVERSTANDARD</Value>
50
+ </MetaData>
51
+ </InstallFrom>
52
+ </OSImage>
53
+ </ImageInstall>
54
+ </component>
55
+ <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
56
+ <SetupUILanguage>
57
+ <UILanguage>en-US</UILanguage>
58
+ </SetupUILanguage>
59
+ <InputLocale>en-US</InputLocale>
60
+ <SystemLocale>en-US</SystemLocale>
61
+ <UILanguage>en-US</UILanguage>
62
+ <UILanguageFallback>en-US</UILanguageFallback>
63
+ <UserLocale>en-US</UserLocale>
64
+ </component>
65
+ </settings>
66
+ <settings pass="oobeSystem">
67
+ <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
68
+ <UserAccounts>
69
+ <AdministratorPassword>
70
+ <Value>dgBhAGcAcgBhAG4AdABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
71
+ <PlainText>false</PlainText>
72
+ </AdministratorPassword>
73
+ <LocalAccounts>
74
+ <LocalAccount wcm:action="add">
75
+ <Password>
76
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
77
+ <PlainText>false</PlainText>
78
+ </Password>
79
+ <Description>Vagrant User</Description>
80
+ <DisplayName>vagrant</DisplayName>
81
+ <Group>administrators</Group>
82
+ <Name>vagrant</Name>
83
+ </LocalAccount>
84
+ </LocalAccounts>
85
+ </UserAccounts>
86
+ <OOBE>
87
+ <HideEULAPage>true</HideEULAPage>
88
+ <NetworkLocation>Home</NetworkLocation>
89
+ <ProtectYourPC>3</ProtectYourPC>
90
+ </OOBE>
91
+ <AutoLogon>
92
+ <Password>
93
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
94
+ <PlainText>false</PlainText>
95
+ </Password>
96
+ <Username>administrator</Username>
97
+ <Enabled>true</Enabled>
98
+ </AutoLogon>
99
+ <FirstLogonCommands>
100
+ <SynchronousCommand wcm:action="add">
101
+ <CommandLine>cmd.exe /c a:install-winrm.bat</CommandLine>
102
+ <Description>Install Win RM</Description>
103
+ <Order>1</Order>
104
+ </SynchronousCommand>
105
+ <!-- <SynchronousCommand wcm:action="add"> -->
106
+ <!-- <CommandLine>cmd.exe /c a:install-chefclient.bat</CommandLine> -->
107
+ <!-- <Description>Install Chef Client</Description> -->
108
+ <!-- <Order>2</Order> -->
109
+ <!-- </SynchronousCommand> -->
110
+ <SynchronousCommand wcm:action="add">
111
+ <CommandLine>cmd.exe /c a:install-cygwin-sshd.bat</CommandLine>
112
+ <Description>Install Cygwin SSHD</Description>
113
+ <Order>2</Order>
114
+ </SynchronousCommand>
115
+ </FirstLogonCommands>
116
+ <ShowWindowsLive>false</ShowWindowsLive>
117
+ </component>
118
+ </settings>
119
+ <settings pass="specialize">
120
+ <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
121
+ <OEMInformation>
122
+ <HelpCustomized>false</HelpCustomized>
123
+ </OEMInformation>
124
+ <!-- Rename computer here. -->
125
+ <ComputerName>vagrant-2008R2</ComputerName>
126
+ <TimeZone>New Zealand Standard Time</TimeZone>
127
+ <RegisteredOwner></RegisteredOwner>
128
+ </component>
129
+ <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
130
+ <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
131
+ </component>
132
+ <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
133
+ <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
134
+ </component>
135
+ <component name="Microsoft-Windows-Security-Licensing-SLC-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
136
+ <SkipAutoActivation>true</SkipAutoActivation>
137
+ </component>
138
+ </settings>
139
+ <cpi:offlineImage cpi:source="catalog:d:/sources/install_windows longhorn serverstandard.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
140
+ </unattend>
@@ -0,0 +1,134 @@
1
+ You can download a free trial of Windows Server 2008 Enterprise: (60 day eval, expandable to 240 days)
2
+
3
+ From http://www.microsoft.com/download/en/details.aspx?id=8371
4
+
5
+ 64bit
6
+ url: http://download.microsoft.com/download/B/4/D/B4DC75A1-D7D2-4F31-87F9-E02C950E8D31/6001.18000.080118-1840_amd64fre_Server_en-us-KRMSXFRE_EN_DVD.iso
7
+ filename: 6001.18000.080118-1840_amd64fre_Server_en-us-KRMSXFRE_EN_DVD.iso
8
+ md5sum: 0477c88678efb8ebc5cd7a9e9efd8b82
9
+
10
+
11
+ 32bit
12
+ url: http://download.microsoft.com/download/B/4/D/B4DC75A1-D7D2-4F31-87F9-E02C950E8D31/6001.18000.080118-1840_x86fre_Server_en-us-KRMSFRE_EN_DVD.iso
13
+
14
+
15
+ - place it in a directory called iso
16
+
17
+ The installation uses the Standard way for Windows Unattended installation. The XML file was created using the Windows AIK kit, but the file can also be edited by hand.
18
+
19
+ You can download Automated Installation Kit (AIK) for Windows Vista SP1 and Windows Server 2008:
20
+ from http://www.microsoft.com/download/en/details.aspx?id=9085
21
+ file: 6001.18000.080118-1840-kb3aikl_en.iso
22
+ md5sum: b83fad8fd28e637b82cb4a6bef7d6920
23
+
24
+ - Building the machine creates a floppy that contains:
25
+ - AutoUnattend.xml (that will configure the windows)
26
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
27
+
28
+ AIK also includes dism, which will allow you to choose a specific version:
29
+
30
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
31
+ one of the names listed in the Longhorn install.wim on the install .iso
32
+
33
+ <InstallFrom>
34
+ <MetaData wcm:action="add">
35
+ <Key>/IMAGE/NAME</Key>
36
+ <Value>Windows Longhorn SERVERSTANDARD</Value> ### This comes from the Name: field below
37
+ </MetaData>
38
+ </InstallFrom>
39
+
40
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
41
+
42
+ Deployment Image Servicing and Management tool
43
+ Version: 6.1.7600.16385
44
+
45
+ Details for image : d:\sources\install.wim
46
+
47
+ Index : 1
48
+ Name : Windows Longhorn SERVERSTANDARD
49
+ Description : Windows Longhorn SERVERSTANDARD
50
+ Size : 8,784,297,519 bytes
51
+
52
+ Index : 2
53
+ Name : Windows Longhorn SERVERENTERPRISE
54
+ Description : Windows Longhorn SERVERENTERPRISE
55
+ Size : 8,792,036,862 bytes
56
+
57
+ Index : 3
58
+ Name : Windows Longhorn SERVERDATACENTER
59
+ Description : Windows Longhorn SERVERDATACENTER
60
+ Size : 8,792,568,645 bytes
61
+
62
+ Index : 4
63
+ Name : Windows Longhorn SERVERSTANDARDCORE
64
+ Description : Windows Longhorn SERVERSTANDARDCORE
65
+ Size : 2,512,939,954 bytes
66
+
67
+ Index : 5
68
+ Name : Windows Longhorn SERVERENTERPRISECORE
69
+ Description : Windows Longhorn SERVERENTERPRISECORE
70
+ Size : 2,522,686,340 bytes
71
+
72
+ Index : 6
73
+ Name : Windows Longhorn SERVERDATACENTERCORE
74
+ Description : Windows Longhorn SERVERDATACENTERCORE
75
+ Size : 2,522,615,418 bytes
76
+
77
+
78
+ This gets us nearly there, but we still need a winrm provisioner, as I don't like having to install cygwin.
79
+
80
+ Expose the winrm port:
81
+
82
+ <pre>
83
+ $ gem install chef
84
+ $ gem install knife-windows
85
+ #Create a tunnel
86
+ $ ssh -p 7222 -L5985:localhost:5985 vagrant@localhost
87
+ $ knife bootstrap windows winrm localhost -x Administrator -P 'vagrant'
88
+ </pre>
89
+
90
+
91
+ - http://wiki.opscode.com/display/chef/Knife+Windows+Bootstrap
92
+ - https://github.com/opscode/knife-windows/blob/master/lib/chef/knife/bootstrap/windows-shell.erb
93
+
94
+ - https://github.com/zenchild/WinRM
95
+
96
+ - http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/
97
+ - http://devopscloud.net/2011/04/28/powershell-userdata-to-start-a-chef-run/
98
+ - http://devopscloud.net/2011/03/23/dissection-of-a-chef-recipe-or-two-for-windows/
99
+ - https://github.com/pmorton/chef-windows-installer
100
+
101
+ ==
102
+ https://github.com/zenchild/WinRM/issues/unreads#issue/1
103
+ http -> requires unencryptedwinrm quickconfig (said yes to enable firewall)
104
+ winrm p winrm/config/service @{AllowUnencrypted="true"}
105
+ winrm set winrm/config/service/auth @{Basic="true"}netsh advfirewall firewall set rule group="remote administration" new enable=yes
106
+
107
+ - http://forums.citrix.com/thread.jspa?messageID=1535826
108
+ - http://support.microsoft.com/kb/2019527
109
+
110
+ winrm get winrm/config
111
+
112
+ The purpose of configuring WinRM for HTTPS is to encrypt the data being sent across the wire.
113
+
114
+ WinRM HTTPS requires a local computer "Server Authentication" certificate with a CN matching the hostname, that is not expired, revoked, or self-signed to be installed.
115
+
116
+ To install or view certificates for the local computer:
117
+
118
+ - click Start, run, MMC, "File" menu, "Add or Remove Snap-ins" select "Certificates" and click "Add". Go through the wizard selecting "Computer account".
119
+
120
+ - Install or view the certificates under:
121
+ Certificates (Local computer)
122
+ Personal
123
+ Certificates
124
+
125
+ If you do not have a Sever Authenticating certificate consult your certicate administrator. If you have a microsoft Certificate server you may be abel to request a certificate using the web certificate template from HTTPS://<MyDomainCertificateServer>/certsrv
126
+
127
+ Once the certificate is installed type the following to configure WINRM to listen on HTTPS:
128
+
129
+ winrm quickconfig -transport:https
130
+
131
+ If you do not have an appropriate certificate you can run the following with the authentication methods configured for WinRM however the data will not be encrypted.
132
+
133
+ winrm quickconfig
134
+