Install Server: Difference between revisions
(→TFTP) |
(→TFTP) |
||
Line 159: | Line 159: | ||
</pre> | </pre> | ||
'''NOTE''' | '''NOTE''' Only i386 works right now. [[User:Koanhead|Koanhead]] ([[User talk:Koanhead|talk]]) | ||
====/etc/default/tftpd==== | ====/etc/default/tftpd==== | ||
TFTP_DIRECTORY="/srv/tftp" | TFTP_DIRECTORY="/srv/tftp" |
Revision as of 16:18, 9 May 2014
We have a chronic shortage of install media at FCS Workshops, so this is a project to mitigate the situation.
What it does
You set up a computer to boot from its network interface, plug in a network cable on the server's subnet, and boot into a Xubuntu Live session.
NOTE: currently the server is not configured as a Router. so netinst will not work. --Koanhead (talk) 12:47, 13 April 2014 (PDT)
References
- https://wiki.debian.org/PXEBootInstall
- http://www.serenux.com/2010/05/howto-setup-your-own-pxe-boot-server-using-ubuntu-server/
- http://www.serenux.com/2010/05/howto-get-an-ubuntu-live-cd-to-boot-off-a-pxe-server/
- https://wiki.ubuntu.com/LiveCDNetboot
- http://www.syslinux.org/wiki/index.php/PXELINUX
- https://www.debian.org/releases/stable/i386/ch04s05.html.en
This will probably also come in handy:
- https://help.ubuntu.com/community/LiveCDCustomization
- https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes
- http://cdimage.ubuntu.com/netboot/14.04/
- http://cdimage.ubuntu.com/xubuntu/releases/14.04/release/
Clients
Any computer with the following:
- Wired network interface supporting PXE (check BIOS)
- Enough RAM to support kernel + RAMdisk (currently >1 GiB, will be more with Ubuntu)
- Architecture supported by install image (currently i386)
Server
Hardware
Intel P4, 1024GB RAM, 160GB SATA disk Two NICs - one on mobo, one in topmost PCI slot
PROBLEMS
- GRUB is not properly installed, machine does not boot normally. Use grub-rescue prompt to boot
- http://gnu-linux.org/grub-rescue-commands.html
- https://www.gnu.org/software/grub/manual/html_node/GRUB-only-offers-a-rescue-shell.html
- https://www.gnu.org/software/grub/manual/html_node/Command_002dline-and-menu-entry-commands.html
- This may be due to incorrect BIOS / bus settings. There are only 2 SATA connectors on the mobo, and the drive only shows as Second Master or Fourth Master IIRC...
- Not currently configured to share internet access with DHCP clients.
- use squid?
- Synaptics touchpads don't seem to work with Trusty Tahr? Perhaps the iso is corrupt?
- Nope, it's a known bug in Trusty: https://bugs.launchpad.net/bugs/1265885
- Wishlist
- set up an APT cache.
- https://help.ubuntu.com/community/Apt-Cacher-Server
- squid-deb-proxy
Requirements
- At least one wired network interface
- Enough storage to hold OS, servers, and install images (currently fits in 8GiB)
OS
Debian Wheezy
Files
- /etc/network/interfaces
#wired allow-hotplug eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 #radio allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "FCSTEAMLAB" wpa-psk "whateveritis"
- /etc/default/
Edit isc-dhcp-server to specify which interface to use. Also found here is defaults for tftpd which so far do not need to be altered from what the package writes.
- /etc/exports
Config file for NFS. Run
exportfs -a
after editing this file.
/srv/
Top-level of files to be served.
- xubuntu-14.04-i386.iso - downloaded ISO image. Will be removed from test server (remember, it's tiny) but probably a good idea to keep it on the production machine.
- tmpmnt/ Directory for loop-mounting the iso images. You could serve the mounted images, but I prefer to copy the files.
tftp/
Files to be served over TFTP at boot. These include the kernel and initrd to boot into.
nfs/
Files to serve over NFS. Contents of the Trusty Tahr liveCD, basically.
DHCP
isc-dhcp-server with the following configs:
/etc/dhcp/dhcpd.conf
# lines retained from default preceded by a comment (like this one) ddns-update-style none; # option definitions common to all supported networks... option domain-name "installment.local"; option domain-name-servers 8.8.8.8, 4.4.2.1; default-lease-time 600; max-lease-time 7200; allow booting; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.3 192.168.0.127; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; } group { next-server 192.168.0.1; host tftpclient { filename "pxelinux.0"; } }
/etc/default/isc-dhcp-server
INTERFACES="eth0"
TFTP
tftpd-hpa
http://releases.ubuntu.com/12.04.4/ubuntu-12.04.4-desktop-i386.iso http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/
http://mirror.anl.gov/pub/ubuntu-iso/CDs-Xubuntu/14.04/release/xubuntu-14.04-desktop-i386.iso
- extract files from image
- place files in tftpd directory
mkdir -p /srv/tftp/ubuntu-livecd-boot/i386 mkdir -p /srv/ubuntu-livecd/i386 cp -av /media/cdrom/* /srv/ubuntu-livecd/i386 cp -av /media/cdrom/.disk /srv/ubuntu-livecd/i386 cp -av /media/cdrom/casper/initrd.lz /srv/tftp/ubuntu-livecd-boot/i386 cp -av /media/cdrom/casper/vmlinuz /srv/tftp/ubuntu-livecd-boot/i386
NOTE Only i386 works right now. Koanhead (talk)
/etc/default/tftpd
TFTP_DIRECTORY="/srv/tftp"