-   Fedora (
-   -   Fedora 16 Custom Bootable Thumbdrive Step-By-Step (

macemoneta 11-17-2011 02:10 PM

Fedora 16 Custom Bootable Thumbdrive Step-By-Step
I've updated my step-by-step instructions for creating a custom bootable thumbdrive for Fedora 16. You can get it here. I usually update it over the life of the release, as needed. A static copy follows:


Fedora 16 LiveCD-Creator Thumbdrive Step-by-step

Author: Mace Moneta

This process creates a custom bootable thumbdrive with the latest available Fedora 16 software. In addition, the rpmfusion repositories are preconfigured, and the list of software packages on the currently running system is used as the basis for the thumbdrive image.

As root, perform the following:

• Start by cleaning up problems on the system, reported by:

package-cleanup --orphans
package-cleanup --problems

Since the package list will be created from the running system, problems here will be problems in the creation of the image. If there are known issues, you will need to manually adjust the package list in thumbdrive.ks that gets created below. If you have installed a non-repository package, for example HandBrake-gui, you will need to remove HandBrake-gui from the list of packages in thumbdrive.ks.

• Create a working directory structure and change to it:

mkdir -p thumbdrive/livecd/cache
cd thumbdrive

• vi thumbdrive.ks and add the following. Modify options as you see fit:

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled --service=ssh
xconfig --startxonboot
part / --size 12000
services --disabled=atd,crond,iscsi,iscsid,ksm,ksmtuned,netfs,pcscd,portreserve,rpcbind,rsyslog,sendmail
repo --name=Fedora --mirrorlist=
repo --name=updates --mirrorlist=
repo --name=rpmfusion-free --mirrorlist=
repo --name=rpmfusion-free-updates --mirrorlist=
repo --name=rpmfusion-nonfree --mirrorlist=
repo --name=rpmfusion-nonfree-updates --mirrorlist=
repo --name=google-chrome --baseurl=
repo --name=Google --baseurl=
repo --name=google-talkplugin --baseurl=
repo --name=google-earth --baseurl=

• Create a package list from the current running system (requires a 4GB thumbdrive) with:

/usr/bin/yum -C --color=never list installed | \
/usr/bin/awk '{print $1}' | \
/bin/grep -v "^[0-9]\|^\@\|^\:$\|^Adding$\|^Loading$\|^Installed$\|^Loaded$" | \
/bin/sed -e 's/\.noarch$//;s/\.x86_64$//;s/\.i[3456]86$//' | \
/bin/sort -u >> thumbdrive.ks

echo '%end' >> thumbdrive.ks

You can edit thumbdrive.ks and remove any packages you don't want. For example, I typically remove large games and their data files (alienarena, tremulous, etc). Also, any packages that you added that are not in repositories (see the package-cleanup, above) should be removed or additional 'repo' entries should be added.

• Run livecd-creator:

livecd-creator --cache=./livecd/cache --shell --config=thumbdrive.ks --fslabel=F16-LiveCD

• Wait for the bash '#' prompt. You are now chrooted into the created image, so any changes you make are to the image, and not the real system.

• Set the PATH: PATH=$PATH:/sbin:/usr/sbin

• adduser liveuser as the default login user.

• passwd -d liveuser to remove the passwd for liveuser. Alternatively, you can set a password by omitting ‘-d’ for liveuser and root:

passwd liveuser
passwd root

• vi /etc/gdm/custom.conf and add:


• vi /etc/sysconfig/firstboot and add:


• sync to write all updates in the image.

• exit to continue the creation process. The next prompt you receive will be from the real system, not the image.

• You can test the image by booting it virtually, for example:

qemu-kvm -m 1024 -smp 2 -net nic -net user -hda F16-LiveCD.iso

• If it looks good, you can put it on a thumbdrive with the dd command. For this example, the thumbdrive is on ‘/dev/sdX’


dd if=F16-LiveCD.iso of=/dev/sdX bs=1M oflag=dsync

corp769 11-18-2011 11:20 PM

Nice write-up! I always wanted to create a live DVD/USB image of my current setup, and after reading this, I just might do it this way. Thanks!



kbkblee 04-15-2012 03:42 AM

I followed this instruction. At the end, I get

wils:/ exit
Unmounting directory /var/tmp/imgcreate-v2A4_q/install_root failed, using lazy umount
Unmounting directory /var/tmp/imgcreate-v2A4_q/install_root failed, using lazy umount
lazy umount succeeded on /var/tmp/imgcreate-v2A4_q/install_root
Error creating Live CD : fsck after resize returned an error (1)!
umount: /var/tmp/imgcreate-v2A4_q/install_root/sys/fs/selinux/load: not found

Can you help me more?

All times are GMT -5. The time now is 08:05 PM.