How do I create a bootable USB pen drive to start my CentOS / Fedora Linux? How do I create a bootable USB flash pen for installation of Linux, and for creation of rescue and other special-purpose boot disks using command line options?
You need to format your USP pen device as Win FAT32. Once formatted type the following commands to make it bootable.
Our Device Names
- USB Pen Device Name : /dev/sdb1
- DVD Mount : /media/cdrom0
- USB Mount Point : /media/usb
- USB File System : Win FAT32
- ISO or DVD Image : Fedora / CentOS / RHEL
To find information about your devices and current partitions run:
# dmesg | less
# dmesg | egrep -i 'cd|dvd'
# fdisk -l
Use the first command to identify the USB device name.
Mount CD/DVD ISO or DVD ITSELF
Type the following command to mount Fedora 12 iso image:
# mount Fedora-12-x86_64-netinst.iso -o loop /media/cdrom0/
# ls -l $DVD
total 6 dr-xr-xr-x 3 root root 2048 2009-11-09 05:37 EFI drwxr-sr-x 3 root 499 2048 2009-11-09 05:37 images drwxr-sr-x 2 root 499 2048 2009-11-09 05:36 isolinux
You need to use files stored in isolinux directory to create a bootable usb pen.
Create the fdisk partition:
# fdisk /dev/sdb
You need to create only 1 partition. Next format the partition:
# mkdosfs /dev/sdb1
Finally mount the partition:
# mkdir -p /media/usb
# mount /dev/sdb1 /media/usb
Copy Required Files
Type the following commands:
# cp -av $DVD/isolinux/* $USB
# cd $USB
# rm isolinux.bin boot.cat TRANS.TBL
# mv isolinux.cfg syslinux.cfg
Also copy the installer's initial RAM disk $DVD/images/pxeboot/initrd.img (for CentOS / RHEL Linux use $DVD/RedHat/images/pxeboot/initrd.img file) CD/DVD onto the usb drive:
# cp -v $DVD/images/pxeboot/initrd.img $USB
Unmount the USB drive
# umount /dev/sdb1
Make the USB Bootable
Type the following command to make the USB drive bootable
# syslinux /dev/sdb1
# mount /dev/sdb1 $USB
syslinux is a boot loader for the Linux operating system which operates off an MS-DOS/Windows FAT filesystem.
Type the following command to install GRUB on the USB device:
# grub-install --root-directory=$USB /dev/sdb
# cd $USB
# mkdir -p boot/grub
Edit the grub.conf file
default=0 timeout=5 root (hd1,0) title Fedora Linux kernel /vmlinuz initrd /initrd.img
Finally, unmount the USB pen drive, enter:
# umount /dev/sdb1
Your USB pen is ready and should be bootable from the USB device. This can be used to install Fedora or CentOS or RHEL. You can also copy other required tools (such as sniffers or data recovery tools) on this pen. This is left as exercise for the reader.
Unetbootin Installer of Linux/BSD Distributions (GUI Tools)
If command line options are too complicated to follow. Try UNetbootin, which allows you to create bootable Live USB drives for a variety of Linux distributions from Windows or Linux, without requiring you to burn a CD. To install to a partition or USB drive type the following command:
$ sudo apt-get install unetbootin
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: lsb-desktop m4 aggregate lsb pax lsb-graphics lsb-core ncurses-term lsb-cxx Use 'apt-get autoremove' to remove them. The following extra packages will be installed: unetbootin-translations The following NEW packages will be installed: unetbootin unetbootin-translations 0 upgraded, 2 newly installed, 0 to remove and 9 not upgraded. Need to get 428kB of archives. After this operation, 1,843kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://archive.ubuntu.com karmic/universe unetbootin 356-1 [223kB] Get:2 http://archive.ubuntu.com karmic/universe unetbootin-translations 356-1 [205kB] Fetched 428kB in 2s (156kB/s) Selecting previously deselected package unetbootin. (Reading database ... 254825 files and directories currently installed.) Unpacking unetbootin (from .../unetbootin_356-1_amd64.deb) ... Selecting previously deselected package unetbootin-translations. Unpacking unetbootin-translations (from .../unetbootin-translations_356-1_all.deb) ... Processing triggers for desktop-file-utils ... Processing triggers for man-db ... Setting up unetbootin (356-1) ... Setting up unetbootin-translations (356-1) ...
Type the following command to start unetbootin:
Say Hello To "USB Startup Disk Creator"
You can also use "USB Startup Disk Creator" utility in Ubuntu that creates a persistent Ubuntu image on a USB disk. This is called a "Live USB". You can use the Live USB to install Ubuntu on your computer or to run Ubuntu without affecting your system hardware. You need USB disk 1 GB (2GB is suggested) or larger in size and Ubuntu systems 8.10 or later. You also need Ubuntu ISO Image which can be downloaded from the official website. To start USB Startup Disk Creator visit
System > Administration > USB Startup Disk Creator
- Click the Other... button and specify the Ubuntu image you downloaded in the previous step.
- Under USB Disk to use your USB disk is highlighted.
- To make the Live USB a writeable disk, indicate how much memory to use for extra storage. If you don’t want the Live USB to be modifiable, select the second option, Discarded on Shutdown.
- Finally click Make Startup Disk to make a Live USB.
Finally, you can always use LiveCDs to recover or fix Linux system issues.
- See man pages - fdisk, mkfs, syslinux, and usb-creator-gtk (Ubuntu specific tool)