Changes

Jump to navigation Jump to search
12,484 bytes removed ,  19:11, 15 September 2013
m
Line 2: Line 2:  
modified from:
 
modified from:
 
http://kojipkgs.fedoraproject.org//work/tasks/5707/5925707/fedora-livecd-soas-f110c70.ks
 
http://kojipkgs.fedoraproject.org//work/tasks/5707/5925707/fedora-livecd-soas-f110c70.ks
  −
*Modified file:
  −
#version=DEVEL
  −
# Firewall configuration
  −
firewall --enabled --service=mdns,presence
  −
# X Window System configuration information
  −
xconfig  --startxonboot
  −
repo --name="fedora" --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
  −
repo --name="updates" --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
  −
# Keyboard layouts
  −
keyboard 'us'
  −
# System timezone
  −
timezone US/Eastern
  −
# System language
  −
lang en_US.UTF-8
  −
# System authorization information
  −
auth --useshadow --enablemd5
  −
# SELinux configuration
  −
selinux --enforcing
  −
  −
# System services
  −
services --disabled="network,sshd" --enabled="NetworkManager"
  −
# Disk partitioning information
  −
part / --fstype="ext4" --size=3072
  −
  −
%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.
  −
### BEGIN INIT INFO
  −
# X-Start-Before: display-manager
  −
### END INIT INFO
  −
  −
. /etc/init.d/functions
  −
  −
if ! strstr "\`cat /proc/cmdline\`" rd.live.image || [ "\$1" != "start" ]; then
  −
    exit 0
  −
fi
  −
  −
if [ -e /.liveimg-configured ] ; then
  −
    configdone=1
  −
fi
  −
  −
exists() {
  −
    which \$1 >/dev/null 2>&1 || return
  −
    \$*
  −
}
  −
  −
# Make sure we don't mangle the hardware clock on shutdown
  −
ln -sf /dev/null /etc/systemd/system/hwclock-save.service
  −
  −
livedir="LiveOS"
  −
for arg in \`cat /proc/cmdline\` ; do
  −
  if [ "\${arg##rd.live.dir=}" != "\${arg}" ]; then
  −
    livedir=\${arg##rd.live.dir=}
  −
    return
  −
  fi
  −
  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 /run/initramfs/live/\${livedir}/swap.img ] ; then
  −
  action "Enabling swap file" swapon /run/initramfs/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##/run/initramfs/live}" != "\${homedev}" ]; then
  −
      action "Remounting live store r/w" mount -o remount,rw /run/initramfs/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 /run/initramfs/live/\${livedir}/home.img ]; then
  −
  homedev=/run/initramfs/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 vartmp /var/tmp
  −
[ -x /sbin/restorecon ] && /sbin/restorecon /var/cache/yum /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
  −
usermod -aG wheel liveuser > /dev/null
  −
  −
# Remove root password lock
  −
passwd -d root > /dev/null
  −
  −
# turn off firstboot for livecd boots
  −
systemctl --no-reload disable firstboot-text.service 2> /dev/null || :
  −
systemctl --no-reload disable firstboot-graphical.service 2> /dev/null || :
  −
systemctl stop firstboot-text.service 2> /dev/null || :
  −
systemctl stop firstboot-graphical.service 2> /dev/null || :
  −
  −
# don't use prelink on a running live image
  −
sed -i 's/PRELINKING=yes/PRELINKING=no/' /etc/sysconfig/prelink &>/dev/null || :
  −
  −
# turn off mdmonitor by default
  −
systemctl --no-reload disable mdmonitor.service 2> /dev/null || :
  −
systemctl --no-reload disable mdmonitor-takeover.service 2> /dev/null || :
  −
systemctl stop mdmonitor.service 2> /dev/null || :
  −
systemctl stop mdmonitor-takeover.service 2> /dev/null || :
  −
  −
# don't enable the gnome-settings-daemon packagekit plugin
  −
gsettings set org.gnome.settings-daemon.plugins.updates active 'false' || :
  −
  −
# don't start cron/at as they tend to spawn things which are
  −
# disk intensive that are painful on a live image
  −
systemctl --no-reload disable crond.service 2> /dev/null || :
  −
systemctl --no-reload disable atd.service 2> /dev/null || :
  −
systemctl stop crond.service 2> /dev/null || :
  −
systemctl stop atd.service 2> /dev/null || :
  −
  −
# Mark things as configured
  −
touch /.liveimg-configured
  −
  −
# add static hostname to work around xauth bug
  −
# https://bugzilla.redhat.com/show_bug.cgi?id=679486
  −
echo "localhost" > /etc/hostname
  −
  −
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\`" rd.live.image || [ "\$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="--kickstart=\${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
  −
  −
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
  −
  −
# enable tmpfs for /tmp
  −
systemctl enable tmp.mount
  −
  −
# 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
  −
echo "Packages within this LiveCD"
  −
rpm -qa
  −
# Note that running rpm recreates the rpm db files which aren't needed or wanted
  −
rm -f /var/lib/rpm/__db*
  −
  −
# go ahead and pre-make the man -k cache (#455968)
  −
/usr/bin/mandb
  −
  −
# save a little bit of space at least...
  −
rm -f /boot/initramfs*
  −
# make sure there aren't core files lying around
  −
rm -f /core*
  −
  −
# convince readahead not to collect
  −
# FIXME: for systemd
  −
  −
%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
  −
  −
%post
  −
  −
# Rebuild initrd for Sugar boot screen
  −
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
  −
/usr/sbin/plymouth-set-default-theme sugar
  −
/sbin/dracut -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
  −
  −
# Note that running rpm recreates the rpm db files which aren't needed or wanted
  −
rm -f /var/lib/rpm/__db*
  −
  −
# Get proper release naming in the control panel
  −
#modified from koji ,ks by tg
  −
cat >> /boot/olpc_build << EOF
  −
Sugar on a Stick 10 (Remix)
  −
Fedora release 20
  −
EOF
  −
  −
# Add our activities to the favorites
  −
cat > /usr/share/sugar/data/activities.defaults << EOF
  −
org.laptop.WebActivity
  −
org.laptop.HelpActivity
  −
org.laptop.Chat
  −
org.laptop.sugar.ReadActivity
  −
org.laptop.sugar.GetBooksActivity
  −
org.laptop.AbiWordActivity
  −
org.laptop.TurtleArtActivity
  −
org.laptop.Calculate
  −
org.laptop.Clock
  −
org.laptop.ImageViewerActivity
  −
org.laptop.Memorize
  −
org.laptop.physics
  −
org.laptop.Pippy
  −
org.laptop.RecordActivity
  −
org.laptop.Oficina
  −
org.laptop.StopWatchActivity
  −
org.laptop.community.Finance
  −
org.laptop.community.TypingTurtle
  −
org.laptop.sugar.Jukebox
  −
org.gnome.Labyrinth
  −
com.laptop.Ruler
  −
org.sugarlabs.AbacusActivity
  −
org.sugarlabs.IRC
  −
org.sugarlabs.InfoSlicer
  −
org.sugarlabs.PortfolioActivity
  −
org.sugarlabs.VisualMatchActivity
  −
com.garycmartin.Moon
  −
mulawa.Countries
  −
tv.alterna.Clock
  −
vu.lux.olpc.Maze
  −
vu.lux.olpc.Speak
  −
EOF
  −
  −
cat > /etc/sysconfig/desktop <<EOF
  −
PREFERRED=/usr/bin/sugar
  −
DISPLAYMANAGER=/usr/sbin/lightdm
  −
EOF
  −
  −
# set up lightdm autologin
  −
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
  −
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
  −
  −
# 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
  −
  −
# Enable Sugar power management
  −
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s -t bool /desktop/sugar/power/automatic True >/dev/null
  −
  −
cat >> /etc/rc.d/init.d/livesys << EOF
  −
# set up lightdm autologin
  −
sed -i 's/^#autologin-user=.*/autologin-user=liveuser/' /etc/lightdm/lightdm.conf
  −
sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/lightdm.conf
  −
#sed -i 's/^#show-language-selector=.*/show-language-selector=true/' /etc/lightdm/lightdm-gtk-greeter.conf
  −
  −
# set Sugar as default session, otherwise login will fail
  −
sed -i 's/^#user-session=.*/user-session=sugar/' /etc/lightdm/lightdm.conf
  −
EOF
  −
  −
cat >> /etc/rc.d/init.d/livesys-late << EOF
  −
  −
# disable screensaver locking
  −
cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.override << FOE
  −
[org.gnome.desktop.screensaver]
  −
lock-enabled=false
  −
FOE
  −
  −
# and hide the lock screen option
  −
cat >> /usr/share/glib-2.0/schemas/org.gnome.desktop.lockdown.gschema.override << FOE
  −
[org.gnome.desktop.lockdown]
  −
disable-lock-screen=true
  −
FOE
  −
  −
# rebuild schema cache with any overrides we installed
  −
glib-compile-schemas /usr/share/glib-2.0/schemas
  −
  −
EOF
  −
  −
chmod 755 /etc/rc.d/init.d/livesys-late
  −
/sbin/restorecon /etc/rc.d/init.d/livesys-late
  −
/sbin/chkconfig --add livesys-late
  −
  −
%end
  −
  −
%packages
  −
@anaconda-tools
  −
@base-x
  −
@core
  −
@guest-desktop-agents
  −
@hardware-support
  −
@input-methods
  −
@input-methods
  −
@standard
  −
@sugar-desktop
  −
alsa-plugins-pulseaudio
  −
alsa-utils
  −
anaconda
  −
gstreamer-plugins-espeak
  −
gstreamer1-plugins-bad-free
  −
gstreamer1-plugins-base
  −
gstreamer1-plugins-good
  −
kernel
  −
livecd-tools
  −
memtest86+
  −
pulseaudio
  −
pulseaudio-utils
  −
qemu-guest-agent
  −
rp-pppoe
  −
sugar-cp-updater
  −
sugar-logos
  −
#next 2 Added by TG
  −
lightdm
  −
-gdm
  −
-@dial-up
  −
-@fonts
  −
-@gnome-desktop
  −
-@multimedia
  −
-@printing
  −
-PackageKit
  −
-autofs
  −
-coolkey
  −
-eekboard-libs
  −
-firefox
  −
-foomatic
  −
-glx-utils
  −
-hpijs
  −
-hplip
  −
-icedtea-web
  −
-isdn4k-utils
  −
-libfprint
  −
-mpage
  −
-nmap-ncat
  −
-numactl
  −
-open-vm-tools*
  −
-openbox
  −
-plymouth-system-theme
  −
-plymouth-theme-charge
  −
-ql2100-firmware
  −
-ql2200-firmware
  −
-ql23xx-firmware
  −
-rdate
  −
-rdist
  −
-realmd
  −
-sane-backends
  −
-sane-backends-drivers-scanners
  −
-sox
  −
-sugar-ruler
  −
-wget
  −
-xsane
  −
-xsane-gimp
  −
-yp-tools
  −
-ypbind
  −
  −
%end
 
12,355

edits

Navigation menu