Open gedit and copy this:
Code:
lang en_US.UTF-8
keyboard us
timezone Europe/Bucharest
auth --useshadow --enablemd5
selinux --enforcing
firewall --enabled
xconfig --startxonboot
services --enabled=restorecond --disabled=avahi-daemon,dnsmasq,fcoe,ip6tables,lldpad,lvm2-monitor,mdmonitor,mdmonitor-takeover,multipathd,ntpdate,pppoe-server,rdisc,snmpd,snmptrapd,wpa_supplicant,zvbid
part / --fstype=ext4
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=i386
repo --name=rpmfusion-free --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-16&arch=i386
repo --name=rpmfusion-free-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-16&arch=i386
repo --name=rpmfusion-nonfree --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-16&arch=i386
repo --name=rpmfusion-nonfree-updates --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-16&arch=i386
repo --name=livna --baseurl=http://rpm.livna.org/repo/16/i386
repo --name=adobe --baseurl=http://linuxdownload.adobe.com/linux/i386/
######## minimal installation ########
%packages
@core
@romanian-support
anaconda
kernel-PAE
isomd5sum
memtest86+
grub2
grub2-efi
efibootmgr
firstboot
ntp
yum-plugin-fastestmirror
yum-presto
gdm
gnome-panel
plymouth-theme-charge
xorg-x11-drivers
-audit
gnome-shell
nautilus
-sendmail
gnome-packagekit
NetworkManager-gnome
xdg-user-dirs-gtk
######## minimal installation ########
b43-openfwwf
brasero-nautilus
cabextract
ccsm
cheese
compiz-fusion-extras
compiz-fusion-unsupported
compiz-gnome
compiz-plugins-main
dvgrab
eject
ekiga
empathy
eog
file-roller-nautilus
firefox
foomatic
gcalctool
gedit
gnome-backgrounds
gnome-disk-utility-nautilus
gnome-media
gnome-password-generator
gnome-power-manager
gnome-system-log
gnome-system-monitor
gnome-terminal
gparted
gutenprint-cups
gutenprint-foomatic
gwget
hfsplus-tools
hplip
iwl5000-firmware
libreoffice-calc
libreoffice-impress
libreoffice-langpack-ro
libreoffice-writer
libsane-hpaio
livecd-tools
man-db
man-pages
mc
microcode_ctl
mozilla-adblockplus
mozilla-googlesharing
mozilla-https-everywhere
mozilla-noscript
nautilus-open-terminal
nautilus-search-tool
nautilus-sendto
nautilus-sound-converter
oggconvert
p7zip-plugins
PackageKit-gstreamer-plugin
PackageKit-gtk-module
PackageKit-gtk3-module
pciutils
policycoreutils-gui
policycoreutils-restorecond
preload
rp-pppoe
shotwell
simple-scan
sound-juicer
soundconverter
system-config-firewall
system-config-language
system-config-network
system-config-network-tui
system-config-printer
system-config-printer-udev
systemd-gtk
totem-nautilus
transmission-gtk
usb_modeswitch
usbutils
v4l-utils
wine
yum-utils
zip
audacity-freeworld
avidemux-gtk
devede
ffmpeg
ffmpeg2theora
gstreamer-ffmpeg
gstreamer-plugins-bad
gstreamer-plugins-ugly
kmod-staging-PAE
#kmod-wl
lame
unrar
vlc
libdvdcss
adobe-release
AdobeReader_enu
flash-plugin
%end
%post
# FIXME: it'd be better to get this installed from a package
cat > /etc/rc.d/init.d/livesys << EOF
#!/bin/bash
#
# live: Init script for live image
#
# chkconfig: 345 00 99
# description: Init script for live image.
. /etc/init.d/functions
if ! strstr "\`cat /proc/cmdline\`" liveimg || [ "\$1" != "start" ]; then
exit 0
fi
if [ -e /.liveimg-configured ] ; then
configdone=1
fi
exists() {
which \$1 >/dev/null 2>&1 || return
\$*
}
touch /.liveimg-configured
# Make sure we don't mangle the hardware clock on shutdown
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
# mount live image
if [ -b \`readlink -f /dev/live\` ]; then
mkdir -p /mnt/live
mount -o ro /dev/live /mnt/live 2>/dev/null || mount /dev/live /mnt/live
fi
livedir="LiveOS"
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##live_dir=}" != "\${arg}" ]; then
livedir=\${arg##live_dir=}
return
fi
done
# enable swaps unless requested otherwise
swaps=\`blkid -t TYPE=swap -o device\`
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -n "\$swaps" ] ; then
for s in \$swaps ; do
action "Enabling swap partition \$s" swapon \$s
done
fi
if ! strstr "\`cat /proc/cmdline\`" noswap && [ -f /mnt/live/\${livedir}/swap.img ] ; then
action "Enabling swap file" swapon /mnt/live/\${livedir}/swap.img
fi
mountPersistentHome() {
# support label/uuid
if [ "\${homedev##LABEL=}" != "\${homedev}" -o "\${homedev##UUID=}" != "\${homedev}" ]; then
homedev=\`/sbin/blkid -o device -t "\$homedev"\`
fi
# if we're given a file rather than a blockdev, loopback it
if [ "\${homedev##mtd}" != "\${homedev}" ]; then
# mtd devs don't have a block device but get magic-mounted with -t jffs2
mountopts="-t jffs2"
elif [ ! -b "\$homedev" ]; then
loopdev=\`losetup -f\`
if [ "\${homedev##/mnt/live}" != "\${homedev}" ]; then
action "Remounting live store r/w" mount -o remount,rw /mnt/live
fi
losetup \$loopdev \$homedev
homedev=\$loopdev
fi
# if it's encrypted, we need to unlock it
if [ "\$(/sbin/blkid -s TYPE -o value \$homedev 2>/dev/null)" = "crypto_LUKS" ]; then
echo
echo "Setting up encrypted /home device"
plymouth ask-for-password --command="cryptsetup luksOpen \$homedev EncHome"
homedev=/dev/mapper/EncHome
fi
# and finally do the mount
mount \$mountopts \$homedev /home
# if we have /home under what's passed for persistent home, then
# we should make that the real /home. useful for mtd device on olpc
if [ -d /home/home ]; then mount --bind /home/home /home ; fi
[ -x /sbin/restorecon ] && /sbin/restorecon /home
if [ -d /home/liveuser ]; then USERADDARGS="-M" ; fi
}
findPersistentHome() {
for arg in \`cat /proc/cmdline\` ; do
if [ "\${arg##persistenthome=}" != "\${arg}" ]; then
homedev=\${arg##persistenthome=}
return
fi
done
}
if strstr "\`cat /proc/cmdline\`" persistenthome= ; then
findPersistentHome
elif [ -e /mnt/live/\${livedir}/home.img ]; then
homedev=/mnt/live/\${livedir}/home.img
fi
# if we have a persistent /home, then we want to go ahead and mount it
if ! strstr "\`cat /proc/cmdline\`" nopersistenthome && [ -n "\$homedev" ] ; then
action "Mounting persistent /home" mountPersistentHome
fi
# make it so that we don't do writing to the overlay for things which
# are just tmpdirs/caches
mount -t tmpfs -o mode=0755 varcacheyum /var/cache/yum
mount -t tmpfs tmp /tmp
mount -t tmpfs vartmp /var/tmp
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /tmp /var/tmp >/dev/null 2>&1
EOF
# bah, hal starts way too late
cat > /etc/rc.d/init.d/livesys-late << EOF
#!/bin/bash
#
# live: Late init script for live image
#
# chkconfig: 345 99 01
# description: Late init script for live image.
. /etc/init.d/functions
if ! strstr "\`cat /proc/cmdline\`" liveimg || [ "\$1" != "start" ] || [ -e /.liveimg-late-configured ] ; then
exit 0
fi
exists() {
which \$1 >/dev/null 2>&1 || return
\$*
}
# read some variables out of /proc/cmdline
for o in \`cat /proc/cmdline\` ; do
case \$o in
ks=*)
ks="\${o#ks=}"
;;
xdriver=*)
xdriver="\${o#xdriver=}"
;;
esac
done
# if liveinst or textinst is given, start anaconda
if strstr "\`cat /proc/cmdline\`" liveinst ; then
plymouth --quit
/usr/sbin/liveinst \$ks
fi
if strstr "\`cat /proc/cmdline\`" textinst ; then
plymouth --quit
/usr/sbin/liveinst --text \$ks
fi
# configure X, allowing user to override xdriver
if [ -n "\$xdriver" ]; then
cat > /etc/X11/xorg.conf.d/00-xdriver.conf <<FOE
Section "Device"
Identifier "Videocard0"
Driver "\$xdriver"
EndSection
FOE
fi
touch /.liveimg-late-configured
EOF
chmod 755 /etc/rc.d/init.d/livesys
/sbin/restorecon /etc/rc.d/init.d/livesys
/sbin/chkconfig --add livesys
chmod 755 /etc/rc.d/init.d/livesys-late
/sbin/restorecon /etc/rc.d/init.d/livesys-late
/sbin/chkconfig --add livesys-late
%end
%post
cat > /root/chkconfig.sh << EOF
#!/bin/bash
/sbin/chkconfig --del iscsi
/sbin/chkconfig --del iscsid
#/sbin/chkconfig --del livesys #used in usb stick installation
#/sbin/chkconfig --del livesys-late #used in usb stick installation
/sbin/chkconfig --del netconsole
/sbin/chkconfig --del netfs
/sbin/chkconfig --del network
EOF
/bin/chmod u+x /root/chkconfig.sh
/bin/bash /root/chkconfig.sh
%end
%post --nochroot
cp $INSTALL_ROOT/usr/share/doc/*-release-*/GPL $LIVE_ROOT/GPL
# only works on x86, x86_64
if [ "$(uname -i)" = "i386" -o "$(uname -i)" = "x86_64" ]; then
if [ ! -d $LIVE_ROOT/LiveOS ]; then mkdir -p $LIVE_ROOT/LiveOS ; fi
cp /usr/bin/livecd-iso-to-disk $LIVE_ROOT/LiveOS
fi
%end
Save as f16.cfg
Install livecd-tools as root in a terminal:
# yum install livecd-tools
then
# livecd-creator --config /home/your_user_name/f16.cfg --cache=/home/your_user_name/16/i686/ --fslabel=f16
Write the image on DVD:
# growisofs -dvd-compat -Z /dev/dvd=f16.iso
or USB stick
# livecd-iso-to-disk --format --reset-mbr --noverify --overlay-size-mb 512 --unencrypted-home --home-size-mb 2000 f16.iso /dev/sdb
Check if your USB stick IS /dev/sdb. If your stick have more than 4GB you can modify 2000 to a greater value.
Your USB stick will do security updates if you dont disable that. The /home folder will preserve all your settings as normal user.
If you build a newer image and want to keep your /home:
# umount /dev/sdb1
# livecd-iso-to-disk --noverify --overlay-size-mb 512 --unencrypted-home f16.iso /dev/sdb1