NetworkBooting
1. Introduction
1.1 Preseeding
2. TFTP and PXE Summary
Introduction
Installing computers from CD's is a slow, manual process. Therefore I create a network boot server so I can install Debian and Ubuntu via the network (nearly) automatically. I choose not to automate the partition setup as all my computers have different roles and disk partitioning requirements. There are several steps to creating a network boot server...Preseeding
An MD5 hash for a password can be generated using the following command.echo "r00tme" | mkpasswd -s -H MD5
Debian
To come...Ubuntu
d-i debian-installer/locale string en_GB
d-i console-setup/ask_detect boolean false
d-i console-tools/archs select at
d-i console-keymaps-at/keymap select gb
d-i netcfg/choose_interface select eth0
#d-i netcfg/disable_dhcp boolean true
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string ubuntu
d-i netcfg/get_domain string home.flexion.org
d-i netcfg/wireless_wep string s:YourSSID
d-i mirror/protocol string http
d-i mirror/country string enter information manually
d-i mirror/http/hostname string slug
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
d-i mirror/suite string stable
d-i partman-auto/disk string /dev/discs/disc0/disc
# In addition, you'll need to specify the method to use.
# The presently available methods are: "regular", "lvm" and "crypto"
d-i partman-auto/method string regular
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/confirm boolean true
# If not, you can put an entire recipe into the preconfiguration file in one
# (logical) line. This example creates a small /boot partition, suitable
# swap, and uses the rest of the space for the root partition:
d-i partman-auto/expert_recipe string \
boot-root :: \
384 50 512 ext3 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext3 } \
mountpoint{ /boot } \
. \
512 512 100% linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
500 10000 1000000000 ext3 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext3 } \
mountpoint{ / } \
.
# This makes partman automatically partition without confirmation.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i clock-setup/utc boolean true
d-i time/zone string Europe/London
d-i apt-setup/uri_type select http
d-i apt-setup/country select enter information manually
d-i apt-setup/hostname string gb.archive.ubuntu.com
d-i apt-setup/directory string /ubuntu
d-i apt-setup/another boolean false
d-i apt-setup/security-updates boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i apt-setup/multiverse boolean true
d-i apt-setup/backports boolean true
d-i passwd/root-login boolean false
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
#d-i passwd/root-password-crypted password [MD5 hash]
# To skip creation of a normal user account.
#d-i passwd/make-user boolean false
# To create a normal user account.
d-i passwd/user-fullname string Martin Wimpress
d-i passwd/username string martin
d-i passwd/user-password password YourPasswd
d-i passwd/user-password-again password YourPasswd
#d-i passwd/user-password-crypted password [MD5 hash]
d-i debian-installer/allow_unauthenticated string true
# Ubuntu CLI
tasksel tasksel/first multiselect
d-i pkgsel/language-pack-patterns string
d-i pkgsel/install-language-support boolean false
# Ubuntu Desktop
#tasksel tasksel/first multiselect ubuntu-desktop
# Individual additional packages to install
d-i pkgsel/include string openssh-server debconf-utils
d-i popularity-contest/participate boolean false
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note
d-i cdrom-detect/eject boolean false
TFTP and PXE Summary
We've installed a 'pxelinux.0' file which will instruct booting clients to request out customised 'pxelinux.cfg/default' configuration. This will display a list of the available boot options but only if SHIFT, ALT, CAPS LOCK or SCROLL LOCK are depressed during the PXE/TFTP initialisation. If those keys are not depressed the PXE boot loader simply instructs the system to boot directly from hard disk. Network booting and installing from a local "mirror" are now possible.- By default the PXE network loader will not present a boot prompt and will directly boot from the local hard disk.
- If you hold down SHIFT, ALT, CAPS LOCK or SCROLL LOCK during the PXE/TFTP initialisation then it will cause the Network Boot menu to load.
- Choose the OS your want to install and press ENTER.
- When the OS boot prompt appears, you have to invoke an install mode by typing the appropriate, such as 'install' or 'cli' for example.
- If you simply press ENTER, the computer will boot from the hard disk.
- http://d-i.alioth.debian.org/manual/example-preseed.txt
- http://interthingy.com/digby/preseed
- https://help.ubuntu.com/7.04/installation-guide/example-preseed.txt
- http://www.debian-administration.org/articles/535
- http://www.debian-administration.org/articles/478
- http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install
- http://www.howtoforge.com/local_debian_ubuntu_mirror
- http://linux.spiney.org/using_the_debian_etch_dvd_as_local_mirror
- https://help.ubuntu.com/community/Installation/LocalNet
- http://wiki.centos.org/HowTos/PXE/PXE_Setup/Menus
- http://www.devlib.org/forums/installing-ubuntu-over-t6365.html?s=bdcc34cb577f3501ba398c553eeb8838&
$Id: NetworkBooting,v 1.24 2008/01/07 22:47:05 martin Exp $
Wiki Index All Recent Edit Top

