# __ ____ ____ _____ # ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ # / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ # / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # /_/ /____/ # What ? This kickstart file bootstraps a live desktop machine. # 'l' for live, 'd' for desktop # ATTENTION : this kickstart file will automatically DESTROY the main disk and all of its contents. # Bye bye! # In order to be fed to virt-install or software like livecd-creator, this file needs to be flatten or merged into one. # Here is how you can do it with the ksflatten tool provided by the pykickstart package on Fedora : # ksflatten -c ld.cfg -o ../flat/flat-ld.cfg # An ISO file can be created using the following command as *root*: # livecd-creator -c flat-ld.cfg --fslabel=ld # livecd-creator is part of the livecd-tools package # The resulting ISO can be tested with qemu-kvm, using the following command as *root*: # qemu-kvm -bios /usr/share/edk2/ovmf/OVMF_CODE.fd -m 2048 -vga virtio -display gtk,gl=on ld.iso %include bl.cfg # A base for a minimal live machine %include bd.cfg # A base for a desktop environment %post --log=/root/ld.log # Beginning of %post section. The following commands are executed inside a chroot environment. Add logging cat >> /etc/rc.d/init.d/livesys << EOF # disable gnome-software automatically downloading updates # cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE # [org.gnome.software] # download-updates=false # FOE # don't autostart gnome-software session service # rm -f /etc/xdg/autostart/gnome-software-service.desktop # disable the gnome-software shell search provider # FOE # don't run gnome-initial-setup mkdir ~liveuser/.config touch ~liveuser/.config/gnome-initial-setup-done # suppress anaconda spokes redundant with gnome-initial-setup # cat >> /etc/sysconfig/anaconda << FOE # [NetworkSpoke] # visited=1 # [PasswordSpoke] # visited=1 # [UserSpoke] # visited=1 # FOE # make the installer show up #if [ -f /usr/share/applications/liveinst.desktop ]; then # Show harddisk install in shell dash # sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop "" # need to move it to anaconda.desktop to make shell happy # mv /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop # cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE #[org.gnome.shell] #favorite-apps=['firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop'] #FOE # Make the welcome screen show up # if [ -f /usr/share/anaconda/gnome/fedora-welcome.desktop ]; then # mkdir -p ~liveuser/.config/autostart # cp /usr/share/anaconda/gnome/fedora-welcome.desktop /usr/share/applications/ # cp /usr/share/anaconda/gnome/fedora-welcome.desktop ~liveuser/.config/autostart/ # fi # Disable GNOME welcome tour so it doesn't overlap with Fedora welcome screen # cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE #welcome-dialog-last-shown-version='4294967295' #FOE # Copy Anaconda branding in place # if [ -d /usr/share/lorax/product/usr/share/anaconda ]; then # cp -a /usr/share/lorax/product/* / # fi #fi # 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 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 # make sure to set the right permissions and selinux contexts chown -R liveuser:liveuser /home/liveuser/ restorecon -R /home/liveuser/ EOF %end # End of the %post section