From 362fb30061fd52b4bedb65728ad10da8bf3ee9b9 Mon Sep 17 00:00:00 2001 From: Sebastian Dziallas Date: Sat, 20 Mar 2010 01:28:04 +0000 Subject: major changes to kickstart file from last #sugar-meeting --- diff --git a/fedora-livecd-soas.ks b/fedora-livecd-soas.ks new file mode 100644 index 0000000..a81accf --- /dev/null +++ b/fedora-livecd-soas.ks @@ -0,0 +1,111 @@ +# fedora-livecd-soas.ks +# +# Description: +# - A Sugar environment that you can carry in your pocket +# +# Maintainers: +# - Sebastian Dziallas +# - Peter Robinson +# - Mel Chua + +%include fedora-live-mini.ks + +%packages + +# == core sugar platform == +sugar + +# == platform components == +# from http://wiki.sugarlabs.org/go/0.88/Platform_Components +alsa-plugins-pulseaudio +alsa-utils +etoys +csound-python +evince-djvu +gstreamer-plugins-good +gstreamer-plugins-espeak +gstreamer-plugins-bad-free +pulseaudio + +# == sugar activities == +sugar-browse # Because they need this to install activities. +sugar-log # Because they need this for debugging. +sugar-physics # Because this is a great demo example (quick demo). +sugar-terminal # Because this makes debugging easier. +sugar-turtleart # Because this is a great demo example (extended demo). +sugar-xoirc # Because this helps us help them. + +# == Activities from ASLO == +# These are activities we're going to polish to the same level +# as the ones included in the SoaS image, but encourage people +# to download from ASLO as part of the SoaS experience of exploring +# other Activities in there. + +# etoys-sugar +# sugar-maze +# sugar-speak +# sugar-tamtam-* +# sugar-visualmatch + +# These are Activities that aren't quite there, but are important, +# so we're going to encourage people to test them. + +# sugar-write +# sugar-record +# sugar-pippy +# sugar-read + +# == system == +# automatically logs in the liveuser +# replace this with nodm for v4 +# http://bugs.sugarlabs.org/ticket/1849 +gdm + +# needed to show external hard drives +gvfs + +# needed for battery monitoring and power management in sugar +gnome-power-manager + +# we can haz sugar boot screen +-plymouth-system-theme +-plymouth-theme-charge +sugar-logos + +# == hardware == +# lets support broadcom and xo wifi hardware +b43-openfwwf +libertas-usb8388-firmware + +# == fonts == +# more font support +# http://bugs.sugarlabs.org/ticket/1119 +google-droid-fonts-common +google-droid-sans-fonts +google-droid-sans-mono-fonts +google-droid-serif-fonts + +%end + +%post +cat >> /etc/rc.d/init.d/livesys << EOF + +# don't use the default system user (in soas liveuser) as nick name +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /desktop/sugar/user/default_nick disabled >/dev/null + +# disable the logout menu item in Sugar +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/show_logout false >/dev/null + +# set sugar power management on +gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/power/automatic True >/dev/null + +# set up auto-login for for liveuser +cat >> /etc/gdm/custom.conf << FOE +[daemon] +AutomaticLoginEnable=true +AutomaticLogin=liveuser +FOE + +EOF + +%end \ No newline at end of file diff --git a/fedora-mini-base.ks b/fedora-mini-base.ks deleted file mode 100644 index dfa13a9..0000000 --- a/fedora-mini-base.ks +++ /dev/null @@ -1,419 +0,0 @@ -# fedora-mini-base.ks -# -# Defines the basics for all kickstarts in the fedora-mini branch - -lang en_US.UTF-8 -keyboard us -timezone US/Eastern -auth --useshadow --enablemd5 -selinux --permissive -firewall --enabled --service=mdns -xconfig --startxonboot -part / --size 4096 --fstype ext4 -services --enabled=NetworkManager,messagebus --disabled=network,sshd - -# To compose against the current release tree, use the following "repo" (enabled by default) -repo --name=released --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-12&arch=i386 -# To include updates, use the following "repo" (enabled by default) -repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f12&arch=i386 -repo --name=updates-testing --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f12&arch=i386 - -# To compose against rawhide, use the following "repo" (disabled by default) -#repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=i386 - -# To compose against local trees, (edit and) use: -#repo --name=f11 --baseurl=http://localrepo/fedora/releases/11/Everything/$basearch/os/ -#repo --name=f11-updates --baseurl=http://localrepo/fedora/updates/11/$basearch/ -#repo --name=fedora-mini --baseurl=http://localhost/ - -%packages -@base-x -@base -@core -@hardware-support -@fonts -@input-methods -kernel -memtest86+ - -# Remove default base packages we don't want --ccid --coolkey --device-mapper-multipath --dos2unix --dump --finger --fprintd-pam --hunspell --irda-utils --jwhois --lftp --mcelog --mlocate --nano --nc --nfs-utils --nss_db --nss_ldap --numactl --pcmciautils --perf --pm-utils --prctl --rdate --rdist --rsh --rsync --sendmail --sos --specspo --stunnel --system-config-firewall-tui --system-config-network-tui --talk --time --tree --unix2dos --words --ypbind - -# Remove default base-x packages we don't want --bitmap-fonts --cups-pk-helper --glx-utils --system-config-date --system-config-firewall --system-config-network --system-config-printer --system-config-services --system-config-users - -# Remove default core packages we don't want --ppc64-utils --s390utils --sendmail --silo --yaboot - -# Remove default unwanted hardware firmware and support we don't want --b43-fwcutter --foo2hiperc --foo2hp --foo2lava --foo2qpdl --foo2slx --foo2xqx --foo2zjs --ivtv-firmware --printer-filters --ql2100-firmware --ql2200-firmware --ql23xx-firmware --ql2400-firmware --ql2500-firmware -# These are listed somewhere other than hardware support! --irda-utils --fprintd* - -# Remove unwanted default fonts we don't want --abyssinica-fonts --cjkuni-uming-fonts --jomolhari-fonts --kacst* --khmeros-base-fonts --lklug-fonts --lohit* --padauk-fonts --paktype* --smc-meera-fonts --stix-fonts --thai-scalable-waree-fonts --un-core-dotum-fonts --vlgothic-fonts - -# Remove default input-methods we don't want --ibus* --m17n* - -# dictionaries are big --aspell-* --hunspell-* --man-pages* --words - -# livecd bits to set up the livecd and be able to install -anaconda - -# Add some useful utils -system-config-firewall-base -gnome-packagekit -powertop -gnupg2 -yum-presto -# Add this so we don't pull in sendmail/exim -ssmtp - -%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 - -# 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 - -if [ -n "\$configdone" ]; then - exit 0 -fi - -# add fedora user with no passwd -action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser -passwd -d liveuser > /dev/null - -# turn off firstboot for livecd boots -chkconfig --level 345 firstboot off 2>/dev/null - -# don't start yum-updatesd for livecd boots -chkconfig --level 345 yum-updatesd off 2>/dev/null - -# turn off mdmonitor by default -chkconfig --level 345 mdmonitor off 2>/dev/null - -# turn off setroubleshoot on the live image to preserve resources -chkconfig --level 345 setroubleshoot off 2>/dev/null - -# don't do packagekit checking by default -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_get_updates never >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_get_upgrades never >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t string /apps/gnome-packagekit/frequency_refresh_cache never >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/notify_available false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/notify_distro_upgrades false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_firmware false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_check_hardware false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_codec_helper false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_font_helper false >/dev/null -gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /apps/gnome-packagekit/enable_mime_type_helper false >/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 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 - -# and hack so that we eject the cd on shutdown if we're using a CD... -if strstr "\`cat /proc/cmdline\`" CDLABEL= ; then - cat >> /sbin/halt.local << FOE -#!/bin/bash -# we want to eject the cd on halt, but let's also try to avoid -# io errors due to not being able to get files... -cat /sbin/halt > /dev/null -cat /sbin/reboot > /dev/null -/usr/sbin/eject -p -m \$(readlink -f /dev/live) >/dev/null 2>&1 -echo "Please remove the CD from your drive and press Enter to finish restarting" -read -t 30 < /dev/console -FOE -chmod +x /sbin/halt.local -fi - -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 - \$* -} - -touch /.liveimg-late-configured - -# 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 - 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 - exists system-config-display --noui --reconfig --set-depth=24 \$xdriver -fi - -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 - -# work around for poor key import UI in PackageKit -rm -f /var/lib/rpm/__db* -rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora - -# go ahead and pre-make the man -k cache (#455968) -/usr/sbin/makewhatis -w - -# save a little bit of space at least... -rm -f /boot/initrd* -# make sure there aren't core files lying around -rm -f /core* - -%end - - -%post -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 -%end -- cgit v0.9.1