# fedora-live-base.ks # # 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 es_VE.UTF-8 keyboard la-latin1 timezone America/Caracas auth --useshadow --enablemd5 selinux --disabled xconfig --startxonboot part / --size 6000 --fstype ext4 services --enabled=NetworkManager,iptables --disabled=network,sshd # repos repo --name=Fedora --baseurl=file:///home/mirror/releases/16/Everything/x86_64/os/ repo --name=Fedora-Updates --baseurl=file:///home/mirror/updates/16/x86_64 repo --name=local --baseurl=file:///home/mirror/local/ repo --name=fedora-cinnamon --baseurl=file:///home/mirror/fedora-cinnamon/ repo --name=adobe --baseurl=file:///home/mirror/adobe-linux-x86_64/ repo --name=RPMFUSION-FREE --baseurl=file:///home/mirror/RPM-fusion/free/fedora/releases/16/Everything/x86_64/os repo --name=RPMFUSION-NONFREE --baseurl=file:///home/mirror/RPM-fusion/nonfree/fedora/releases/16/Everything/x86_64/os repo --name=RPMFUSION-FREE-UPDATES --baseurl=file:///home/mirror/RPM-fusion/free/fedora/updates/16/x86_64 repo --name=RPMFUSION-NONFREE-UPDATES --baseurl=file:///home/mirror/RPM-fusion/nonfree/fedora/updates/16/x86_64 %packages @base-x @base @core @fonts @admin-tools @dial-up @hardware-support kmod-wl kmod-staging broadcom-wl @printing memtest86+ crypto-utils cryptsetup-luks FedoraLivedvdPostConfig # Juegos @games crack-attack gnome-games gnome-games-help gbrainy blobwars # Virtualización kmod-VirtualBox-OSE VirtualBox-OSE akmod-VirtualBox-OSE #VirtualBox-OSE-guest mesa-libGL # Internet Gráfica @graphical-internet amule xchat emesene turpial tucan flash-plugin mozilla-adblockplus firefox # Educación klavaro # Gráficos @graphics gimp gimp-help gimp-help-browser blender inkscape makehuman darktable mypaint hugin # Sonido y Video @sound-and-video totem gstreamer-java #totem-xine totem-mozplugin totem-youtube totem-jamendo totem-mozplugin totem-nautilus gstreamer-plugins-bad gstreamer-plugins-bad-free gstreamer-plugins-bad-free-extras gstreamer-plugins-bad-nonfree gstreamer-plugins-good gstreamer-plugins-ugly gnome-video-effects gstreamer-ffmpeg audacity-freeworld devede soundconverter lame gtk-recordmydesktop easytag subtitleeditor subdownloader hydrogen ffmpeg imagination openshot brasero # Desktop @gnome-desktop gnome-packagekit-extra nss-mdns cinnamon remmina-plugins-vnc remmina-plugins-rdp remmina-plugins-xdmcp remmina remmina-plugins-common remmina-plugins-telepathy NetworkManager-vpnc NetworkManager-openvpn NetworkManager-pptp gparted grub2 nautilus-extensions nautilus-image-converter nautilus-sound-converter nautilus-search-tool nautilus-open-terminal nautilus-cd-burner brasero-nautilus raw-thumbnailer nautilus-sendto samba-client liveusb-creator unrar unace gnome-menus multimedia-menus games-menus preferences-menus gvfs-obexftp gvfs-smb gvfs-fuse blueman blueproximity revelation festival festvox-slt-arctic-hts # save some space gnome-user-docs -evolution-help -xterm # Oficina libreoffice-base libreoffice-draw libreoffice-math libreoffice-calc libreoffice-impress libreoffice-writer libreoffice-presenter-screen libreoffice-wiki-publisher libreoffice-langpack-es libreoffice-presentation-minimizer libreoffice-writer2xhtml libreoffice-ogltrans libreoffice-pdfimport libreoffice-graphicfilter openoffice.org-diafilter openclipart dia dia-Digital dia-CMOS dia-electric2 dia-electronic planner glabels cdlabelgen gnucash gnote # Diccionarios aspell aspell-es hunspell hunspell-es man-pages-es autocorr-es -scim-tables-* -wqy-bitmap-fonts words # more fun with space saving -scim-python* scim-chewing scim-pinyin # extras rpmfusion-nonfree-release rpmfusion-free-release adobe-release # replace bug-buddy by abrt abrt-desktop # save some space -specspo -esc -a2ps -mpage redhat-lsb -sox gnome-bluetooth hplip hpijs foo2hp -openssh-server #ssmtp -numactl -isdn4k-utils autofs # smartcards won't really work on the livecd. -coolkey # duplicate functionality -pinfo vorbis-tools wget # lose the compat stuff -compat* # these pull in excessive dependencies -ekiga -tomboy -f-spot # Herramientas de servicios system-config-printer system-config-printer-libs system-config-services system-config-lvm system-config-firewall # not need -setroubleshoot -sos # qlogic firmwares -ql2100-firmware -ql2200-firmware -ql23xx-firmware -ql2400-firmware # scanning takes quite a bit of space :/ gnome-scan xsane-gimp sane-backends # livecd bits to set up the livecd and be able to install anaconda isomd5sum %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 if [ -n "\$configdone" ]; then exit 0 fi # add fedora user with no passwd action "Adding live user" useradd \$USERADDARGS -c "Usuario del LiveDVD REMIX" liveuser passwd -d liveuser > /dev/null 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 || : # 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 # XXX: This often gets stuck during shutdown because /etc/init.d/halt # (or something else still running) wants to read files from the block\ # device that was ejected. Disable for now. Bug #531924 # 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 "Por favor remueva el DVD en su computadora y presione Enter para reiniciar, no se olvide de visitar http://www.fedora-ve.org :-D" 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="--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 <> /etc/rc.d/init.d/livesys << 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 # disable updates plugin cat >> /usr/share/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.override << FOE [org.gnome.settings-daemon.plugins.updates] active=false FOE # cinnamon how default desktop mandatory (hardcode) mv /usr/share/xsessions/gnome.desktop /tmp # Add liveinst icon to cinnamon favorites sed -i "s/'cinnamon-settings.desktop', 'mozilla-firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop'/'cinnamon-settings.desktop', 'mozilla-firefox.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'turpial.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'liveinst.desktop' /" /usr/share/glib-2.0/schemas/org.cinnamon.gschema.xml # make the installer show up cp /usr/share/applications/anaconda.desktop /home/liveuser/Escritorio/ chmod 775 /home/liveuser/Escritorio/anaconda.desktop # show desktop icons sed -i 's/false/true/' /usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.xml # rebuild schema cache with any overrides we installed glib-compile-schemas /usr/share/glib-2.0/schemas # set up auto-login cat >> /etc/gdm/custom.conf << FOE [daemon] AutomaticLoginEnable=True AutomaticLogin=liveuser DefaultSession=cinnamon TimedLoginDelay=5 FOE # Turn off PackageKit-command-not-found while uninstalled if [ -f /etc/PackageKit/CommandNotFound.conf ]; then sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf fi EOF %end