Install Server: Difference between revisions

From Free Geek Seattle
No edit summary
No edit summary
Line 8: Line 8:


NOTE: currently the server is not configured as a [[Router]]. so netinst will not work. --[[User:Koanhead|Koanhead]] ([[User talk:Koanhead|talk]]) 12:47, 13 April 2014 (PDT)
NOTE: currently the server is not configured as a [[Router]]. so netinst will not work. --[[User:Koanhead|Koanhead]] ([[User talk:Koanhead|talk]]) 12:47, 13 April 2014 (PDT)
=Status and To-Do=
The server is UP and Functional? 2014-10-25 [[User:Mfoster|Mfoster]] ([[User talk:Mfoster|talk]]) 13:24, 25 October 2014 (PDT)-
The server should have a flawless boot operation. Currently not the case.
The server should have Xubuntu 14.04 (Trusty) boot/install. Currently it has (just) 12.04 (Precise)


=References=
=References=

Revision as of 16:24, 25 October 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)

Status and To-Do

The server is UP and Functional? 2014-10-25 Mfoster (talk) 13:24, 25 October 2014 (PDT)-

The server should have a flawless boot operation. Currently not the case. The server should have Xubuntu 14.04 (Trusty) boot/install. Currently it has (just) 12.04 (Precise)

References

This will probably also come in handy:

Clients

Any computer with the following:

  1. Wired network interface supporting PXE (check BIOS)
  2. Enough RAM to support kernel + RAMdisk (currently >1 GiB, will be more with Ubuntu)
  3. 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

  1. At least one wired network interface
  2. 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
  1. extract files from image
  2. 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"

NFS

/etc/exports

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

#Live ubuntu i386

/srv/nfs/live-files/i386   *(ro,async,no_root_squash,no_subtree_check)
/srv/nfs/live-files/amd64   *(ro,async,no_root_squash,no_subtree_check)