Installing CentOS 6.4 Using USB

One would think that installing CentOS using USB is fairly easy, however Linux often requires additional steps that go beyond ‘it just works’. I purchased a Dell PowerEdge T110 II server and decided on to run KVM on it. CentOS is built from RedHat sources so if you don’t want to pay RedHat, then CentOS is a good option.

1. Download CentOS from http://www.centos.org/modules/tinycontent/index.php?id=30. I used the 6.4 server image which is two DVD images, one is 4.1GB and the other is  1.4GB. For me Stanford mirror was the closest http://mirror.stanford.edu/yum/pub/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso. I used wget and also tried curl. After downloading for a few minutes, both would just stop downloading.  I used the verbose option to both to see if I could see some error messages, however that did not help.  Wget supports –continue option which will continue to download from where it left off if you kill wget or if the previous wget hangs, I found this option useful to download the file.

2. Next step was to create a USB bootable stick, I downloaded http://unetbootin.sourceforge.net/ which allows you to create bootable USB disks. I pointed Unetbootin to the ISO using my 8GB memory stick, and within 15 minutes I had a bootable USB drive.

3. I booted my Dell server and from the boot menu picked USB, which started CentOS. When CentOS came to the disk partition page it asked me for the CentOS ISO. Of course I did not have the ISO on the same USB stick, so I removed the stick and tried to copy the ISO on it, which did not work, since the file is 4.1GB and the USB was formatted with vfat which does not support files larger than 4GB. I then reformmated the USB with ext2, ran Unetbootin, copied the ISO, and tried to boot, but my Dell server would not boot from the ext2 partition of the USB. So I went back and got a 16GB USB stick, and made 2 partitions, one vfat size 4GB and another ext2 size 8GB. On the 8GB I copied the ISO image, and the 4GB vfat I made a bootable partition using Unetbootin. Using this I was able to boot the Dell and start the install. After that you should use Ctrl-Alt-F2 to switch to a shell prompt, and then try the following: ‘umount /mnt/isodir’, followed by ‘mount -t ext2 /dev/sda2 /mnt/isodir’.  Partition 2 of my USB had the ISO and it was /dev/sda2.  Then I switched back to the installer using Ctrl-Alt-F6 and choose Retry which caused the installed to continue.

4. CentOS default partition is not ideal, since it does not separate /var or /tmp. I created my own partition with /tmp, /var, swap, /boot, /boot/efi, /, /vm1, /vm2, /home. I used LVM for all of them except for /boot and /boot/efi. Since I had set my server to be in UEFI boot mode instead of BIOS, CentOS created /boot/efi partition as well.

5. A minimal server installation is what I picked when asked during the install, since I wanted to complete the installation quickly. I had used a USB 2.0 stick, my previous USB stick was 1.0 which was slow. It would have been nice to see USB 3.0 support on the Dell.

6. Once the installation completed, I was able to login with the account I had created earlier during the install.

A few links that you may find useful are:

  1. http://wiki.centos.org/HowTos/InstallFromUSBkey
  2. https://www.centos.org/modules/newbb/viewtopic.php?topic_id=32286
  3. http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-diskpartitioning-x86.html

How was your experience with installing CentOS using USB? Do share your comments below.