Getting Ubuntu to PXEboot and install.
So today I was tasked with creating an entire system that does ubuntu automated installations, the first hurdle was actually getting ubuntu automated deployment, unfortunately there was a lot of misguidance laying around the net on the best way to approach this, so this is my attempt… it worked and I think it does the job…
####
# Howto unattended install ubuntu server LTS 10.4.2
# Written by Karl Kloppenborg
# For Crucial Paradigm and Public Parties.
# Copyright 2011 – ~ – Karl Kloppenborg
# notes, I am doing this on CENTOS5.5
# This tutorial is designed to show you how to make an automated unattended installation of 10.4.2 LTS server…
1) get a copy of the disk: ubuntu-10.04.2-server-i386.iso
I got mine from internode as we have peering with them!
wget http://mirror.internode.on.net/pub/ubuntu/releases/10.04/ubuntu-10.04.2-server-i386.iso
…store this in /root because that’s an awesome place.
2) Now we mount the disk to mnt
mount -o loop /root/ubuntu-10.04.2-server-i386.iso /mnt
3) Now we will configure the webserver
yum -y install httpd
default location of www is /var/www/html
4) so make a directory to serve this ubuntu stuff from:
mkdir /var/www/html/ubuntu
5) Now move everthing into the ubuntu directory, so from inside /mnt issue this:
cp -R * /var/www/html/ubuntu
This should buzz around for a while with flashy lights — this is to be expected.
now start httpd:
service httpd start
Now, assuming you’ve setup tftp and its verified working, do the following:
I have setup the following as my TFTP directory: /data/tftpboot/
6) Create the directory ubuntu inside this:
mkdir /data/tftpboot/ubuntu
7) now in the /mnt do the following:
cd install/netboot/
8) copy this contents to the tftp dir
cp -R * /data/tftpboot/ubuntu
now assuming you have already configured DHCPD and its verified working you should dhcpd to the right pxelinux.0
9) edit dhcpd.conf in /etc/
make sure you add:
next-server 10.255.0.1;
filename “ubuntu/pxelinux.0”;
obviously adjust the configuration of next-server to suit your IP of tftpd location…. 😉
now restart dhcpd and verify you didn’t break config.
service dhcpd restart
10) now edit /data/tftpboot/ubuntu/pxelinux.cfg/default… delete what ever was in there and add:
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/i386/linux
append ramdisk_size=14984 locale=en_US console-setup/ask_detect=false console-setup/layoutcode=us netcfg/choose_interface=eth1 netcfg/get_hostname=testserver url=http://10.255.0.1/ubuntu-preseeds/preseed.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz — quiet
Note that append should be entirely one line…
11) then make another directory called ubuntu-preseeds inside webRoot.
mkdir /var/www/html/ubuntu-preseeds
Now we create the preseed and save it to this directory as preseed.cfg
I will attach this paste bin for it: http://pastebin.com/k02VMT1v
Boot and enjoy 😉
Cheers,
Karl Kloppenborg.
Hosting Options & Info | VPS | Web Solutions & Services |
---|---|---|
-
Greg