Monday, February 1, 2010

Installing Ubuntu from USB drive

I am not a very big Fan of Ubuntu, however Ubuntu has a lot of acceptance in the Opensource Community. So I decided that I would have to give a try.

On this Blog, I will present an installation method that it is very helpful for many System Admin.
Let's review the installation methods first:

1- Installing from CD. You will have to download the ISO image from Ubuntu, have a ISO burner software, a CD , and a CD drive. Today, many servers do not bring CD unit since they are a waste of space and hardware.
When you Installing from CD, you can have two options:
- Installing all packages from CD
- Installing all packages from Repositories. (You need DHCP, Repository, and network enable)

2- Installing from Network. This method is great however Ubuntu is not very good at this. You will need DHCP, TFTP, and Repository. Moreover, you will need to write down the MAC address of the server so you can configure DHCP and create a autoconfiguration file.

3- Installing from USB. This method is a variation of the CD, however Ubuntu is not straight forward with this installation method. There are many tutorials and blogs about installing Ubuntu and other Linux flavors, using USB drives, however they do not specify the complications during the installation process. To make an USB drive bootable is a very simple process, however making the installation from USB for Ubuntu is not.

My problem: I have a HP server with RAID controller (1 Logical Volume), no network connection, and no CD drive. I need to install Ubuntu 9.10 (Although it works for other versions too). I have my Laptop running with Windows (Creating a USB installer on Linux is a simpler process)

1- First get syslinux for Windows.


2- Download Ubuntu 9.10

3- Open ubuntu.iso file and copy isolinux dir from ISO to / USB.
There are many options to do that. You can mount the ISO as Virtual CD using http://poweriso.com/ or you can use an Zip software to grab that directory.

4- Rename directory isolinux to syslinux .
On isolinux dir, you can find isolinux.cfg, rename it to syslinux.cfg.

5- Create a directory named install on / USB drive.

6- Get vmlinuz and initrd.gz files for hd-media.


7- Copy vmlinuz and initrd.gz files to /install USB drive.

8- Run syslinux.exe -m Drive: (USB Drive letter)

9- Copy ISO image for Karmic-amd64 on USB

10- Boot from USB ( I assume that you know how to set up the BIOS to boot from USB)

11- Follow the installation process.

12- Before the end, when the installation has ended, you will have to make some modifications to grub. If you miss this part the server will not boot since the grub is looking for the USB Drive.

Press alt-F2.

On The command line:

# chroot /target

/target is the mounted root partition.

#vi /boot/grub/device.map

Delete the entry for (hd0) that set to USB
Modify (hd1) to (hd0) on your boot drive

Finally, set grub on the hard drive.
# grub-install

#exit


Then Boot server.

All done.




No comments:

Post a Comment