Creating TarHeel Linux Boot 6 on USB Key Drive

There are machines, laptop or desktop, which do not come with a CDROM drive.  In some cases, the CDROM is not accessible, broken or other reasons.  The default way to install TarHeel Linux 6 is through booting up the TarHeel Linux Boot 6 iso on CDROM.  Without CDROM drive, we can transfer files from the TarHeel Linux 6 iso file to an USB key drive.  Then, boot up the TarHeel Linux boot through the USB key drive and install TarHeel Linux.  Here is the procedure to create a TarHeel Linux Boot 6 on USB key drive.

A brand new USB key drive should have a FAT32 file system by default.  For an used USB drive, it will be easier to reformat it with a Windows machine.  Then, insert that USB key drive to any TarHeel Linux 6 machine.  The USB key drive should be mounted automatically with a mount point depending on the “Volume Label” when the key is formatted.  Run the “df -T” command to figure out how it is being mounted.

Filesystem    Type    1K-blocks      Used Available Use% Mounted on
...
...
/dev/sdf      vfat    15612224          8  15612216   1% /media/USB_16GB

The USB key drive is mounted as /media/USB_16GB through device /dev/sdf with filesystem type as vfat.

Log into the TarHeel Linux 6 machine as root and unmount the USB key drive.

umount /media/USB_16GB

Preferred Way

Make sure that you have installed EPEL repository configuration.

yum install epel-release

Then, install the livecd-tools package with this command.

yum install livecd-tools

The TarHeel Linux Boot 6 iso image file is downloaded from here.  Once you have that file and the USB key in place, we can run this command to transfer the TarHeel Linux Boot 6 iso image to the USB key.  In this command, the USB key is mounted to device /dev/sdf.  Adjust that mount point according to your setup.  Change /path/to/TarHeelLinux-6.4-boot.iso to the real path where you save the iso image.

livecd-iso-to-disk --format --reset-mbr /path/to/TarHeelLinux-6.4-boot.iso /dev/sdf

The command will first take a few minutes to format the USB key with ext3 file system.  Then, copy the TarHeelLinux 6.4 Boot iso image to the USB key.  When it is done, you then have the USB key which is capable of installing TarHeel Linux eliminating the need for a CDROM drive.

Obsolete Way

Use fdisk “d” command to delete all partition on the USB key drive, create a primary partition 1 using fdisk “n” command.  Use fdisk “t” command to change the partition type to “b” which is FAT32 file system. Make the partition bootable using fdisk “a” command..  Use the “p” command in fdisk, you should see the following.

   Device Boot     Start         End       Blocks   Id  System
/dev/sdf1   *          1       15262     15628272    b  W95 FAT32

So, now, we have a single bootable partition in FAT32 file system on the USB key drive.  Use the fdisk “w” command to write table to disk and exit.

Next, create VFAT file system on the primary partition on the USB key drive with this command.

mkfs -t vfat /dev/sdf1

At this point, the USB key drive is not mounted on the TarHeel Linux 6 machine yet.  Pull the USB key drive out and put it back in.  TarHeel Linux 6 will automatically mount the drive as /media/USB_16GB with device /dev/sdf1.

Check if you have syslinux package installed, if not, use this command to install it.

yum install syslinux

Then, we install and configure syslinux on the VFAT partition and create master boot record (MBR).

syslinux /dev/sdf1
dd if=/usr/share/syslinux/mbr.bin of=/dev/sdf

The TarHeel LInux Boot 6 iso is downloaded from here.  Instead of burning the iso file onto a CDROM disc, we can mount the iso file a a separate file system.  For example, if we download the iso file and save it in /home/cdpoon/Downloads directory, we can mount the iso as the following.

mkdir /media/iso
mount -o loop /home/cdpoon/Downloads/TarHeelLinux-6.4-boot.iso /media/iso

The mount point /media/iso now contains  the TarHeel Linux Boot 6 files and directories.  We can then copy those files and directories from /media/iso to /media/USB_16GB with this command.

cp -r /media/iso/isolinux/* /media/USB_16GB/

Then, rename the isolinux.cfg file on the USB key drive.

mv /media/USB_16GB/isolinux.cfg /media/USB_16GB/syslinux.cfg

Unmount the USB key drive from the TarHeel Linux machine and you get TarHeel Linix Boot 6 on USB key drive.

umount /media/USB_16GB

Unmount /media/iso to finish up.

umount /media/iso