Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

vagrant basebox define 'forskbox' 'ubuntu-11.10-server-i386'

  • Loading branch information...
commit d2f11d7f998549e95738837986a3f03ef87ceaf0 0 parents
@jonasb jonasb authored
35 definitions/forskbox/definition.rb
@@ -0,0 +1,35 @@
+Veewee::Session.declare({
+ :cpu_count => '1',
+ :memory_size=> '384',
+ :disk_size => '10140',
+ :disk_format => 'VDI',
+ :hostiocache => 'off',
+ :os_type_id => 'Ubuntu',
+ :iso_file => "ubuntu-11.10-server-i386.iso",
+ :iso_src => "http://releases.ubuntu.com/11.10/ubuntu-11.10-server-i386.iso",
+ :iso_md5 => "881d188cb1ca5fb18e3d9132275dceda",
+ :iso_download_timeout => "1000",
+ :boot_wait => "10",
+ :boot_cmd_sequence => [
+ '<Esc><Esc><Enter>',
+ '/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
+ 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
+ 'hostname=%NAME% ',
+ 'fb=false debconf/frontend=noninteractive ',
+ 'keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ',
+ 'initrd=/install/initrd.gz -- <Enter>'
+ ],
+ :kickstart_port => "7122",
+ :kickstart_timeout => "10000",
+ :kickstart_file => "preseed.cfg",
+ :ssh_login_timeout => "10000",
+ :ssh_user => "vagrant",
+ :ssh_password => "vagrant",
+ :ssh_key => "",
+ :ssh_host_port => "7222",
+ :ssh_guest_port => "22",
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
+ :shutdown_cmd => "shutdown -P now",
+ :postinstall_files => [ "postinstall.sh"],
+ :postinstall_timeout => "10000"
+})
88 definitions/forskbox/postinstall.sh
@@ -0,0 +1,88 @@
+# postinstall.sh created from Mitchell's official lucid32/64 baseboxes
+
+date > /etc/vagrant_box_build_time
+
+# Apt-install various things necessary for Ruby, guest additions,
+# etc., and remove optional things to trim down the machine.
+apt-get -y update
+apt-get -y upgrade
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get clean
+
+# Setup sudo to allow no-password sudo for "admin"
+cp /etc/sudoers /etc/sudoers.orig
+sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
+sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
+
+# Install NFS client
+apt-get -y install nfs-common
+
+# Install Ruby from source in /opt so that users of Vagrant
+# can install their own Rubies using packages or however.
+wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
+tar xvzf ruby-1.9.2-p290.tar.gz
+cd ruby-1.9.2-p290
+./configure --prefix=/opt/ruby
+make
+make install
+cd ..
+rm -rf ruby-1.9.2-p290
+
+# Install RubyGems 1.7.2
+wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.11.tgz
+tar xzf rubygems-1.8.11.tgz
+cd rubygems-1.8.11
+/opt/ruby/bin/ruby setup.rb
+cd ..
+rm -rf rubygems-1.8.11
+
+# Installing chef & Puppet
+/opt/ruby/bin/gem install chef --no-ri --no-rdoc
+/opt/ruby/bin/gem install puppet --no-ri --no-rdoc
+
+# Add /opt/ruby/bin to the global path as the last resort so
+# Ruby, RubyGems, and Chef/Puppet are visible
+echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
+
+# Installing vagrant keys
+mkdir /home/vagrant/.ssh
+chmod 700 /home/vagrant/.ssh
+cd /home/vagrant/.ssh
+wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
+chmod 600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant /home/vagrant/.ssh
+
+# Installing the virtualbox guest additions
+VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
+cd /tmp
+wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
+mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
+sh /mnt/VBoxLinuxAdditions.run
+umount /mnt
+
+rm VBoxGuestAdditions_$VBOX_VERSION.iso
+
+# Remove items used for building, since they aren't needed anymore
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp3/*
+
+# Make sure Udev doesn't block our network
+# http://6.ptmc.org/?p=164
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
+exit
87 definitions/forskbox/preseed.cfg
@@ -0,0 +1,87 @@
+## Options to set on the command line
+d-i debian-installer/locale string en_US.utf8
+d-i console-setup/ask_detect boolean false
+d-i console-setup/layout string USA
+
+#d-i netcfg/get_hostname string dummy
+d-i netcfg/get_hostname string unassigned-hostname
+d-i netcfg/get_domain string unassigned-domain
+
+# Continue without a default route
+# Not working , specify a dummy in the DHCP
+#d-i netcfg/no_default_route boolean
+
+d-i time/zone string UTC
+d-i clock-setup/utc-auto boolean true
+d-i clock-setup/utc boolean true
+
+d-i kbd-chooser/method select American English
+
+d-i netcfg/wireless_wep string
+
+d-i base-installer/kernel/override-image string linux-server
+#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
+
+# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
+d-i debconf debconf/frontend select Noninteractive
+
+d-i pkgsel/install-language-support boolean false
+tasksel tasksel/first multiselect standard, ubuntu-server
+
+#d-i partman-auto/method string regular
+d-i partman-auto/method string lvm
+#d-i partman-auto/purge_lvm_from_device boolean true
+
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/device_remove_lvm boolean true
+d-i partman-auto/choose_recipe select atomic
+
+d-i partman/confirm_write_new_label boolean true
+d-i partman/confirm_nooverwrite boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+
+#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
+#Message: "write the changes to disk and configure lvm preseed"
+#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
+#preseed partman-lvm/confirm_nooverwrite boolean true
+
+# Write the changes to disks and configure LVM?
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+d-i partman-auto-lvm/guided_size string max
+
+## Default user, we can get away with a recipe to change this
+d-i passwd/user-fullname string vagrant
+d-i passwd/username string vagrant
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+## minimum is puppet and ssh and ntp
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select full-upgrade
+
+d-i grub-installer/only_debian boolean true
+d-i grub-installer/with_other_os boolean true
+d-i finish-install/reboot_in_progress note
+
+#For the update
+d-i pkgsel/update-policy select none
+
+# debconf-get-selections --install
+#Use mirror
+#d-i apt-setup/use_mirror boolean true
+#d-i mirror/country string manual
+#choose-mirror-bin mirror/protocol string http
+#choose-mirror-bin mirror/http/hostname string 192.168.4.150
+#choose-mirror-bin mirror/http/directory string /ubuntu
+#choose-mirror-bin mirror/suite select maverick
+#d-i debian-installer/allow_unauthenticated string true
+
+choose-mirror-bin mirror/http/proxy string
Please sign in to comment.
Something went wrong with that request. Please try again.