veewee 0.1.26 → 0.1.27

Sign up to get free protection for your applications and to get access to all the features.
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>