Installing Ubuntu on the Old Sony Vaio without a CDROM

Now that Weilai had to return her dell laptop, she had the idea to resurrect her old Sony Vaio PCG-R505DL laptop(She didn't like my wide screen HP because it's too big). Since the CDROM for this laptop - which is on the dock - is broken, I've had to install linux on it the last time I resurrected it by starting out with a floppy to boot and then going to the network - it was a Mandrake install. This time I wanted to install Ubuntu on it since it's the best distribution nowadays. However, installing Ubuntu from floppy isn't very well documented. I also looked at installing fro a USB stick, but unfortunately my BIOS didn't supporting booting from it. I've had to dig around for this one. The solution to my problem was found here - network booting using PXE. The steps were essentially:

  1. make a gPXE boot floppy
  2. setup a tftp server that serves a subdirectory of the contents of the ubuntu CD - which has the boot file needed for the client to boot
  3. runand configure your own dhcpd server on the local network which will tell the client - our vaio in this case - where to get the boot file when it boots up
  4. boot the client with the floppy

What you need to understand is that the network communications are all going to be happening in levels lower than IP and TCP. They are happening at the DHCP and UDP level (although you have the option of using http in place of tftpd now with gPXE). So, all that's required for the discovery is for your intranet to have one dhcp server running which is configured to tell the client that's booting the right boot file. The discovery is done is a broadcast fashion because it's part of the dhcp protocol. I am explaining this because this was confusing to me.

For me, I had to change a couple of steps. First, I didn't have a linux box at home, only a Mac. But getting dhcpd installed was not hard, I found step-by-step instructions here. And tftpd already comes with OSX, to my surprise, so I simply had to turn it on:
sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist
This page was helpful there. The tftp server is serving files from /private/tftpboot, so I copied the boot files into that directory - which I found from
http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/

Also, it turns out that I did not need a floppy for my installation at all - eventhough I uselessly made one. The BIOS already had the ability to network boot using the PXE protocol, I just had to turn the option on.

After that, the laptop booted straight to the ubuntu install prompt, and it installed as normal. Brilliant! This really opened my eyes to how cool network booting is, I wonder if you could run the laptop as a thin terminal running say OSX... I am sure you can, actually, but I just don't know how to set up the boot images on the servers side. Hmm...

blog comments powered by Disqus