No Floppy? No CD/DVD? No Bootable USB ports? No Problem!
What I used for the installation:
- Debian based Linux Distro (CrunchBang++) on my Netbook to act as a Network boot server.
- Crossover cable (possible with 2nd hub/router setup)
- External USB Wifi adapter
Software for implementation:
- atftpd
- lftp
- isc-dhcp-server
- Ubuntu 15.04 (Vivid Vervet) Netboot
The Process
Install relevant packages with:
sudo apt-get update sudo apt-get installl netkit-inetd atftpd isc-dhcp-server lftp
Configure DHCP to allow the other computer to get an IP address from the network server via the crossover cable.
sudo vim /etc/dhcp/dhcpd.conf
This was all I used in my configuration file
ddns-update-style none; # option definitions common to all supported networks... option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; #------------- allow booting; # in this example, we serve DHCP requests from 192.168.0.(3 to 253) # and we have a router at 192.168.0.1 subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.3 192.168.0.253; option broadcast-address 192.168.0.255; # option routers 192.168.0.1; # our router # option domain-name-servers 192.168.0.1; # our router, again filename "pxelinux.0"; # (this we will provide later) } group { next-server 192.168.0.2; # our Server host tftpclient { filename "pxelinux.0"; # (this we will provide later) } }
Select the appropriate architecture of the system you want to install to from the Ubuntu Netbook installation file page. Download the file labelled: netboot.tar.gz
Create a ftp directory to extract this file into and then extract it:
sudo mkdir -p /srv/tftp sudo tar -xvzf netboot.tar.gz -C /srv/tftp
Set permissions:
sudo chown -R nobody:nogroup /srv/tftp sudo chmod -R 777 /srv/tftp
Configure the FTP server:
sudo vim /etc/default/atftpd
And this is what I used (disable INETD) and set the directory:
USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp"
Start the FTP server:
sudo invoke-rc.d atftpd start
Set the network interface:
sudo vim /etc/network/interfaces
And this is what I used:
source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.0.0.254
You may need to start the DHCP service (not sure if this is required)
sudo /etc/init.d/isc-dhcp-server start
At this point I needed to reboot my Netbook (the server) and then everything was working.
The client computer
Now hook the crossover cable from the client computer into the server computer. Also hook up the USB wifi adapter. You will need internet access outside of the crossover cable for installation thus the need for the USB wifi adapter. (a second ethernet port will work as well if it’s plugged into your home network with internet access).
Turn the client computer on while the server PC is running. The client computer should have the Boot From Network option set in the BIOS as the first boot device. When the computer boots up the network device will acquire an IP address from the server, then it checks for a network boot and finds the files in the tftp server and starts the Ubuntu installation on the client PC. Once start going through your settings Ubuntu will let you connect to your network via your wireless USB adapter to complete the installation.
Summary
I discovered this after going on vacation and trying to help out some family by installing Ubuntu on their PC. The only problem was their Pentium 4 would NOT boot from USB. So I followed bits of blog post instructions from, maybe, 5 different sources to get this working. Most instructions asked me to install packages that weren’t available to me.
One thing that’s really nice about the NetBoot install is that they offer many flavors of Ubuntu to install. My advice is pick a minimal installation with your desktop of choice and install your preferred packages after the main OS is installed and running.
Hopefully you found this useful! I didn’t plan on installing this way. But when you come across a computer where you can’t use bootable mediums then this is the way to do it!
Please feel free to comment, share, subscribe to my RSS Feed, and follow me on twitter @6ftdan!
God Bless!
-Daniel P. Clark