DellOptiplex320

Having had excellent experience installing Ubuntu on Dell desktop and laptop computers, we recently ordered two Dell Optiplex 320 machines. But when they arrived we discovered installing Ubuntu on these machines is actually quite a challenge.

The Optiplex 320 is Dell's budget business machine, so lots of people and companies have bought it, wanting cheap yet respectable performance to run Linux.

There are 2 bug reports, one fixed in 9.04 Jaunty Jackalope (still in development). https://bugs.launchpad.net/ubuntu/+source/grub/+bug/183202 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/138305

Probably, this guide will work in every distro, similar or not to Debian.

Ubuntu Karmic Koala

The LiveCD and install have worked flawlessly so far. --rednano12

Ubuntu Jaunty Jackalope

There is one bug resolve, so you don't have to add "hpet=disable" in Grub line. But, you must to use Grub2 or Lilo, please check all the steps below

Ubuntu Intrepid Ibex, Hardy Heron

The LiveCd don't work, but, you can put this line at the end of boot line:

hpet=disable

You must put this command again in /boot/grub/menu.lst, in the corresponding line.

On Live CD other options (F6) and this will boot.

When the install ends, don't restart yet. There is a bug with Grub, so you have to alternatives, use lilo, or use Grub2. For any of this options, we must first mount the root (/) on /mnt to work on it:

To determine on which partition Ubuntu was installed, we ran:

parted /dev/sda print

Since in our case Ubuntu was installed on /dev/sda2, we then mounted it with:

sudo mount /dev/sda2 /mnt

We are about to chroot to /mnt which will make our shell believe the /mnt hierarchy is actually located at the filesystem root: / Subsequently, programs using /dev will actually be using /mnt/dev, so we must first mount /dev on /mnt/dev:

sudo mount -o bind /dev /mnt/dev

Finally chroot to /mnt:

chroot /mnt

Now, we must to choose:

1. Use Grub2

(many people recommend this method cause Grub2 will be used by every major distros in replace of Grub 2, I don't have used this method)

First uninstall grub:

apt-get remove --purge grub

Update repository:

aptitude update

Then install grub2

aptitude install grub2

Install grub2 in the disk that we want.

grub-install /dev/sda

Finally, we update the grub

update-grub

In case that you have some Windows system, we must to:

Get into /etc/grub.d/

cd /etc/grub.d/

Create a "20_windows_xp"file:

nano 20_windows_xp

Paste this into the file

cat << EOF
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,1)
chainloader +1
}
EOF

Give him execution permissions:

chmod a+x /etc/grub.d/20_windows_xp

Finally run:

update-grub

2. Use Lilo

(I use this method and works!)

lilo is installed by default in Intrepid, but, if you must to install lilo, simply use:

sudo apt-get install lilo

So, after that, you must to config lilo:

sudo liloconfig

The liloconfig program is complaining here because it has not yet been updated to handle the recent improvements developers have made in our Ubuntu /etc/fstab files. The Liloconfig program doesn't recognize our filesystem (partition) UUID numbers in our Ubuntu /etc/fstab. More details about filesystem UUID numbers can be found in my Filesystems and Mounting Page, here is the link, About Edgy Eft's new /etc/fstab files with UUID filesystem ID added.

We will work around this for now by editing our /etc/fstab files in the old style until Lilo is installed.

sudo cp /etc/fstab /etc/fstab.backup

This is to make a backup of our /etc/fstab file, so we can restore it again easily when we are finished. It's a good thing to have anyway, you never know when it might come in handy at some other time in the future as well.

sudo nano /etc/fstab

This opens our /etc/fstab file so that we can edit it.

# /etc/fstab: static file system information.
#
# <file system> <mount point>       <type>           <options>                <dump>  <pass>

   proc          /proc               proc             defaults                  0       0

# /dev/hda2
UUID=61e29deb-c5c3-4401-8557-81482aedc839  /   ext3    defaults,errors=remount-ro 0       1

# /dev/hda1
UUID=124D-170D   /media/hda1         vfat    defaults,utf8,umask=007,gid=46       0       1

# /dev/hda5
UUID=a08d44f6-d681-4901-a7cc-345fc9fa9eb6 none  swap     sw                       0       0

/dev/cdrom      /media/cdrom0     udf,iso9660         user,noauto                 0       0

/dev/fd0        /media/floppy0      auto             rw,user,noauto               0       0

BEFORE. To 'hash out' a line in a text file that programs will look at, we simply place a '#' mark before the line. That makes programs in the operating system ignore that line. As you can see, the old style device names like 'dev/hda2' that LiLo understands, have been hashed out in our new style /etc/fstab files in favor of file system UUID numbers.

# /etc/fstab: static file system information.
#
# <file system> <mount point>       <type>           <options>                <dump>  <pass>

   proc          /proc               proc             defaults                  0       0

# UUID=61e29deb-c5c3-4401-8557-81482aedc839
/dev/hda2           /                ext3    defaults,errors=remount-ro         0       1

# UUID=124D-170D
/dev/hda1        /media/hda1         vfat    defaults,utf8,umask=007,gid=46      0       1

# UUID=a08d44f6-d681-4901-a7cc-345fc9fa9eb6
 /dev/hda5        none               swap                 sw                     0       0

/dev/cdrom      /media/cdrom0     udf,iso9660         user,noauto                 0       0

/dev/fd0        /media/floppy0      auto             rw,user,noauto               0       0

See, now the UUID numbers are hashed out (for now), and the fstab line are all edited to the traditional style? I had to do a little bit of fancy copying and pasting to get it looking like this, but now the UUID numbers are all behind hash marks and the lines without any hash marks are changed back to the old fashioned style /etc/fstab line style.

Now we are retrying the liloconfig again.

sudo liloconfig

You can expect to be given some information (below) and asked five easy questions. All you need to do is press enter to move on to the next screen, I always check Yes Option.

And after all this, the last thing to do is to run:

After, you must to run:

sudo /sbin/lilo

And that is all, your system will boot.

In case that you have some Windows system, we must to:

Add one line to lilo.conf

sudo nano lilo.conf

And add at the end of the file:

other=/dev/sda1
label="MS Windows XP"

Save and run:

sudo /sbin/lilo

And that is all.

THERE IS ONE PROBLEM WHEN YOU INSTALL A KERNEL UPDATE USING LILO

If your system have to install a kernel update, you will have problems related to initrans, maybe is because we uninstall grub, and, is trying to modify the file /boot/grub/menu.lst

If you want to update the kernel, you must to install grub

sudo apt-get install grub

Then, update your system normally, and after, uninstall grub again:

sudo apt-get remove --purge grub

And, run lilo:

sudo /sbin/lilo

I don't know if this problem also happen using Grub2, so, maybe, the solution in this case is similar to lilo fix.

REFERENCES: http://users.bigpond.net.au/hermanzone/p4.html http://www.ubuntu-ve.org/node/1739

DellOptiplex320 (last edited 2009-11-05 21:30:17 by rednano12)