Dell's First Ubuntu Laptop
Dell recently began selling computers with Ubuntu Linux pre-installed. I was among the first to purchase one of these machines. Specifically I purchased (a laptop) the Inspiron E1505N.
At the time of my purchase, the base model was $599.00, but dell allows you to customize/upgrade components. I chose the maximum options at most prompts except for hard drive (which I had already purchased). My total was $1,648.00 with tax:
- Intel® Core™ 2 Duo processor T7200 (4MB Cache/2.00GHz/667MHz FSB)
- Ubuntu Edition version 7.04
- 15.4 inch UltraSharp™ Wide Screen SXGA+ Display with TrueLife™
- 2GB DDR2 SDRAM at 667MHZ, 2 DIMM
- 80GB 5400rpm SATA Hard Drive
- 8X CD/DVD Burner (DVD+/-RW) with double-layer DVD+R write capability
- 256MB NVIDIA® GeForce® Go 7300 TurboCache™
- 9-cell Primary Battery and 9-cell additional Lithium Ion Battery
- Intel PRO/Wireless 3945a/g
- 1Yr Ltd Warranty and Mail-In Service
When I turned on the 1505N, this is what I saw (click to enlarge):
You'll notice that the gradient in the background-image is rather rough. After the setup phase, it smoothed out, but not as much as you'd expect from the NVIDIA video card; this is because Dell didn't pre-enable the "NVIDIA accelerated graphics driver". However, Ubuntu provides an easy opportunity (see here on the right) to enable the video driver.
After filling out the user info, I quickly came to a authentication screen. I logged in.
The first thing I noticed after logging in, is that there were 50 updates to download and install. I hit the apply button, and Ubuntu proceeded to download and install the updates.
After the updates were installed, the system notified me that a reboot was in order. I approved and restarted the machine.
Here's where things got a little ugly. Upon reboot, I received this error:
Error 17: Cannot mount selected partition
The grub boot manager corrupted the /boot/grub/menu.lst file during the kernel update. The kernel update calls the update-grub command. This command does a very poor job of determining the bootable partition. When update-grub fails its attempts to determine the proper partition, it then resorts to choosing the default partition specified in /boot/grub/menu.lst at the line that starts "# groot=". However, Dell didn't modify this default value to reflect their placement of the operating system.
Here's are the lines (of menu.lst) that were currupted by the update:
Before Update: | After Update: |
Notice that "root (hd0,2)" was changed to "root (hd0,0)" (the wrong partition).
With help from this article, I was able to manually boot the machine. At the Error 17 screen, I hit the enter key and then pressed "c" which brought me to grub's command prompt. Here are the commands I typed:
- root (hd0,2)
- kernel /vmlinuz-2.6.20-16-generic root=/dev/sda6
- initrd /initrd.img-2.6.20-16-generic
- boot
The system booted up. I was able to fix the "/boot/grub/menu.lst" file by changing (hd0,0) back to (hd0,2) on the lines that start with "root". When I rebooted, the boot went successfully. However, this isn't a permenent fix. What will happen the next I perform a system update that contains a kernel update?
I decided to restore the factory defaults and find a fix that could survive the system update.
Fixing the problem
Here's a better fix. If you fix it this way, the Error 17 won't recur. After restoring the factory defaults, but before performing a system update, do the following:
- Open a terminal from the Ubuntu menu: Applications | Accessories | Terminal.
- Copy and paste the line below into the terminal (right-click and select paste in the terminal):
sudo nano /boot/grub/menu.lst
- Type in your password when prompted.
- Hold down the [ Ctrl ] key and press "w". This bring up a search prompt.
- Type "groot" (no quotes) at the search prompt and press the [enter] button. This will move the cursor to the first occurrence of the word "groot" in the menu.lst file.
- Locate this line:
# groot=(hd0,0)
- Change this line to:
# groot=(hd0,2)(Don't remove the "#")
- Hold down the [ Ctrl ] key and press "o". Then, press the [ enter ] key to save over the previous menu.lst file.
- Hold down the [ Ctrl ] key and press "x". This will exit you from the nano editor and bring you to a command prompt.
- Type "sudo update-grub", and press enter.
(hd0,2) is grub notation that indicates the root partition (see grub notation vs linux notation). Normally, a "#" sign at the beginning of a line indicates that the line is "commented out" (ignored). However, this is not the case for the "#groot" line above. Be sure to leave the "#" at the beginning; the parser expects it there, and it won't interpret our change without it there.
In Summary
After I solved this one problem, the Laptop worked perfectly. I've informed Dell about this problem and how to fix it.
Resources
Tell others about
this page:
About the Author
Comments? Questions? Email Here