Have something to say?

Ready to be published? LXer is read by around 350,000 individuals each month, and is an excellent place for you to publish your ideas, thoughts, reviews, complaints, etc. Do you have something to say to the Linux community?

Ubuntu "Stick" Blues - or USB for short

There could be several reasons why your PC doesn't have a CD-ROM. For example, the next scenario:

1) You damaged the mobo fan while hoovering dust,

2) The new fan you bought featured adhesive tape which didn't last at 60 degrees (C), and an iron cord didn't fix it, causing the fan to fall of,

3) The northbridge burned,

4) The new 'green' AMD780G mobo you bought could not facilitate both your CD-ROM and IDE drives,

5) Given your IDE drives were part of a RAID array, you decided not to connect your CD-ROM drives.

OK, your reasons will probably be different, but these are mine. "Not a problem" I thought. "After all, it's 2009. Who needs CD-ROMs anyway?" The answer is: Mandriva, Gentoo, Tinycore and even Windows 7 don't, but Debian derived stuff does. It makes your life really hard, while Ubuntu is meant to make your life as a human being simple.

Once, my systems hard drives were unbootable. That was a problem,
given my CD-ROM drives were not connected anymore. I thought of many solutions. Buying a
Promise-IDE card to connect the CD-ROM-devices via PCI. Buying new
SATA-DVD drives. Buying SATA-to-IDE connectors. But I decided not to buy
anything, and boot a recovery OS from USB instead when needed. Sure, I
could open the case, disconnect the IDE drives, connect the CD-ROM
drives, boot a LiveCD from one and burn a CD on the other and revert
all connections afterward. But after doing that once I decided it was
'too clumsy'.

My first try at booting from USB was with DSL. It booted without a
glitch, at the first try, but didn't support my network card given it's
2.4 kernel.
Later, as a Gentoo user, I became tired of compiling KDE and found out
that Kubuntu is recommended for developing KDE. I decided I was going to
use Kubuntu, especially given all the fuzz 'bout 9.10. "After all, it's
supposed to be a modern distro leading us into the new decade, those of
netbooks without CD-ROM!" I contemplated. Boy was I wrong.

Somebody was so nice to make UNetBootin. You just choose an OS and
version from a list, and it makes a bootable USB drive for you. Or if
the OS is not in the list, you give it an ISO file, and same result. I
have to stress UNetBootin was designed to boot Ubuntu without CD-ROM,
exactly what I wanted!

Well, it was not that easy. Kubuntu wouldn't boot. Not 9.10 RC. Not
9.04. Not Daily Build. Not when choosing it from the UNetBootin list,
not when providing ISO's to UNetBootin. Not Kubuntu alternate. Not when
manually running / editing the configuration of syslinux. Not when
copying the kernel / initrd to the harddisk and manually using GRUB to
boot. Not with Ubuntu 9.04. Not from SD over USB, not from my USB memory
stick. And not in many combinations of these.

There were several manners how this failed. For example, because
the Debian-installer wants you to have a CD-ROM-device. It won't let you
continue otherwise! This can be circumvented by loop-mounting in
busybox, and then using /dev/loop0 as a CD-ROM-device, just to make the
freakin' Debian installer happy. What nonsense. Please note you can't
loop mount to /mnt/0 because busybox doesn't want to accept that target,
it only seems to accept a dir in the root directory.

After that, it failed after starting CUPS and tuning my hard disks. It
just hung there.

That's why I decided to try something else. I provided a TinyCore ISO to
UnetBootin and it booted without a glitch. Could you believe that? It
ran X, and I was able to install things using a GUI and to browse using either Opera or Firefox.
Quite pleasant actually, apart from the graphics being a bit ugly due to
'simplified' drivers (VESA in combination with TinyX I guess) and
resolution.

Then I found a comparison of OpenSuse with Karmic, both using USB to boot. My OpenSuse try failed, because I didn't notice I was supposed to dd the
ISO-image to a block device (/dev/sdi) and not to a partition
(/dev/sdi1). This caused a major failure because Linux is not able to delete an ISO9660 file system. Believe me, because I and others tried. Luckily
there is decent stuff beyond Linux such as VirtualBox and Windows XP, so
this problem can be fixed after all, but not in Linux only.

With Mandriva Spring One / Free I didn't make the same mistake, and
apart from being a bit ugly it worked OK. However, it didn't come with a
CD-burning program, because I just decided maybe I should open my case
after all to burn a Kubuntu CD-ROM (while booting from USB).

After that I found out about PendriveLinux, but it tells you to burn an
Ubuntu CD-ROM, and after booting from that CD-ROM, go to the menu and
choose 'make LiveUSB'. Thanks for the effort, but how annoying, I don't have a #%^*$ CD-ROM device!

So I looked further, and finally found out about the
'detect-cdrom/try-usb=true' kernel parameter, which you should add just to make
sure the Debian-installer understands not every human being has a
CD-ROM-drive. Great, to be sure I copied all syslinux-config files to the
root of the filesystem of the USB-drive and ran syslinux on the
FAT-partition. Then Kubuntu finally booted. Into the command line, that
would be. So, I continued in the Gentoo way with X -config, and as sudo
I tried to run with that config, but it wouldn't let me. After copying
the file to /etc/X11/xorg.config it failed because it couldn't find
/dev/fb0. Too sad. Even worse, the CLI didn't come with lynx or links,
so I was not able to look for the error directly. So I fiddled with
apt-get - wihtout success. Please note in 'user-unfriendly'
distributions like the 50MB netinstall from Gentoo 'links' is provided
by default.

So as usually (this happened to me in Fedora before) I continued by replacing
the nv driver (in Fedora it was Nouveau) with VESA, and that's how I
finally was able to boot Kubuntu from USB.
"How is this supposed to be user friendly?" I asked myself.

Only two things would have to be changed to fix this: Add the try-usb
flag by default (or why not just fix the Debian installers assumptions?)
and a bulletproof X configuration, which has been proposed before.
Maybe provide an ISO which you can just dd, in the way Mandriva and
OpenSuse do. Until then, I will continue to have the Ubuntu
memory-'Stick' Blues.

Disclaimer: Yes, I know, I should have submitted bugs, asked on IRC and everything. But I wasn't expecting to participate in a development process, because if I was, I would happily continue to use Gentoo. I was expecting to run something for which participating in a development process was not necessary in the first place!