veewee 0.1.26 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.md +107 -99
  3. data/lib/veewee/command.rb +2 -1
  4. data/lib/veewee/scancode.rb +21 -4
  5. data/lib/veewee/session.rb +2 -2
  6. data/lib/veewee/version.rb +1 -1
  7. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +16 -0
  8. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +45 -0
  9. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +58 -0
  10. data/templates/{Debian-6.0.1a-amd64-netboot → Debian-5.0.8-amd64-netboot}/definition.rb +3 -3
  11. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +57 -0
  12. data/templates/{Debian-6.0.1a-amd64-netboot → Debian-5.0.8-amd64-netboot}/preseed.cfg +0 -0
  13. data/templates/Debian-5.0.8-i386-netboot/definition.rb +39 -0
  14. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +57 -0
  15. data/templates/Debian-5.0.8-i386-netboot/preseed.cfg +312 -0
  16. data/templates/Debian-6.0.2-amd64-netboot/definition.rb +39 -0
  17. data/templates/Debian-6.0.2-amd64-netboot/postinstall.sh +68 -0
  18. data/templates/Debian-6.0.2-amd64-netboot/preseed.cfg +312 -0
  19. data/templates/{Debian-6.0.1a-i386-netboot → Debian-6.0.2-i386-netboot}/definition.rb +3 -3
  20. data/templates/{Debian-6.0.1a-i386-netboot → Debian-6.0.2-i386-netboot}/postinstall.sh +22 -2
  21. data/templates/{Debian-6.0.1a-i386-netboot → Debian-6.0.2-i386-netboot}/preseed.cfg +0 -0
  22. data/templates/archlinux-64-aif-experimental/definition.rb +29 -0
  23. data/templates/archlinux-64-aif-experimental/postinstall.sh +6 -0
  24. data/templates/archlinux-64-experimental/autorun0 +6 -0
  25. data/templates/archlinux-64-experimental/definition.rb +21 -0
  26. data/templates/archlinux-64-experimental/postinstall.sh +190 -0
  27. data/templates/archlinux-i686/definition.rb +1 -1
  28. data/templates/openindiana-148-ai-x86/auto_install/ai.dtd +58 -0
  29. data/templates/openindiana-148-ai-x86/auto_install/ai_manifest.xml +241 -0
  30. data/templates/openindiana-148-ai-x86/auto_install/configuration.dtd +44 -0
  31. data/templates/openindiana-148-ai-x86/auto_install/default.xml +121 -0
  32. data/templates/openindiana-148-ai-x86/auto_install/default.xml.orig +124 -0
  33. data/templates/openindiana-148-ai-x86/auto_install/sc_profiles/static_network.xml +105 -0
  34. data/templates/openindiana-148-ai-x86/auto_install/software.dtd +105 -0
  35. data/templates/openindiana-148-ai-x86/auto_install/target.dtd +196 -0
  36. data/templates/openindiana-148-ai-x86/default.xml +121 -0
  37. data/templates/openindiana-148-ai-x86/definition.rb +59 -0
  38. data/templates/openindiana-148-ai-x86/postinstall.sh +101 -0
  39. data/templates/solaris-11-express-i386/definition.rb +6 -11
  40. data/templates/solaris-11-express-i386/postinstall.sh +2 -2
  41. data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +1 -0
  42. data/templates/ubuntu-10.04.2-server-amd64/postinstall.sh +1 -0
  43. data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +1 -0
  44. data/templates/ubuntu-10.04.2-server-i386/postinstall.sh +1 -0
  45. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +1 -0
  46. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +1 -0
  47. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +1 -0
  48. data/templates/ubuntu-10.10-server-i386/postinstall.sh +1 -0
  49. data/templates/ubuntu-11.04-server-amd64/postinstall.sh +1 -0
  50. data/templates/ubuntu-11.04-server-i386/postinstall.sh +1 -0
  51. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +25 -0
  52. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +66 -0
  53. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +88 -0
  54. data/templates/ubuntu-8.04.4-server-i386/definition.rb +25 -0
  55. data/templates/{Debian-6.0.1a-amd64-netboot → ubuntu-8.04.4-server-i386}/postinstall.sh +7 -10
  56. data/templates/ubuntu-8.04.4-server-i386/preseed.cfg +87 -0
  57. data/templates/{windows-2008R2-amd64-experimental → windows-2008R2-amd64}/Autounattend.xml +1 -1
  58. data/templates/windows-2008R2-amd64/README.md +68 -0
  59. data/templates/{windows-2008R2-amd64-experimental → windows-2008R2-amd64}/cygwin-setup.exe +0 -0
  60. data/templates/{windows-2008R2-amd64-experimental → windows-2008R2-amd64}/definition.rb +2 -3
  61. data/templates/{windows-2008R2-amd64-experimental/cygwin-sshd.bat → windows-2008R2-amd64/install-cygwin-sshd.bat} +0 -0
  62. data/templates/{windows-2008R2-amd64-experimental → windows-2008R2-amd64}/install-winrm.bat +0 -0
  63. data/templates/windows-2008R2-amd64/oracle-cert.cer +0 -0
  64. data/templates/windows-2008R2-amd64/postinstall.sh +122 -0
  65. data/templates/{windows-2008R2-amd64-experimental → windows-2008R2-amd64}/winrm.rb +0 -0
  66. metadata +50 -19
  67. data/templates/windows-2008R2-amd64-experimental/README.md +0 -33
  68. data/templates/windows-2008R2-amd64-experimental/note-virtualbox-additions.txt +0 -23
  69. data/templates/windows-2008R2-amd64-experimental/postinstall.sh +0 -48
@@ -0,0 +1,29 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '256',
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
+ :os_type_id => 'ArchLinux_64',
5
+ :iso_file => "archlinux-2010.05-core-x86_64.iso",
6
+ :iso_src => "http://archlinux.mirror.kangaroot.net/iso/2010.05/archlinux-2010.05-core-x86_64.iso",
7
+ :iso_md5 => "9e9057702af5826a3b924233bf44fe66",
8
+ :iso_download_timeout => "1000",
9
+ :boot_wait => "5", :boot_cmd_sequence => [
10
+ '<Enter>',
11
+ '<Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait>',
12
+ '<Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait>',
13
+ '<Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait><Wait>',
14
+ 'root<Enter>',
15
+ 'dhcpcd eth0<Enter><Wait><Wait>',
16
+ 'echo "sshd: ALL" > /etc/hosts.allow<Enter>',
17
+ 'passwd<Enter>',
18
+ 'vagrant<Enter>',
19
+ 'vagrant<Enter>',
20
+ '/etc/rc.d/sshd start<Enter><Wait>',
21
+ 'echo "Now we continue with the post-install.sh"<Enter>',
22
+ ],
23
+ :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "",
24
+ :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
25
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
26
+ :sudo_cmd => "sh '%f'",
27
+ :shutdown_cmd => "shutdown -H",
28
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
29
+ })
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ echo ""
4
+ echo "Now we can run the sequence for installing arch"
5
+ echo "f.i. do an aif install based from templates"
6
+ echo "Dave Simons will help you :)"
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ echo "We are installing archlinux through the livecd of System Rescue"
4
+ echo "Please wait while we do the grunt work ."
5
+
6
+ echo "Occasionally this hangs because of network issues to the archlinux mirrors"
@@ -0,0 +1,21 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1', :memory_size=> '256',
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
+ :os_type_id => 'ArchLinux_64',
5
+ :iso_file => "systemrescuecd-x86-2.0.0.iso",
6
+ :iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.0.0/systemrescuecd-x86-2.0.0.iso?r=http%3A%2F%2Fwww.sysresccd.org%2FDownload&ts=1297107227&use_mirror=ignum",
7
+ :iso_md5 => "51012e0bb943cff6367e5cea3a61cdbe",
8
+ :iso_download_timeout => "1000",
9
+ :boot_wait => "10", :boot_cmd_sequence => [
10
+ '<Down><Down><Down><Down><Down><Tab> ',
11
+ 'setkmap=us dodhcp=eth0 dhcphostname=%NAME% ar_source=http://%IP%:%PORT%/ autoruns=0 rootpass=vagrant',
12
+ '<Enter>'
13
+ ],
14
+ :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "autorun0",
15
+ :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
16
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
17
+ :sudo_cmd => "sh '%f'",
18
+ :shutdown_cmd => "shutdown -H",
19
+ :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
20
+ })
21
+ #'setkmap=us dodhcp=eth0 dhcphostname=%NAME% ar_source=http://%IP%:%PORT%/ autoruns=0 rootpass=vagrant',
@@ -0,0 +1,190 @@
1
+ #!/bin/bash
2
+
3
+ #https://wiki.archlinux.org/index.php/Install_from_Existing_Linux
4
+
5
+ ARCH=x86_64
6
+ mkdir /tmp/archlinux
7
+ cd /tmp/archlinux
8
+
9
+ alias wget='wget --trust-server-names'
10
+
11
+ wget http://www.archlinux.org/packages/core/$ARCH/pacman/download/
12
+ wget http://www.archlinux.org/packages/core/any/pacman-mirrorlist/download/
13
+
14
+ wget http://www.archlinux.org/packages/core/$ARCH/libfetch/download/
15
+ wget http://www.archlinux.org/packages/core/$ARCH/libarchive/download/
16
+ wget http://www.archlinux.org/packages/core/$ARCH/bzip2/download/
17
+ wget http://www.archlinux.org/packages/core/$ARCH/openssl/download/
18
+ wget http://www.archlinux.org/packages/core/$ARCH/xz/download/
19
+ wget http://www.archlinux.org/packages/core/$ARCH/expat/download/
20
+
21
+ for f in *.tar.xz ; do unxz -v $f ; done
22
+ for f in *.tar ; do tar xvf $f ; done
23
+ for f in *.tar.gz ; do tar xzvf $f ; done
24
+
25
+
26
+ export PATH=/tmp/archlinux/usr/bin:$PATH
27
+ export LD_LIBRARY_PATH=/tmp/archlinux/usr/lib:/tmp/archlinux/lib:$LD_LIBRARY_PATH
28
+ alias pacman="pacman --config /tmp/archlinux/etc/pacman.conf"
29
+
30
+ cd /
31
+ for f in /tmp/archlinux/pacman-*pkg.tar.gz ; do
32
+ tar xzf $f
33
+ done
34
+
35
+ #/etc/pacman.d/mirrorlist
36
+ #enable a mirror
37
+
38
+ #Partition the disk
39
+ #This assumes a predefined layout - customize to your own liking
40
+
41
+ sfdisk --force /dev/sda <<EOF
42
+ # partition table of /dev/sda
43
+ unit: sectors
44
+
45
+ /dev/sda1 : start= 2048, size= 16777216, Id=83
46
+ /dev/sda2 : start= 16779264, size= 3987456, Id=82
47
+ /dev/sda3 : start= 0, size= 0, Id= 0
48
+ /dev/sda4 : start= 0, size= 0, Id= 0
49
+ EOF
50
+
51
+ sleep 2
52
+
53
+ #Format the first disk
54
+ mkfs.ext3 /dev/sda1
55
+
56
+ #Format the swap and use it
57
+ mkswap /dev/sda2
58
+ swapon /dev/sda2
59
+
60
+ mkdir /newarch
61
+ mount /dev/sda1 /newarch
62
+
63
+ mkdir -p /newarch/var/lib/pacman
64
+
65
+ #setting pacman - mirror - Belgium
66
+ #Customize to your own liking
67
+ sed -i 's/^#\(.*kangaroot.*\)/\1/' /etc/pacman.d/mirrorlist
68
+
69
+ # https://wiki.archlinux.org/index.php/Mirrors#List_by_speed
70
+ # pacman -S reflector
71
+ # export LC_ALL=C
72
+ # reflector -c Belgium -l 8 -r -o /etc/pacman.d/mirrorlist
73
+
74
+ pacman -Sy -r /newarch
75
+
76
+ #pacman: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory
77
+ #require bzip2
78
+ pacman --noconfirm --cachedir /newarch/var/cache/pacman/pkg -S base -r /newarch
79
+
80
+ #Create the devices
81
+ cd /newarch/dev
82
+ rm -f console ; mknod -m 600 console c 5 1
83
+ rm -f null ; mknod -m 666 null c 1 3
84
+ rm -f zero ; mknod -m 666 zero c 1 5
85
+
86
+ #Copy the dns information (cp is aliased so we use the binary)
87
+ /bin/cp -f /etc/resolv.conf /newarch/etc/
88
+
89
+ #Mount the process architecture
90
+ mount -t proc proc /newarch/proc
91
+ mount -t sysfs sys /newarch/sys
92
+ mount -o bind /dev /newarch/dev
93
+
94
+ chroot /newarch pacman --noconfirm -S kernel26
95
+
96
+ #set the mirror list within the machine
97
+ chroot /newarch sed -i 's/^#\(.*kangaroot.*\)/\1/' /etc/pacman.d/mirrorlist
98
+ #/etc/fstab
99
+ #We need a partition!
100
+
101
+ echo "echo '/dev/sda1 / ext4 defaults,noatime 0 0' >> /etc/fstab"|chroot /newarch sh -
102
+ echo "echo '/dev/sda2 swap swap defaults 0 0'>> /etc/fstab"|chroot /newarch sh -
103
+
104
+ #/etc/rc.conf
105
+
106
+ #hostname
107
+
108
+ chroot /newarch sed -i 's/^HOSTNAME=\(.*\)/HOSTNAME=vagrant-arch/' /etc/rc.conf
109
+ #gateway
110
+
111
+ #/etc/hosts
112
+ #/etc/mkinitcpio.conf
113
+ #/etc/local.gen
114
+
115
+
116
+ #grub
117
+ echo "grep -v rootfs /proc/mounts > /etc/mtab" |chroot /newarch sh -
118
+ chroot /newarch grub-install /dev/sda
119
+ echo "cp -a /usr/lib/grub/i386-pc/* /boot/grub" | chroot /newarch sh -
120
+
121
+ #/boot/grub/menu.lst
122
+
123
+ echo "sed -i 's:^kernel\(.*\)$:kernel /boot/vmlinuz26 root=/dev/sda1 ro:' /boot/grub/menu.lst" | chroot /newarch sh -
124
+ echo "sed -i 's:^initrd\(.*\)$:initrd /boot/kernel26.img:' /boot/grub/menu.lst" | chroot /newarch sh -
125
+
126
+ #Configure ssh
127
+ chroot /newarch pacman --noconfirm -S openssh
128
+
129
+ #Still errors
130
+ echo "sed -i 's:^DAEMONS\(.*\))$:DAEMONS\1 sshd):' /etc/rc.conf" | chroot /newarch sh -
131
+ echo "echo 'sshd:ALL' > /etc/hosts.allow" | chroot /newarch sh -
132
+ echo "echo 'ALL:ALL' > /etc/hosts.deny" | chroot /newarch sh -
133
+
134
+
135
+
136
+
137
+ #Configure Sudo
138
+ chroot /newarch pacman --noconfirm -S sudo
139
+ echo "echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers" | chroot /newarch sh -
140
+
141
+ #create vagrant user / password vagrant
142
+ chroot /newarch useradd -m -r vagrant -p '$1$MPmczGP9$1SeNO4bw5YgiEJuo/ZkWq1'
143
+
144
+ #get some ruby running
145
+ chroot /newarch pacman --noconfirm -S git curl gcc make
146
+ echo "bash < <( curl -L http://bit.ly/rvm-install-system-wide )"| chroot /newarch /bin/bash -
147
+ echo "/usr/local/bin/rvm install ruby-1.8.7 "| chroot /newarch sh -
148
+ echo "/usr/local/bin/rvm use ruby-1.8.7 --default "| chroot /newarch sh -
149
+
150
+
151
+ #Installing chef & Puppet
152
+ echo ". /usr/local/lib/rvm ; gem install chef --no-ri --no-rdoc"| chroot /newarch sh -
153
+ echo ". /usr/local/lib/rvm ; gem install puppet --no-ri --no-rdoc"| chroot /newarch sh -
154
+
155
+ #Installing vagrant keys
156
+ echo "creating vagrant ssh keys"
157
+ chroot /newarch mkdir /home/vagrant/.ssh
158
+ chroot /newarch chmod 700 /home/vagrant/.ssh
159
+ chroot /newarch cd /home/vagrant/.ssh
160
+ chroot /newarch wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
161
+ chroot /newarch chmod 600 /home/vagrant/.ssh/authorized_keys
162
+ chroot /newarch chown -R vagrant /home/vagrant/.ssh
163
+
164
+ echo "adding rvm to global bash rc"
165
+ echo "echo '. /usr/local/lib/rvm' >> /etc/bash/bash.rc" | chroot /newarch sh -
166
+
167
+ #https://wiki.archlinux.org/index.php/VirtualBox
168
+ #kernel pacman -S kernel26-headers
169
+ chroot /newarch pacman --noconfirm -S kernel26-headers
170
+ /bin/cp -f /root/.vbox_version /newarch/home/vagrant/.vbox_version
171
+ VBOX_VERSION=$(cat /root/.vbox_version)
172
+
173
+ #Installing the virtualbox guest additions
174
+ cat <<EOF | chroot /newarch /bin/bash -
175
+ cd /tmp
176
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
177
+ mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
178
+ sh /mnt/VBoxLinuxAdditions.run
179
+ umount /mnt
180
+ rm VBoxGuestAdditions_$VBOX_VERSION.iso
181
+ EOF
182
+
183
+ echo "sed -i 's:^DAEMONS\(.*\))$:DAEMONS\1 rc.vboxadd):' /etc/rc.conf" | chroot /newarch sh -
184
+
185
+
186
+ cd /
187
+ umount /newarch/{proc,sys,dev}
188
+ umount /newarch
189
+
190
+ #reboot
@@ -1,7 +1,7 @@
1
1
  Veewee::Session.declare({
2
2
  :cpu_count => '1', :memory_size=> '256',
3
3
  :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
- :os_type_id => 'Linux',
4
+ :os_type_id => 'ArchLinux',
5
5
  :iso_file => "systemrescuecd-x86-2.0.0.iso",
6
6
  :iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.0.0/systemrescuecd-x86-2.0.0.iso?r=http%3A%2F%2Fwww.sysresccd.org%2FDownload&ts=1297107227&use_mirror=ignum",
7
7
  :iso_md5 => "51012e0bb943cff6367e5cea3a61cdbe",
@@ -0,0 +1,58 @@
1
+ <!--
2
+ CDDL HEADER START
3
+
4
+ The contents of this file are subject to the terms of the
5
+ Common Development and Distribution License (the "License").
6
+ You may not use this file except in compliance with the License.
7
+
8
+ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9
+ or http://www.opensolaris.org/os/licensing.
10
+ See the License for the specific language governing permissions
11
+ and limitations under the License.
12
+
13
+ When distributing Covered Code, include this CDDL HEADER in each
14
+ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15
+ If applicable, add the following below this CDDL HEADER, with the
16
+ fields enclosed by brackets "[]" replaced with your own identifying
17
+ information: Portions Copyright [yyyy] [name of copyright owner]
18
+
19
+ CDDL HEADER END
20
+
21
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
22
+
23
+ -->
24
+
25
+ <!ELEMENT auto_install (ai_instance)>
26
+
27
+ <!ENTITY % target SYSTEM "target.dtd">
28
+ %target;
29
+
30
+ <!ENTITY % configuration SYSTEM "configuration.dtd">
31
+ %configuration;
32
+
33
+ <!ENTITY % software SYSTEM "software.dtd">
34
+ %software;
35
+
36
+ <!--
37
+ The source element, if specified, is for post installation changes
38
+ to the publisher for IPS. The first source element specified
39
+ will be considered the primary source, all additional sources
40
+ will be added as secondary sources.
41
+ -->
42
+
43
+ <!ELEMENT sc_manifest_file EMPTY>
44
+ <!ATTLIST sc_manifest_file name CDATA #REQUIRED>
45
+ <!ATTLIST sc_manifest_file URI CDATA #REQUIRED>
46
+
47
+ <!ELEMENT sc_embedded_manifest (#PCDATA)>
48
+ <!ATTLIST sc_embedded_manifest name CDATA #REQUIRED>
49
+
50
+ <!ELEMENT ai_instance (target*, software+, add_drivers?, (configuration*|sc_manifest_file|sc_embedded_manifest), source*)>
51
+ <!ATTLIST ai_instance name CDATA #REQUIRED>
52
+ <!ATTLIST ai_instance http_proxy CDATA #IMPLIED>
53
+ <!ATTLIST ai_instance auto_reboot (true|false) "false">
54
+
55
+ <!ELEMENT add_drivers (software*, search_all?)>
56
+
57
+ <!ELEMENT search_all (source?)>
58
+ <!ATTLIST search_all addall (true|false) "false">
@@ -0,0 +1,241 @@
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ CDDL HEADER START
4
+
5
+ The contents of this file are subject to the terms of the
6
+ Common Development and Distribution License (the "License").
7
+ You may not use this file except in compliance with the License.
8
+
9
+ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10
+ or http://www.opensolaris.org/os/licensing.
11
+ See the License for the specific language governing permissions
12
+ and limitations under the License.
13
+
14
+ When distributing Covered Code, include this CDDL HEADER in each
15
+ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16
+ If applicable, add the following below this CDDL HEADER, with the
17
+ fields enclosed by brackets "[]" replaced with your own identifying
18
+ information: Portions Copyright [yyyy] [name of copyright owner]
19
+
20
+ CDDL HEADER END
21
+
22
+ Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23
+ -->
24
+ <!--
25
+ ===============================================================================
26
+ DTD sample manifest for Automatic Installer input manifest specification.
27
+ ===============================================================================
28
+ -->
29
+ <!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd">
30
+ <auto_install>
31
+ <!--
32
+ "auto_reboot" set to "true" may be an issue for x86 machines.
33
+ The boot order is not guaranteed and may cause unexpected
34
+ behavior. If auto_reboot is not desired, removing this
35
+ attribute, e.g. <ai_instance name="sample_ai_manfiest">
36
+ will work. "auto_reboot" is set to false by default.
37
+ -->
38
+ <ai_instance name="sample_ai_manifest" auto_reboot="true">
39
+ <!--
40
+ =======================================================================
41
+ <target/target_device> - selections for AI target Device specification
42
+
43
+ Disk criteria are divided into three mutually exclusive groups:
44
+
45
+ G1 - deterministic disk criteria
46
+ ................................
47
+ * target_device/disk/iscsi parameters
48
+ * target_device/disk/disk_name, with name_type attribute:
49
+ one of ctd, volid, devpath or devid
50
+
51
+ G2 - non-deterministic disk criteria
52
+ ..........................
53
+ * target_device/disk/disk_prop: Any of dev_type, dev_vendor or
54
+ dev_size
55
+
56
+ G3 - keyword disk criteria
57
+ ...........................
58
+ * target_device/disk/disk_keyword: "boot_disk"
59
+
60
+ Schema ai.dtd enforces following policy:
61
+
62
+ * criteria in group G1 are mutually exclusive - only
63
+ one can be specified at a time
64
+
65
+ * groups G1, G2 and G3 are mutually exclusive - i.e.
66
+ if criteria from G1 is specified, no criteria
67
+ from G2 or G3 are allowed and vice versa
68
+
69
+ * multiple criteria from G2 can be specified
70
+ =======================================================================
71
+ -->
72
+ <target>
73
+ <target_device>
74
+ <disk>
75
+ <!-- G1 -->
76
+ <!--
77
+ c#t#d# device name like c0t0d0 or
78
+ MPXIO name like c0t2000002037CD9F72d0
79
+ -->
80
+ <disk_name name="c1t0d0" name_type="ctd"/>
81
+ <!-- volume name set for instance by means
82
+ of format(1M) command
83
+ -->
84
+ <!--
85
+ <disk_name name="ai-disk" name_type="volid"/>
86
+ -->
87
+ <!-- device id - e.g. can be obtained by means of
88
+ iostat(1M) -iEn
89
+ -->
90
+ <!--
91
+ <disk_name name="id1,cmdk@AST31000340NS=____________9QJ2LNYY" name_type="devid"/>
92
+ -->
93
+ <!-- device path under /devices directory, e.g.
94
+ /pci@1e,600000/pci@0/pci@9/pci@0/scsi@1/sd@0,0
95
+ -->
96
+ <!--
97
+ <disk_name name="/pci@0/pci@9/pci@0/scsi@1/sd@0,0" name_type="devpath"/>
98
+ -->
99
+ <!--
100
+ ISCSI target device
101
+
102
+ <iscsi name="c0d2E0001010F68">
103
+ <ip>192.168.1.34</ip>
104
+ </iscsi>
105
+ -->
106
+ <!-- G2 -->
107
+ <!--
108
+ <disk_prop dev_vendor="hitachi" dev_size="20480mb"/>
109
+ -->
110
+ <!-- G3 -->
111
+ <!--
112
+ <disk_keyword key="boot_disk"/>
113
+ -->
114
+ <!--
115
+ Uncomment this to force AI to find an existing Solaris
116
+ partition instead of creating a new one.
117
+ -->
118
+ <!--
119
+ <partition action="use_existing"/>
120
+ -->
121
+ <partition name="1" part_type="99">
122
+ <size start_sector="200" val="20480mb"/>
123
+ </partition>
124
+ <partition name="4" part_type="99">
125
+ <size start_sector="2000" val="20480mb"/>
126
+ </partition>
127
+ <slice name="0" is_root="true">
128
+ <size val="20480mb"/>
129
+ </slice>
130
+ <slice name="4">
131
+ <size val="20480mb"/>
132
+ </slice>
133
+ </disk>
134
+ </target_device>
135
+ </target>
136
+ <software name="ips">
137
+ <source>
138
+ <publisher name="openindiana.org">
139
+ <origin name="http://pkg.openindiana.org/dev"/>
140
+ </publisher>
141
+ </source>
142
+ <!--
143
+ By default the latest build available, in the
144
+ specified IPS repository, is installed.
145
+ if another build is required, the build number has
146
+ to be appended to the 'entire' package in following
147
+ form:
148
+ <name="entire@0.5.11-0.build#"/>
149
+ -->
150
+ <software_data type="IPS">
151
+ <name>pkg:/entire</name>
152
+ <name>pkg:/babel_install</name>
153
+ </software_data>
154
+ <!--
155
+ babel_install and slim_install are group packages used to
156
+ define the default installation. They are removed here so
157
+ that they do not inhibit removal of other packages on the installed
158
+ system
159
+ -->
160
+ <software_data action="uninstall" type="IPS">
161
+ <name>pkg:/babel_install</name>
162
+ <name>pkg:/slim_install</name>
163
+ </software_data>
164
+ </software>
165
+ <add_drivers>
166
+ <!--
167
+ Driver Updates: This section is for adding driver packages to the
168
+ boot environment before the installation takes place. The
169
+ installer can then access all devices on the system. The
170
+ packages installed in the boot environment will also be installed
171
+ on the target.
172
+
173
+ A <search_all> entry performs a search for devices which are
174
+ missing their drivers. A repository publisher and location
175
+ may be specified, and that repository and its database will
176
+ be used. If no publisher and location is specified, the
177
+ configured repositories will be used.
178
+ (See pkg publisher command.) If <addall> is specified as
179
+ "true", then drivers the database says are third-party drivers
180
+ will be added like all others; otherwise third-party drivers
181
+ will not be added.
182
+
183
+ <search_all addall="true">
184
+ <source>
185
+ <publisher name="solaris">
186
+ <origin name="http://pkg.oracle.com/solaris/release"/>
187
+ </publisher>
188
+ </source>
189
+ </search_all>
190
+
191
+ <software> entries are user-provided specifications of packages
192
+ needed in order to perform the install. types are P5I, SVR4, DU.
193
+ A <software_data> action of "noinstall" inhibits adding to target.
194
+
195
+ P5I: A pkg(5) P5I file, full path is in the source/publisher/origin.
196
+ Path may be to a local file or an http or ftp specification.
197
+ <software>
198
+ <source>
199
+ <publisher>
200
+ <origin
201
+ name=
202
+ "http://pkg.oracle.com/solaris/release/p5i/0/driver/firewire.p5i"/>
203
+ </publisher>
204
+ </source>
205
+ <software_data type="P5I"/>
206
+ </software>
207
+
208
+ SVR4: An SVR4 package spec. The source/publisher/origin corresponds
209
+ to the directory containing the packages. The
210
+ software/software_data/name refers tp the package's top level
211
+ directory or the package's datastream file.
212
+
213
+ <software>
214
+ <source>
215
+ <publisher>
216
+ <origin name="/export/package_dir"/>
217
+ </publisher>
218
+ </source>
219
+ <software_data type="SVR4">
220
+ <name>my_disk_driver.d</name>
221
+ </software_data>
222
+ </software>
223
+
224
+ DU: An ITU (Install Time Update) or Driver Update image.
225
+ The source/publisher/origin refers to the path just above the
226
+ image's DU directory (if expanded) or the name of the .iso image.
227
+ All packages in the image will be added.
228
+
229
+ <software>
230
+ <source>
231
+ <publisher>
232
+ <origin name="/export/duimages/mydriver.iso"/>
233
+ </publisher>
234
+ </source>
235
+ <software_data type="DU"/>
236
+ </software>
237
+ -->
238
+ <search_all/>
239
+ </add_drivers>
240
+ </ai_instance>
241
+ </auto_install>