File config.sh of Package openSUSE-Krypton-stable
#!/bin/bash
#================
# FILE : config.sh
#----------------
# PROJECT : openSUSE KIWI Image System
# COPYRIGHT : (c) 2006,2007,2008,2017 SUSE Linux GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>, Stephan Kulow <coolo@suse.de>, Fabian Vogt <fvogt@suse.com>
# :
# LICENSE : BSD
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
set -euxo pipefail
exec | tee /var/log/config.log
exec 2>&1
#--------------------------------------
# enable and disable services
for i in langset NetworkManager; do
systemctl -f enable $i
done
ln -s /usr/lib/systemd/system/langset.service /usr/lib/systemd/system/sysinit.target.wants/langset.service
for i in sshd cron wicked purge-kernels; do
if systemctl is-enabled $i; then
systemctl -f disable $i
fi
done
cd /
# Import keys for installation
touch /installkey.gpg
# I have no idea why, but the first invocation fails with "Unknown system error", while the second try works fine.
gpg --no-default-keyring --ignore-time-conflict --ignore-valid-from --keyring /installkey.gpg --import /usr/lib/rpm/gnupg/keys/* || gpg --no-default-keyring --ignore-time-conflict --ignore-valid-from --keyring /installkey.gpg --import /usr/lib/rpm/gnupg/keys/*
mkdir -p /pubkeys
for i in /usr/lib/rpm/gnupg/keys/*.asc ; do
rpm --import $i || true
[ -f "$i" ] && ln -s "$i" "/pubkeys/${i##*/}.key"
done
# Craft license.tar.gz used by YaST
EULA_DIR=/etc/YaST2/licenses/base
[ -d "${EULA_DIR}" ] || EULA_DIR=/usr/share/licenses/product/base
(cd "${EULA_DIR}"; tar -cvzf /license.tar.gz *)
## START Some hacks from livecd-openSUSE to make the .iso smaller
# Save more than 200 MiB by removing this, not very useful for lives
rm -rf /lib/firmware/{liquidio,netronome,qed,mrvl,mellanox,qcom,cypress,dpaa2,bnx2x,cxgb4}
# Not needed, boo#1166406
rm -f /boot/vmlinux*.[gx]z
rm -f /lib/modules/*/vmlinux*.[gx]z
# Decompress kernel modules, better for squashfs (boo#1192457)
find /lib/modules/*/kernel -name '*.ko.xz' -exec xz -d {} +
find /lib/modules/*/kernel -name '*.ko.zst' -exec zstd --rm -d {} +
depmod $(basename /lib/modules/*)
## END
# Remove generated files (boo#1098535)
rm -rf /var/cache/zypp/* /var/lib/zypp/AnonymousUniqueId /var/lib/systemd/random-seed
# Add repos from /etc/YaST2/control.xml
add-yast-repos
zypper --non-interactive rm -u live-add-yast-repos
## Add repos from /add_on_products.xml to the installation
#eval $(xsltproc /makezyppercmds.xsl /add_on_products.xml)
## Adapt control.xml a bit
#xsltproc /changecontrolxml.xsl /etc/YaST2/control.xml > /control.xml
## Not needed anymore
#rm /makezyppercmds.xsl /changecontrolxml.xsl
#======================================
# sudoers hack to fix #297695
# (Installation Live CD: no need to ask for password of root)
#--------------------------------------
echo "linux ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/50-livecd
/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p ""
# delete passwords
passwd -d root
passwd -d linux
# empty password is ok
pam-config -a --nullok
: > /var/log/zypper.log
for i in systemsettings.desktop; do
cp "/usr/share/applications/${i}" /usr/share/kio_desktop/DesktopLinks/
chmod a+x "/usr/share/kio_desktop/DesktopLinks/${i}"
done
#chown -R linux /home/linux
chkstat --system --set
# bug 544314, we only want to disable the bit in common-auth-pc
sed -i -e 's,^\(.*pam_gnome_keyring.so.*\),#\1,' /etc/pam.d/common-auth-pc
echo '127.0.0.2 linux.site linux' >> /etc/hosts
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER_AUTOLOGIN linux
baseUpdateSysConfig /etc/sysconfig/keyboard YAST_KEYBOARD "english-us,pc104"
baseUpdateSysConfig /etc/sysconfig/keyboard COMPOSETABLE "clear latin1.add"
baseUpdateSysConfig /etc/sysconfig/language RC_LANG ""
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_FONT "eurlatgr.psfu"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_SCREENMAP trivial
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_MAGIC "(K"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_ENCODING "UTF-8"
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER sddm
#baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM plasma6
#Disable journal write to disk in live mode, bug 950999
echo "Storage=volatile" >> /etc/systemd/journald.conf
lT='ln -sfTv'
uP(){
if [ -e "$3" ]; then
if [ ! -e "$1" ]; then
update-alternatives --install "${@}" || :
fi
fi
}
#localectl set-locale en_US.UTF-8
#localectl set-keymap us
ds(){
local fp="/etc/xdg/autostart/$1.desktop"
local ft="/etc/xdg/autostart-disabled/$1.desktop"
mkdir -pv /etc/xdg/autostart-disabled || :
if [ -f "$fp" ]; then
rm -v "$ft" || :
mv -v "$fp" "$ft" || :
fi
}
mv /usr/lib/modprobe.d/50-blacklist-rndis.conf{,.disabled}
systemctl disable NetworkManager-wait-online
systemctl enable NetworkManager
ds xfsettingsd
ds org.gnome.Evolution-alarm-notify
ds ca.andyholmes.Valent-autostart
ds geoclue-demo-agent
ds org.kde.kdeconnect.daemon
ds org.kde.kalendarac
ds kaccess
kver="$(ls /lib/modules)"
#$lT ../usr/share/zoneinfo/Etc/GMT-3 /etc/localtime
$lT "usr/lib/modules/$kver/vmlinuz" /vmlinuz
$lT "boot/initrd-$kver" /initrd.img
uP /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/gnome-terminal 25
uP /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/xfce4-terminal 25
uP /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/konsole 25
uP /usr/bin/sensible-browser sensible-browser /usr/bin/falkon 25
uP /usr/bin/sensible-browser sensible-browser /usr/bin/epiphany 25
uP /usr/bin/kvm kvm /usr/bin/qemu-kvm 25
uP /usr/bin/gnome-terminal gnome-terminal /usr/bin/konsole 25
uP /usr/bin/gnome-terminal gnome-terminal /usr/bin/xfce4-terminal 25
uP /usr/bin/vi vi /usr/bin/nano 25
uP /usr/bin/python python /usr/bin/python3 25
uP /usr/bin/dnf dnf /usr/bin/dnf5 25
rmdir /root -Rvf || :
rmdir /home/linux -Rvf || :
mkhomedir_helper root
mkhomedir_helper linux