# __ ____ ____ _____ # ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/ # / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \ # / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ / # / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/ # /_/ /____/ # What ? This kickstart file bootstraps a live desktop machine. # 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 live-desktop.cfg -o ../dishes/live-desktop.cfg # IMPORTANT : Weak dependencies to be destroyed in the resulting ks # Instructions for livecd-creator (about to be deprecated) # An ISO file can be created using the following command as *root*: # livecd-creator -c ../leaves/live-desktop.cfg --fslabel=live-desktop # livecd-creator is part of the livecd-tools package # Instructions for livemedia-creator # An ISO file can be created using the following command as *root*: # livemedia-creator --make-iso --ks live-desktop.cfg --no-virt --iso-only --iso-name live-desktop-x86_64.iso --releasever 35 # The resulting ISO can be tested with qemu-kvm, using the following these two commands, as *root*: # UEFI test: # qemu-kvm -bios /usr/share/edk2/ovmf/OVMF_CODE.fd -m 2048 -vga qxl live-desktop-x86_64.iso # BIOS test: # qemu-kvm -m 2048 -vga qxl live-desktop-x86_64.iso %include ../ingredients/base-live.cfg # A base for a minimal live machine %include ../ingredients//base-desktop-gnome.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 # cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE # DefaultDisabled=true # 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