Ubuntu 9.10 Alternate CD Installer Fails with Sony NEC DVD-ROM driver.
frikk posted this on Sunday, February 7th @ 1:20 pm EST in the categories:
Development
(first post in 2 years. Hello new decade! Prepare for incoming activity).
I'm setting up a new file server / simulation workstation at home. This is the first real server I have ever set up so I'm really taking my time. I am teaching myself how RAID-5 works (it is actually incredibly simple!) and using mdadm to create a software RAID array. I created the RAID array using an Ubuntu 9.04 LiveCD. Now that the array is set up, I am ready to install Ubuntu 9.10 onto the array. I have to use the Alternate CD that has raid tools built into the installer. This lets me install the root file system onto a built raid array instead of onto regular partitions.
My System:
Phenom II X2 550BE @ 3.1Ghz
Gigabyte MA785G-UD3H, F4b Bios
3x Western Digital 750GB Caviar Black SATA
2x PNY Optima 800mhz PC6400 DDR2
1x IDE DVD-RW unmarked, apparently a Sony NEC
dmesg identifies it as: _NEC DVD_RW ND-3550A 1.05
First I booted into the Alternate CD ncurses installer. I set up the RAID partitions for /, /home/ and /media, formatted them, and continued. At the next installer screen, the installer froze up around 77% with the error message
"Ubuntu 9.10 _Karmic Koala_ - Release amd64 (20091027)' in the drive '/cdrom' and press enter". The problem is that this is exactly what CD I have in the drive which is already mounted to /cdrom/. Pressing Enter doesn't do anything except re-load the error message.
The problem, as it turns out, is a bug in the Sony NEC DVD Driver that has been around for a couple years. It may be connected to using a 64-bit processor. You also have to be using the alternate CD and a Sony NEC DVD-ROM, apparently. There are currently two known workarounds:
- Remove the Sony DVD-ROM and use something else, like an old CD-ROM or a USB-DVD/CDROM. (since I am using a CD not a DVD this would have worked)
- Put the .iso image on a USB Flash Drive and do a "switcheroo" during the installation process. This is what I ended up doing.
So here's what I had to do.
- First, copy the ubuntu .iso (ubuntu-9.10-alternate-amd64.iso) image over to a usb flash drive. My flash drive is a Kingston 4GB flash drive, formatted FAT32 style so it can be read in OS X, Linux, and Windows.
- When you run the Ubuntu installer from the CD-ROM drive, you will go through several setup pages. Language, Keyboard, etc. Eventually you will get to the Disk Setup where you can do partitioning etc. For me, this is where I set up the raid array and mount points. It is important that you do the switcheroo at this screen because 1) The installer is paused and not reading from the CD-ROM and 2) If you continue past this page, you will start "installing the base system" which will hang if you still are using the CD-ROM.
- Switch to the Virtual Console by pressing Ctrl+Alt+F2. Press Enter to drop into a root shell
- Unmount the CD-ROM, ejecting the disk and physically removing the CD works just fine:
# eject /dev/cdrom
- Plug in and mount the USB flash device:
# mkdir /usbflash/
# mount -t vfat /dev/sdd1 /usbflash
- Mount the .iso image to /cdrom/
# mount -o loop -t iso9660 /usbflash/ubuntu-9.10-alternate-amd64.iso /cdrom/
- At this point the installation packages are in /cdrom/ and the ubuntu installer can read from the directory without encountering the CD-ROM driver bug. Woot.
Thats it. Check out the
Launchpad Bug @ Ubuntu Bug Tracker
I might as well add a little information about how I set up my RAID array. I used mdadm to configure a RAID-5 array using 3x750 Western Digital Caviar Black drives. Unfortunately they are all from the same batch (bought at same time from NewEgg during a special) so I could be at risk for a simultaneous drive failure. I am switching one of my drives out with a friend who had an identical 750GB WD Drive which will add some protection from simultaneous failure and also give me a chance to see how the RAID-5 re-building process works.
For those unfamiliar, a RAID-5 basically lets me use 2 more disks as one contiguous file system that provides redundancy for safety. The contiguous file system using N drives each with partitions of size SIZE will have the drive capacity of (N-1)*SIZE. If I had used a single partition on each of my 750GB drives instead of breaking them up, I would have a 1.5TB filesystem.
If a single disk in my array fails, I can pull it out and the array will function with only two of the disks. I will then replace the broken disk, the array will re-sync, and I will have redundancy again.
If two disks fail at the same time I am screwed. This is why it is important to try and get disks from different batches (ie: made at different times). For extra protection, I may eventually buy a 1.5TB external drive to backup (or do a RAID-1 mirroring array with my RAID-5 array) for additional data safety in the event that the RAID array dies. As it currently stands, I am still vulnerable in the event that a power surge or something similar takes out two drives; all data would be lost. In other words, RAID-5 provides safety but not backup.
I have partitioned each drive into 4 pieces:
Here is what /dev/sda looks like, all three (sda, sdb, sdc) are identical:
/dev/sda1: 3GB Swap Partition (Not part of RAID)
/dev/sda2: 15GB ext3 (for / filesystem)
/dev/sda3: 20GB ext3 (for /home/ filesystem)
/dev/sda4: 650GB ext4 (for /media/ filesystem)
After using the program "gparted" to create the partitions using an Ubuntu Live CD, I created 3 RAID-5 arrays using mdadm:
$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
$ sudo mdadm --create --verbose /dev/md1 --level=5 --raid-devices=3 /dev/sda3 /dev/sdb3 /dev/sdc3
$ sudo mdadm --create --verbose /dev/md2 --level=5 --raid-devices=3 /dev/sda4 /dev/sdb4 /dev/sdc4
mdadm used 64-byte chunk sizes for the array which I am happy with. No need to change the default settings.
I waited for each array to rebuild itself before starting on the next one. The first two arrays took about 5 minutes each to build because they are so small, the third array took about 2 hours. The nice thing about mdadm is that the rebuild happens in the background. If I wasn't using a Live CD I could reboot in the middle and apparently even install linux onto the devices and not affect the rebuild.
I can watch the rebuilding process like this:
$ sudo watch cat /proc/mdstat
When it is all said and done, I have three new devices that are free to be formatted, installed on, mounted, or whatever:
/dev/md0: 30GB ext3 (/) The Linux Install
/dev/md1: 40GB ext3 (/home/) For personal files & Documents
/dev/md2: 1.3TB ext4 (/media/) Movies, Music, TV Shows, etc.
I had some help from this
great tutorial
tagged under
Development | Last Updated 02.08.10 @ 8:11 am EST