Netboot Install

This HOWTO describes the steps required to start an installation of Ubuntu over the network. This is useful, for example, if you have an old machine with a non-bootable CD-ROM.

NOTE: Both netboot and installation from CD, of any release greater than 6.06, will fail on many SPARC machines with the message "Fast Data Access MMU miss". The netboot fails after A00000 bytes have been downloaded. The reason is, that SPARC only allocates around 4 MB for the kernel at boot time, and initrd exceeds this size.

Alternatives

If you have a bootable optical drive and you are looking for a minimal CD image to download packages at install time, look at the Installation/MinimalCD.

See Installation/QuickNetboot for alternative netboot instructions.

See Installation/NetbootInstallFromInternet for another (simpler) method which requires you to already have Grub installed, but does not require you to configure a DHCP or TFTP server.

See MAAS instructions to see how to set up a MAAS server which will deploy Ubuntu system through netboot.

Introduction

You must modify the host names and IP addresses in this HOWTO for your own setup. The principles described here are applicable to other DHCP and TFTP servers than those described below; using alternate server software is left as an exercise for the reader.

For instructions on how to use a windows computer as the TFTP and DHCP server, head to Installation/WindowsServerNetboot.

This HOWTO will get you as far as running the installer; if you want to perform automated or unattended installs of Ubuntu, see Installation/LocalNet.

The scenario

One old Celeron 420Mhz with non-bootable CD-ROM, (kanga, 172.31.0.242). This is the target for installation. It has a bootable floppy disk.

A DHCP server (roo, 172.31.0.252), using dnsmasq as the DHCP server. roo has a pretty much home made Linux on it. I added tftp-hpa to it (installation of tftp on Ubuntu or Debian is explained in further detail below). dnsmasq's tftp support is enough to netboot, but this example uses a separate tftp daemon.

Assumption: You are behind a firewall and will not expose services used for this exercise to the world. You have a reasonably fast network connection, not 56k dial-up.

Set Up DHCP-BOOT

On roo (the DHCP server):

  dhcp-boot=pxelinux.0,roo,172.31.0.252

This machine already serves an IP address to kanga via DHCP. (See "DHCP Note" below for help setting up this sort of arrangement.)

  /etc/init.d/dnsmasq restart

Install the tftp-server

There are two different versions for the Trivial File Transfer Protocol server, the original tftpd and tftpd-hpa. For Etherboot installation (see below) tftpd will suffice, but it cannot do PXE installs due to the lack of the tsize option. Use tftpd-hpa instead. On Ubuntu or Debian (adapt for other distros or install from source):

  apt-get install tftpd-hpa tftp-hpa xinetd

(Note: xinetd is not part of the default install)

If you have an installation CD

If you do not have an installation CD

  tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/
  chown -R nobody:nogroup /var/lib/tftpboot

  service tftp
  {
        disable                 = no
        socket_type             = dgram
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -v -s /var/lib/tftpboot
        only_from   = 172.31.0.240/28
        interface   = 172.31.0.252
  }

 killall -HUP xinetd

If your target PC for installation can network boot

If your target PC for installation cannot network boot

On any machine:

Start the install

Q&A

Note

For machines behind DHCP-enabled routers using the etherboot floppy method, the automatic detection of DHCP and TFTP servers may default to the router's address. In the following workaround, the target and server computers use the IP addresses for "kanga" and "roo" from the above example, respectively. After extracting the tarball for Etherboot, one can add the following lines to the file "Config" in the extracted "src/" directory:

CFLAGS+=    -DUSE_STATIC_BOOT_INFO
CFLAGS+=    -DSTATIC_CLIENT_IP=\"172.31.0.242\"
CFLAGS+=    -DSTATIC_SUBNET_MASK=\"255.255.255.0\"
CFLAGS+=    -DSTATIC_SERVER_IP=\"172.31.0.252\"
CFLAGS+=    -DSTATIC_GATEWAY_IP=\"172.31.0.252\"
CFLAGS+=    -DSTATIC_BOOTFILE=\"tftp://172.31.0.252/pxelinux.0\"

Running the appropriate make command for the target machine's interface will then create a bootable floppy which only connects to the chosen server. The DHCP server and dnsmasq are not necessary to use static IP addresses. 2006-08-08 RSF


I needed to disable the J-Micron SATA controller on Asus N4L-VM motherboard to make the network boot ROM run.


See also: Installation/LocalNet and http://wiki.heinous.org/index.php/Ubuntu_Notes

Note

As of 12/9/2006, the heinous.org link is dead. Also, etherboot does not support PCMCIA/PCcard. AFAIK, laptops with only PCMCIA NICs (wired or wireless) can not be ether booted.

Note

Following these instructions 11/11/07 with DHCP and TFTP from a SUSE 10 server / DELL C400 client, I needed to set filename "pxelinux.0" in the dhcpd.conf. I'm sure that for apt to work later it needs the "option domain-name-servers X.X.X.X; as well (i.e. the IP address of your DNS server / ADSL router). Don't forget Installation/LocalNet. That's the best page for this.

DHCP Note

I had a d-link router as my DHCP server, and had to do the following to get my linux box to be the DHCP server: 1) switched my workstation to have a static IP address (from "networking" under gnome-control-center). 2) turned off the DHCP server in my router (I assume this helps). 3) used these config lines in my /etc/dnsmasq.conf:

  dhcp-boot=pxelinux.0,jhome,192.168.0.103
  dhcp-range=192.168.0.5,192.168.0.99,12h
  dhcp-option=3,192.168.0.1

The IP address on the last line is that of the router (gateway). Hope that helps. -- Jason

Etherboot note

It is now possible to just to create and download an etherboot floppy image from http://www.rom-o-matic.net/ customized for your card.

Multiple Network Interface Note

If the system has multiple network interfaces (like a laptop with both wired and wireless Ethernet) the installer may select the wrong interface for downloading installer components. You can control it by specifying the boot parameter "netcfg/choose_interface". For example, using the default install option and specifying eth1 would be: install netcfg/choose_interface=eth1


CategoryInstallation

Installation/Netboot (last edited 2014-03-23 02:15:15 by cpe-76-180-122-192)