[CentOS] Simplifying making a USB install key

Mon May 3 21:21:02 UTC 2010
Phil Schaffner <Philip.R.Schaffner at NASA.gov>

m.roth at 5-cent.us wrote on 04/30/2010 11:03 AM:
> Ok, where/how do I submit this to the CentOS project?
> 
> Here's a complete script - anyone, *please* feel free to test it, and let
> me know if I've missed anything.

Variation on your theme.  Uses ext2 and extlinux with no FAT partition. 
   Remove "-n" from sfdisk so changes are written.  Adds some error 
checking.:
----------------------------------------------------------------------------
#!/bin/bash
# ###################################
# Author: mark roth
# Date: 30 Apr. 2010
# Purpose: to create a working, bootable CentOS install on a USB key
#####################################

PATH=/sbin:/bin:/usr/sbin:/usr/bin

if [[ $# < 2 ]]; then
    echo "usage: $0 <devname> <path/to/install.iso>"
    echo "  Example: $0 sdb /scratch/CentOS-5.4-bin-DVD.iso"
    exit 1
fi

if [[ ! -f /usr/bin/livecd-iso-to-disk ]]; then
    echo "You must install livecd-tools before running this."
    echo "See: http://projects.centos.org/trac/livecd/wiki/GetToolset"
    exit 2
fi

if [[ -f $2 ]]; then
     if file $2 | grep -q "ISO 9660"; then
         echo "Using ISO image $2 ..."
     else
         echo "$2 is not an ISO image!"
         exit 3
     fi
else
     echo "$2 ISO image file not found."
     exit 4
fi

if [[ $EUID -ne 0 ]]; then
     echo "This script must be run as root."
     exit 5
fi

if sfdisk -l /dev/$1 >& /dev/null; then
     echo "Current partitions for /dev/$1:"
     sfdisk -l /dev/$1
     echo -n "Press <Enter> to continue or ^C to abort: "
     read aline
else
     echo "No such device /dev/$1"
     exit 6
fi

sfdisk -uM /dev/$1 << EOF
,,83,*
;
;
;
EOF

echo    "Remove and reinsert the USB key."
echo    "  Use Safely Remove first if in a GUI."
echo    "  Do not mount in GUI after reinsertion."
echo -n "  Press <Enter> to continue: "

read aline

mkfs /dev/${1}1

/usr/bin/livecd-iso-to-disk --reset-mbr $2 /dev/${1}1

echo "USB boot media of $2 done."

# end
----------------------------------------------------------------------------
Unfortunately the only system I have to test on at the moment boots the 
installer OK, then asks for the installation media, but doesn't see the 
USB device when Hard Disk is selected.  With the FAT partition and 
syslinux doesn't see the device as bootable at all.