How to: Install Linux without a CD-Rom
I recently came across a puzzling problem: how to install Ubuntu Server 10.4 on the beast you see below.

It's a Norhtec MicroClient PC, fanless, about the size of a cigarette packet, that runs from a CF card (that large slot you see on the front). The idea was to bung a USB drive in one of the other slots and use it as a simple home backup server. We're not looking at blinding performance here, just something ticking over quietly in a cupboard doing differential backups.
The problem is this: while you can begin the installation from a USB drive, part way in it demands a CD-Rom, at which point you enter a deadly bind which I'll summarise here:
Load CD-Rom drivers? <yes> None found. Fail.
Load CD-Rom drivers? <no> Manually select them? <no> None found. Fail.
Load CD-Rom drivers? <no> Manually select them? <yes> Nothing in the selection list. Fail.
Every time the result was the same ...

One alternative is to mount the CF card on a CD-Rom-equipped machine and install it from there -- but that's not satisfactory because of hardware differences between the two machines. Another is to do a network installation or internet installation, both of which, frankly, involve a lot of mucking around, to say nothing of requiring a pre-exsting a network.
There must be a simple answer, I thought. And there is!
I searched high and low until I finally came across this, a brief how-to on the Acer Aspire Revo User forum. The answer, it turns out, is blindingly obvious: start with two copies of the installation image, boot with the first, then mount a second on a virtual CD-Rom and continue from there. Here's the process, step-by-step. You'll need a USB stick of at least 2GB.
1. Download Ubuntu and burn the image to the USB drive as usual. (Excellent details on how to do so at Step 2, here.)
2. Add a second copy of the .iso file. In this case I copied ubuntu-10.04-server-i386.iso to the USB.
3. Boot and install as usual in the targe machine until you reach the "Load CD-Rom drivers?" step. Choose No then, at "Manually select?" choose Yes.
4. Hit Ctrl+Del+F2 to take you into fresh virtual console and do the following ...
5. Identify your USB drive:
ls -l /dev/sd* |
6. Create a new folder called ISO:
mkdir /iso |
7. Mount the drive on it:
mount -t vfat
/dev/sdx /iso |
8. Now here's the cunning bit. Create a link from the second copy of the installation image to the target machine's CD-Rom device:
ln -sf
/iso/ubuntu-10.4-server-i386.iso /dev/sr0 |
9. That's it! Hit Ctrl+Del+F1 to return to the installation screen. Where it asks you for the "Device for accessing the CD-Rom" enter:
/dev/sr0 |
... and you're away. Installation proceeds from what the system thinks is a CD-Rom but is actually a virtual drive linked to the USB. Oh the joys of Linux, where everything is a file!
One further point. A bit later on in the installation, at the partitioning stage, you'll be given the option of unmounting /dev/sdx. Pick No!

PC World is New Zealand’s top selling computing and technology magazine.
Comments
Thank you so much for this.
All the other information on the Internet was way more complicated than it needed to be.
Although your instructions are very clear and nearly perfect, there are 2 minor issues I had:
1. Ctrl+Del+F2 should be Ctrl+ALT+F2, and Ctrl+Del+F1 should be Ctrl+ALT+F1
2. windows had created partitions on my usb stick, so my dev was /dev/sdb1 instead of /dev/sdb.
Other than these minor problems, great instructions!
Thanks,
Tom
Posted by: Thomas Nguyen | June 21, 2011 9:43 AM
That's a really good tip Geoff. Did you explore the boot from iso option and if you did, would it have made any difference?
@ Macais, sounds like you're referring to a regular desktop install, not a server install. Ubuntu as a desktop system has no troubles with operating and installing from a thumb drive, as do many other Linux distros, and unetbootin is a very good tool for taking an iso image and creating a bootable flash drive from it. The Ubuntu Server install routine is almost identical to the Debian install, which has been known to stump many people, but server admins should know their way around such trivial things as Geoff has shown. Gotta love Tux.
Mike P
Posted by: Michael Pavletich | June 14, 2010 8:51 PM
It has to be something broken in Ubuntu installer, because I don't remember such issue with opensuse. Running it from pendrive is as valid as running from CD.
The most interesting from me was the link to this device, it is great :-). Thank you!
Posted by: macias | June 6, 2010 8:26 PM