201 lines
4.8 KiB
Plaintext
201 lines
4.8 KiB
Plaintext
# fedora-live-base.ks
|
|
#
|
|
# Version independent kickstart configuration
|
|
# Defines the basics for all kickstarts in the fedora-live branch
|
|
# Does not include package selection (other then mandatory)
|
|
# Does not include localization packages or configuration
|
|
|
|
# Does includes "default" language configuration (kickstarts including
|
|
# this template can override these settings)
|
|
|
|
lang en_US.UTF-8
|
|
keyboard us
|
|
timezone US/Eastern
|
|
auth --useshadow --enablemd5
|
|
selinux --enforcing
|
|
firewall --disabled
|
|
xconfig --startxonboot
|
|
part / --size 4096
|
|
services --enabled=NetworkManager --disabled=network,sshd
|
|
|
|
#repo --name=released --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-8&arch=$basearch
|
|
#repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f8&arch=$basearch
|
|
repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
|
|
|
|
%packages
|
|
@base-x
|
|
@base
|
|
@core
|
|
@admin-tools
|
|
@dial-up
|
|
@hardware-support
|
|
@printing
|
|
kernel
|
|
memtest86+
|
|
|
|
# for live initrd
|
|
livecd-tools
|
|
|
|
# save some space
|
|
-specspo
|
|
-esc
|
|
-samba-client
|
|
-a2ps
|
|
-mpage
|
|
-redhat-lsb
|
|
-sox
|
|
-hplip
|
|
-hpijs
|
|
# smartcards won't really work on the livecd.
|
|
-coolkey
|
|
-ccid
|
|
# duplicate functionality
|
|
-pinfo
|
|
-vorbis-tools
|
|
-wget
|
|
# lose the compat stuff
|
|
-compat*
|
|
|
|
# qlogic firmwares
|
|
-ql2100-firmware
|
|
-ql2200-firmware
|
|
-ql23xx-firmware
|
|
-ql2400-firmware
|
|
|
|
# scanning takes quite a bit of space :/
|
|
-xsane
|
|
-xsane-gimp
|
|
-sane-backends
|
|
|
|
# lots of people want to have this
|
|
gparted
|
|
|
|
# livecd bits to set up the livecd and be able to install
|
|
anaconda
|
|
isomd5sum
|
|
|
|
# make sure debuginfo doesn't end up on the live image
|
|
-*debuginfo
|
|
%end
|
|
|
|
%post
|
|
# FIXME: it'd be better to get this installed from a package
|
|
cat > /etc/rc.d/init.d/fedora-live << 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" ] || [ -e /.liveimg-configured ] ; then
|
|
exit 0
|
|
fi
|
|
|
|
exists() {
|
|
which \$1 >/dev/null 2>&1 || return
|
|
\$*
|
|
}
|
|
|
|
touch /.liveimg-configured
|
|
|
|
# mount live image
|
|
if [ -b /dev/live ]; then
|
|
mkdir -p /mnt/live
|
|
mount -o ro /dev/live /mnt/live
|
|
fi
|
|
|
|
# read some variables out of /proc/cmdline
|
|
for o in \`cat /proc/cmdline\` ; do
|
|
case \$o in
|
|
ks=*)
|
|
ks="\${o#ks=}"
|
|
;;
|
|
xdriver=*)
|
|
xdriver="--set-driver=\${o#xdriver=}"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
# if liveinst or textinst is given, start anaconda
|
|
if strstr "\`cat /proc/cmdline\`" liveinst ; then
|
|
/usr/sbin/liveinst \$ks
|
|
fi
|
|
if strstr "\`cat /proc/cmdline\`" textinst ; then
|
|
/usr/sbin/liveinst --text \$ks
|
|
fi
|
|
|
|
# enable swaps unless requested otherwise
|
|
swaps=\`blkid -t TYPE=swap -o device\`
|
|
if ! strstr "\`cat /proc/cmdline\`" noswap -a [ -n "\$swaps" ] ; then
|
|
for s in \$swaps ; do
|
|
action "Enabling swap partition \$s" swapon \$s
|
|
done
|
|
fi
|
|
|
|
# configure X, allowing user to override xdriver
|
|
exists system-config-display --noui --reconfig --set-depth=24 \$xdriver
|
|
|
|
# add fedora user with no passwd
|
|
useradd -c "Fedora Live" fedora
|
|
passwd -d fedora > /dev/null
|
|
|
|
# turn off firstboot for livecd boots
|
|
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
|
|
|
|
# don't start yum-updatesd for livecd boots
|
|
chkconfig --level 345 yum-updatesd off 2>/dev/null
|
|
|
|
# don't start cron/at as they tend to spawn things which are
|
|
# disk intensive that are painful on a live image
|
|
chkconfig --level 345 crond off 2>/dev/null
|
|
chkconfig --level 345 atd off 2>/dev/null
|
|
chkconfig --level 345 anacron off 2>/dev/null
|
|
chkconfig --level 345 readahead_early off 2>/dev/null
|
|
chkconfig --level 345 readahead_later off 2>/dev/null
|
|
|
|
# Stopgap fix for RH #217966; should be fixed in HAL instead
|
|
touch /media/.hal-mtab
|
|
|
|
# workaround clock syncing on shutdown that we don't want (#297421)
|
|
sed -i -e 's/hwclock/no-such-hwclock/g' /etc/rc.d/init.d/halt
|
|
EOF
|
|
|
|
# workaround avahi segfault (#279301)
|
|
touch /etc/resolv.conf
|
|
/sbin/restorecon /etc/resolv.conf
|
|
|
|
chmod 755 /etc/rc.d/init.d/fedora-live
|
|
/sbin/restorecon /etc/rc.d/init.d/fedora-live
|
|
/sbin/chkconfig --add fedora-live
|
|
|
|
# make sure there aren't core files lying around
|
|
rm -f /core*
|
|
|
|
# make the initrd we care about
|
|
rm -f /boot/initrd*.img
|
|
cp /etc/sysconfig/mkinitrd /etc/mayflower.conf
|
|
ver=`ls /boot/vmlinuz* |head -n 1 |sed -e 's;/boot/vmlinuz-;;'`
|
|
/usr/lib/livecd-creator/mayflower -f /boot/initrd-$ver.img $ver
|
|
rm -f /etc/mayflower.conf
|
|
|
|
%end
|
|
|
|
|
|
%post --nochroot
|
|
cp $INSTALL_ROOT/usr/share/doc/*-release-*/GPL $LIVE_ROOT/GPL
|
|
cp $INSTALL_ROOT/usr/share/doc/HTML/readme-live-image/en_US/readme-live-image-en_US.txt $LIVE_ROOT/README
|
|
|
|
# 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
|
|
|
|
# move the initrd we created to be the booted one
|
|
mv $INSTALL_ROOT/boot/initrd-*.img $LIVE_ROOT/isolinux/initrd0.img
|
|
%end
|