Size: 3755
Comment: imported from the old wiki
|
Size: 8744
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= NetbootInstallHowto = | = Netboot Install = |
Line 3: | Line 3: |
== Netboot Install == This HOWTO describes an installation of Ubuntu on an old machine with a non-bootable SCSI CDROM. 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. |
This HOWTO describes the steps required to start an installation of Ubuntu over the network (if you have e.g. an old machine with a non-bootable CDROM). If you have a bootable CDROM and you are looking for a minimal CD image to download packages at install time, look at the [[https://help.ubuntu.com/community/Installation/MinimalCD]] |
Line 6: | Line 5: |
=== The scenario === | 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. |
Line 8: | Line 7: |
One old Celeron 400Mhz with non-bootable SCSI CDROM, (kanga, 172.31.0.242). This is the target for installation. It has a bootable floppy disk. | For instructions on how to use a windows computer as the TFTP and DHCP server, head to ["Installation/WindowsServerNetboot"]. |
Line 10: | Line 9: |
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, built from source. | See ["Installation/QuickNetboot"] for alternative step by step instructions. ~- (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 400Mhz with non-bootable CDROM, (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). |
Line 14: | Line 21: |
=== Setup DHCP-BOOT === | == Setup DHCP-BOOT == |
Line 16: | Line 23: |
On roo (the DHCP server): | === On roo (the DHCP server): === |
Line 27: | Line 34: |
* Download the Ubuntu netboot tar file from the [http://archive.ubuntu.com/ubuntu/dists/warty/main/installer-i386/current/images/netboot/pxeboot.tar.gz Ubuntu netboot archive]. | === 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 ==== * Insert the installation CD in the drive * Copy the netboot files into a suitable directory, e.g. /var/lib/tftpboot Dapper: {{{ sudo cp -av /media/cdrom0/install/netboot/* /var/lib/tftpboot/ }}} ==== If you do not have an installation CD ==== * Download the Ubuntu netboot tar file from: [http://archive.ubuntu.com/ubuntu/dists/warty/main/installer-i386/current/images/netboot/pxeboot.tar.gz Ubuntu Warty netboot archive], [http://archive.ubuntu.com/ubuntu/dists/hoary/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Hoary netboot archive], [http://archive.ubuntu.com/ubuntu/dists/breezy/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Breezy netboot archive] or [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Dapper netboot archive] or (still testing as of 7 September, 2006) [http://archive.ubuntu.com/ubuntu/dists/edgy/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Edgy netboot archive]. |
Line 30: | Line 59: |
Warty: | |
Line 31: | Line 61: |
tar -xzf pxeboot.tar.gz -C /var/lib/tftpboot/ chown -R nobody:nobody /var/lib/tftpboot |
tar -xvzf pxeboot.tar.gz -C /var/lib/tftpboot/ chown -R nobody:nogroup /var/lib/tftpboot |
Line 34: | Line 64: |
Hoary, Breezy, Dapper: {{{ tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/ chown -R nobody:nogroup /var/lib/tftpboot }}} |
|
Line 54: | Line 90: |
==== On some random machine: ==== | === If your target PC for installation can network boot === * Reboot the target PC * Interrupt the boot and enter the Bios settings screen * Choose the 'Network Boot' option * Resume booting * Marvel as the Ubuntu installer starts over the net ''Warning - don't forget to reset the bios to 'Boot from the hard disk' next time you reboot the PC ;-)'' === If your target PC for installation cannot network boot === ==== On any machine: ==== |
Line 68: | Line 121: |
=== Start the install === | ==== Start the install ==== |
Line 72: | Line 125: |
* Marvel as Ubuntu is installed over the net. | * Marvel as the Ubuntu installer starts over the net. |
Line 74: | Line 127: |
=== Q&A === * I've noticed you didn't add the interface MAC address. Each and every tutorial I've see stressed the importance of the MAC address to allow the net booting machine authorized on the boot server, is this redundent and can be ignored altogether? --SivanGreen |
= Q&A = * '''Q:''' I've noticed you didn't add the interface MAC address. Each and every tutorial I've see stressed the importance of the MAC address to allow the net booting machine authorized on the boot server, is this redundent and can be ignored altogether? --SivanGreen * '''A:''' "It Depends"(tm) Either way will work - each has pros and cons. You don't need it, but that increases the risk of some other machine's system getting installed over. |
Line 78: | Line 133: |
* Hmm, has someone gotten this to work? Using etherboot-5.3.12 with defaults (cd src ; make bin/via-rhine.zfd0 - the defaults include -DPXE_IMAGE and -DPXE_EXPORT ), the boot process seems to stop after loading the file from TFTP: | * '''Q:''' Hmm, has someone gotten this to work? Using etherboot-5.3.12 with defaults (cd src ; make bin/via-rhine.zfd0 - the defaults include -DPXE_IMAGE and -DPXE_EXPORT ), the boot process seems to stop after loading the file from TFTP: {{{Loading 192.168.0.2:pxelinux.0 ..(PXE)done}}} Also, it may be worth mentioning that the images from http://rom-o-matic.net/ (the referred-to Etherboot manual has a link to this site) don't support PXE images at all. --PeterParkkali * '''A:''' I have had good luck with both. I have used rom-o-matic.net for 4 or 5 nics, they do support pxe. * '''Q:''' The kernel in the Breezy netboot images doesn't contain driver XXXX which I need to install with. How can I rebuild the netboot kernel image & initrd.gz to include XXXX? --KeithHopkins = Note = On 2005-12-14 I tried to net-install a Breezy system, which bailed out during the second phase of the install with a {{{libesd-alsa0: Conflicts: libesd0 but 0.2.36-1ubuntu5 is to be installed}}} message. This is due to the archives being broken. If you run into this error, do the following. Edit the {{{pxelinux.cfg/default}}} file on your install server and add a category: |
Line 80: | Line 144: |
Loading 192.168.0.2:pxelinux.0 ..(PXE)done | label desktop kernel ubuntu-installer/i386/linux append base-config/package-selection=~t^ubuntu-standard$|~t^ubuntu-desktop$ vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432 root=/dev/rd/0 rw -- |
Line 82: | Line 148: |
Also, it may be worth mentioning that the images from http://rom-o-matic.net/ (the referred-to Etherboot manual has a link to this site) don't support PXE images at all. --PeterParkkali | Then start the netboot and type "desktop" at the prompt. (You can, of course, also change the {{{label linux}}} settings, just add {{{base-config/package-selection=~t^ubuntu-standard$|~t^ubuntu-desktop$}}} text to the append line, as shown above. Adding a category, as I did, is less invasive, it won't break extra things). Now the install should proceed just like a regular installation. |
Line 84: | Line 150: |
= 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 IP. In the following workaround, the target and server computers use the IPs 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 IPs. 2006-08-08 RSF |
|
Line 85: | Line 163: |
From CarlKarsten Sat Mar 19 02:26:55 +0000 2005 From: Carl Karsten Date: Sat, 19 Mar 2005 02:26:55 +0000 Subject: Local Net install Message-ID: <20050319022655+0000@https://www.ubuntulinux.org> This page inspired me to figure out how to install Hoary using the "net boot" that my box's bios suppoprts, and using a local server to host all of the files. It is close to working. -- CarlKarsten |
---- 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 ---- CategoryDocumentation CategoryCleanup |
Netboot Install
This HOWTO describes the steps required to start an installation of Ubuntu over the network (if you have e.g. an old machine with a non-bootable CDROM). If you have a bootable CDROM and you are looking for a minimal CD image to download packages at install time, look at the https://help.ubuntu.com/community/Installation/MinimalCD
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"].
See ["Installation/QuickNetboot"] for alternative step by step instructions.
(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 400Mhz with non-bootable CDROM, (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).
Assumption: You're firewalled and will not expose services used for this exercise to the world. You have a reasonable (ADSL) network connection.
Setup DHCP-BOOT
On roo (the DHCP server):
- In /etc/dnsmasq.conf, add the line:
dhcp-boot=pxelinux.0,roo,172.31.0.252
This machine already serves an IP address to kanga via DHCP.
- Restart dnsmasq.
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
- Insert the installation CD in the drive
- Copy the netboot files into a suitable directory, e.g. /var/lib/tftpboot
Dapper:
sudo cp -av /media/cdrom0/install/netboot/* /var/lib/tftpboot/
If you do not have an installation CD
Download the Ubuntu netboot tar file from: [http://archive.ubuntu.com/ubuntu/dists/warty/main/installer-i386/current/images/netboot/pxeboot.tar.gz Ubuntu Warty netboot archive], [http://archive.ubuntu.com/ubuntu/dists/hoary/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Hoary netboot archive], [http://archive.ubuntu.com/ubuntu/dists/breezy/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Breezy netboot archive] or [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Dapper netboot archive] or (still testing as of 7 September, 2006) [http://archive.ubuntu.com/ubuntu/dists/edgy/main/installer-i386/current/images/netboot/netboot.tar.gz Ubuntu Edgy netboot archive].
- Unpack into a suitable directory, e.g. /var/lib/tftpboot
Warty:
tar -xvzf pxeboot.tar.gz -C /var/lib/tftpboot/ chown -R nobody:nogroup /var/lib/tftpboot
Hoary, Breezy, Dapper:
tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/ chown -R nobody:nogroup /var/lib/tftpboot
- Enable the tftpd server. Add the following as /etc/xinet.d/tftp.
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 }
- Restart xinetd
killall -HUP xinetd
If your target PC for installation can network boot
- Reboot the target PC
- Interrupt the boot and enter the Bios settings screen
- Choose the 'Network Boot' option
- Resume booting
- Marvel as the Ubuntu installer starts over the net
Warning - don't forget to reset the bios to 'Boot from the hard disk' next time you reboot the PC ;-)
If your target PC for installation cannot network boot
On any machine:
- Build an Etherboot boot floppy. kanga (the installation target) has an 3Com 3c905 NIC
Download and unpack Etherboot (etherboot-5.3.9.tar.bz2 from SourceForge in my case).
Documentation from the [http://etherboot.sourceforge.net/doc/html/documentation.html Etherboot documentation page].
- Make the boot floppy (insert disk into drive :).
make bin/3c90x.zfd0
- (Subsititute your NIC type for 3c90x)
Start the install
- Boot the install target (kanga) from the etherboot boot floppy
- Marvel as the Ubuntu installer starts over the net.
Q&A
Q: I've noticed you didn't add the interface MAC address. Each and every tutorial I've see stressed the importance of the MAC address to allow the net booting machine authorized on the boot server, is this redundent and can be ignored altogether? --SivanGreen
A: "It Depends"(tm) Either way will work - each has pros and cons. You don't need it, but that increases the risk of some other machine's system getting installed over.
Q: Hmm, has someone gotten this to work? Using etherboot-5.3.12 with defaults (cd src ; make bin/via-rhine.zfd0 - the defaults include -DPXE_IMAGE and -DPXE_EXPORT ), the boot process seems to stop after loading the file from TFTP: Loading 192.168.0.2:pxelinux.0 ..(PXE)done Also, it may be worth mentioning that the images from http://rom-o-matic.net/ (the referred-to Etherboot manual has a link to this site) don't support PXE images at all. --PeterParkkali
A: I have had good luck with both. I have used rom-o-matic.net for 4 or 5 nics, they do support pxe.
Q: The kernel in the Breezy netboot images doesn't contain driver XXXX which I need to install with. How can I rebuild the netboot kernel image & initrd.gz to include XXXX? --KeithHopkins
Note
On 2005-12-14 I tried to net-install a Breezy system, which bailed out during the second phase of the install with a libesd-alsa0: Conflicts: libesd0 but 0.2.36-1ubuntu5 is to be installed message. This is due to the archives being broken. If you run into this error, do the following. Edit the pxelinux.cfg/default file on your install server and add a category:
label desktop kernel ubuntu-installer/i386/linux append base-config/package-selection=~t^ubuntu-standard$|~t^ubuntu-desktop$ vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432 root=/dev/rd/0 rw --
Then start the netboot and type "desktop" at the prompt. (You can, of course, also change the label linux settings, just add base-config/package-selection=~t^ubuntu-standard$|~t^ubuntu-desktop$ text to the append line, as shown above. Adding a category, as I did, is less invasive, it won't break extra things). Now the install should proceed just like a regular installation.
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 IP. In the following workaround, the target and server computers use the IPs 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 IPs. 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