Skip to content

Commit

Permalink
add template for Debian-8.1.0-amd64-netboot
Browse files Browse the repository at this point in the history
  • Loading branch information
FunTimeCoding committed Jun 29, 2015
1 parent 4ed12b2 commit 027477d
Show file tree
Hide file tree
Showing 13 changed files with 662 additions and 0 deletions.
25 changes: 25 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/base.sh
@@ -0,0 +1,25 @@
# Update the box
apt-get -y update
apt-get -y install linux-headers-$(uname -r) build-essential
apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
apt-get -y install curl unzip

# Set up sudo
echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant

# Tweak sshd to prevent DNS resolution (speed up logins)
echo 'UseDNS no' >> /etc/ssh/sshd_config

# Remove 5s grub timeout to speed up booting
cat <<EOF > /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="debian-installer=en_US"
EOF

update-grub
49 changes: 49 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/chef.sh
@@ -0,0 +1,49 @@
if [ -f .veewee_params ]
then
. .veewee_params
fi

# Default to Gem install
if [ -z "$CHEF_INSTALLMETHOD" ]; then
export CHEF_INSTALLMETHOD="gems"
fi

# Installing chef
case $CHEF_INSTALLMETHOD in
"gems")
# Using gems
if [ -z "$CHEF_VERSION" ]; then
# Default to latest
gem install chef --no-ri --no-rdoc
else
gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
fi
;;

"omnibus")
# Using omnibus
if [ -z "$CHEF_VERSION" ]; then
# Default to latest
wget -O - http://opscode.com/chef/install.sh | sudo bash -s
else
wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
fi
;;

"package")
# Using packages
apt-get install -y debconf-utils
echo "chef chef/chef_server_url string $CHEF_SERVER_URL" | debconf-set-selections
if [ -z "$CHEF_VERSION" ]; then
# Default to latest
apt-get install -y chef
else
apt-get install -y chef=$CHEF_VERSION
fi
;;

*)
echo "Unsupported method for installing chef"
exit -1
;;
esac
18 changes: 18 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/cleanup.sh
@@ -0,0 +1,18 @@
# Clean up
apt-get -y remove linux-headers-$(uname -r) build-essential
apt-get -y autoremove
apt-get -y clean

# Removing leftover leases and persistent rules
echo "cleaning up dhcp leases"
rm /var/lib/dhcp/*

# Make sure Udev doesn't block our network
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
5 changes: 5 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/debian_64_net.yml
@@ -0,0 +1,5 @@
---
:os_type_id: 'Debian_64'
:iso_file: "debian-8.1.0-amd64-netinst.iso"
:iso_src: "http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso"
:iso_md5: "1a311f9afb68d6365211b13b4342c40b"
5 changes: 5 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/definition.rb
@@ -0,0 +1,5 @@
#
# change debian_64_netinst to one of configurations in *.yml in this directory
# use the yml files to configure
#
Veewee::Definition.declare_yaml('definition.yml', "debian_64_net.yml")
46 changes: 46 additions & 0 deletions templates/Debian-8.1.0-amd64-netboot/definition.yml
@@ -0,0 +1,46 @@
---
:cpu_count: '1'
:memory_size: '256'
:disk_size: '10140'
:disk_format: 'VDI'
:hostiocache: 'off'
:iso_download_timeout: "1000"
:boot_wait: "10"
:boot_cmd_sequence:
- '<Esc>'
- 'install '
- 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
- 'debian-installer=en_US '
- 'auto '
- 'locale=en_US '
- 'kbd-chooser/method=us '
- 'netcfg/get_hostname=%NAME% '
- 'netcfg/get_domain=vagrantup.com '
- 'fb=false '
- 'debconf/frontend=noninteractive '
- 'console-setup/ask_detect=false '
- 'console-keymaps-at/keymap=us '
- 'keyboard-configuration/xkb-keymap=us '
- '<Enter>'
:kickstart_port: "7122"
:kickstart_timeout: "300"
: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 bash '%f'"
:shutdown_cmd: "halt -p"
:postinstall_files:
- "base.sh"
- "vagrant.sh"
- "virtualbox.sh"
#- "vmfusion.sh"
- "ruby.sh"
- "puppet.sh"
- "chef.sh"
- "cleanup.sh"
- "zerodisk.sh"
:postinstall_timeout: "10000"

0 comments on commit 027477d

Please sign in to comment.