/trunk/SL7/livecd-config/sl-79-livecd.ks |
---|
0,0 → 1,1333 |
lang en_GB.UTF-8 |
keyboard us |
timezone Europe/Brussels --isUtc |
auth --useshadow --enablemd5 |
selinux --enforcing |
firewall --enabled --service=mdns |
xconfig --startxonboot |
part / --size 10240 --fstype ext4 |
services --enabled=NetworkManager --disabled=network,sshd |
# Root password |
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1 |
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410) |
# SL repositories (fastbugs enabled per default) |
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby |
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby |
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
# or use a mirror close to you |
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby |
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby |
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
%packages |
abattis-cantarell-fonts |
accountsservice |
accountsservice-libs |
acl |
adwaita-cursor-theme |
adwaita-gtk2-theme |
adwaita-gtk3-theme |
aic94xx-firmware |
alsa-firmware |
alsa-lib |
alsa-tools-firmware |
anaconda |
anaconda-widgets |
at |
atk |
atkmm |
at-spi2-atk |
at-spi2-core |
attr |
audit |
audit-libs |
audit-libs-python |
augeas-libs |
authconfig |
avahi |
avahi-autoipd |
avahi-glib |
avahi-gobject |
avahi-libs |
avahi-ui-gtk3 |
baobab |
basesystem |
bash |
bash-completion |
bc |
bind-libs |
bind-libs-lite |
bind-license |
bind-utils |
binutils |
biosdevname |
blktrace |
bluez |
bluez-libs |
bridge-utils |
btrfs-progs |
bzip2 |
bzip2-libs |
ca-certificates |
cairo |
cairo-gobject |
cairomm |
cdparanoia-libs |
celt051 |
checkpolicy |
##cheese |
##cheese-libs |
chkconfig |
chrony |
clutter |
clutter-gst2 |
clutter-gtk |
cogl |
colord |
colord-gtk |
colord-libs |
color-filesystem |
comps-extras |
control-center |
control-center-filesystem |
coreutils |
cpio |
cracklib |
cracklib-dicts |
crda |
createrepo |
cronie |
cronie-anacron |
crontabs |
cryptsetup |
cryptsetup-libs |
cryptsetup-python |
cups-libs |
cups-pk-helper |
curl |
cyrus-sasl-lib |
cyrus-sasl-plain |
dbus |
dbus-glib |
dbus-libs |
dbus-python |
dbus-x11 |
dconf |
dejavu-fonts-common |
dejavu-sans-fonts |
dejavu-sans-mono-fonts |
dejavu-serif-fonts |
deltarpm |
desktop-file-utils |
device-mapper |
device-mapper-event |
device-mapper-event-libs |
device-mapper-libs |
device-mapper-multipath |
device-mapper-multipath-libs |
device-mapper-persistent-data |
dhclient |
dhcp-common |
dhcp-libs |
diffutils |
dmidecode |
dmraid |
dmraid-events |
dnsmasq |
dosfstools |
dracut |
dracut-config-rescue |
dracut-network |
##dyninst |
e2fsprogs |
e2fsprogs-libs |
ebtables |
ed |
elfutils-libelf |
elfutils-libs |
emacs-filesystem |
enchant |
##eog |
ethtool |
##evince |
##evince-libs |
##evince-nautilus |
evolution-data-server |
exempi |
exiv2-libs |
expat |
fcoe-utils |
file |
file-libs |
file-roller |
file-roller-nautilus |
filesystem |
findutils |
fipscheck |
fipscheck-lib |
firefox |
firewall-config |
firewalld |
firstboot |
flac-libs |
folks |
fontconfig |
fontpackages-filesystem |
fprintd |
fprintd-pam |
freerdp |
freerdp-libs |
freerdp-plugins |
freetype |
##frei0r-plugins |
fros |
fuse |
fuse-libs |
fxload |
gamin |
##gavl |
gawk |
GConf2 |
gcr |
gd |
gdbm |
gdisk |
gdk-pixbuf2 |
gdm |
##gedit |
geoclue |
gettext |
gettext-libs |
##ghostscript |
##ghostscript-fonts |
giflib |
gjs |
glade-libs |
glib2 |
glibc |
glibc-common |
glibmm24 |
glib-networking |
glusterfs-api |
glusterfs-libs |
glx-utils |
gmp |
gnome-bluetooth |
gnome-bluetooth-libs |
##gnome-calculator |
gnome-classic-session |
gnome-clocks |
##gnome-color-manager |
gnome-contacts |
gnome-desktop3 |
gnome-dictionary |
gnome-disk-utility |
#gnome-documents # needs huge libreoffice-core |
gnome-font-viewer |
gnome-icon-theme |
gnome-icon-theme-extras |
gnome-icon-theme-legacy |
gnome-icon-theme-symbolic |
gnome-keyring |
gnome-keyring-pam |
gnome-menus |
gnome-online-accounts |
gnome-packagekit |
gnome-python2 |
gnome-python2-bonobo |
gnome-python2-canvas |
gnome-python2-gnome |
gnome-python2-gnomevfs |
gnome-screenshot |
gnome-session |
gnome-session-xsession |
gnome-settings-daemon |
gnome-shell |
gnome-shell-extension-alternate-tab |
gnome-shell-extension-apps-menu |
gnome-shell-extension-common |
gnome-shell-extension-launch-new-instance |
gnome-shell-extension-places-menu |
gnome-shell-extension-window-list |
gnome-system-log |
gnome-system-monitor |
gnome-terminal |
gnome-terminal-nautilus |
gnome-themes-standard |
gnome-tweak-tool |
#gnome-user-docs |
gnome-vfs2 |
##gnome-video-effects |
##gnu-free-fonts-common |
##gnu-free-mono-fonts |
##gnu-free-sans-fonts |
##gnu-free-serif-fonts |
gnupg2 |
gnutls |
gobject-introspection |
google-crosextra-caladea-fonts |
google-crosextra-carlito-fonts |
gpgme |
gpm-libs |
graphite2 |
grep |
grilo |
grilo-plugins |
groff-base |
grub2 |
grub2-tools |
grubby |
gsettings-desktop-schemas |
gsm |
gssdp |
gstreamer1 |
##gstreamer1-plugins-bad-free |
gstreamer1-plugins-base |
##gstreamer1-plugins-good |
gtk2 |
gtk2-immodule-xim |
gtk3 |
gtk3-immodule-xim |
gtkmm30 |
gtksourceview3 |
gtk-vnc2 |
gucharmap |
gupnp |
gupnp-av |
gvfs |
gvfs-afc |
gvfs-afp |
gvfs-archive |
gvfs-fuse |
gvfs-goa |
gvfs-gphoto2 |
gvfs-mtp |
gvfs-smb |
gvnc |
gzip |
hardlink |
harfbuzz |
harfbuzz-icu |
hicolor-icon-theme |
hostname |
hplip-common |
hunspell |
hunspell-en |
hunspell-en-GB |
hunspell-en-US |
hwdata |
ibus |
ibus-chewing |
ibus-gtk2 |
ibus-gtk3 |
ibus-hangul |
ibus-libs |
ibus-m17n |
ibus-rawcode |
ibus-sayura |
ibus-setup |
ibus-table |
ibus-table-chinese |
imsettings |
imsettings-gsettings |
imsettings-libs |
info |
initial-setup |
initscripts |
iproute |
iprutils |
iptables |
iputils |
irqbalance |
iscsi-initiator-utils |
iscsi-initiator-utils-iscsiuio |
iso-codes |
isomd5sum |
ivtv-firmware |
iw |
iwl1000-firmware |
iwl100-firmware |
iwl105-firmware |
iwl135-firmware |
iwl2000-firmware |
iwl2030-firmware |
iwl3160-firmware |
iwl3945-firmware |
iwl4965-firmware |
iwl5000-firmware |
iwl5150-firmware |
iwl6000-firmware |
iwl6000g2a-firmware |
iwl6000g2b-firmware |
iwl6050-firmware |
iwl7260-firmware |
jansson |
jasper-libs |
jbigkit-libs |
jomolhari-fonts |
##js |
json-c |
json-glib |
kbd |
kbd-misc |
kernel |
kernel-tools |
kernel-tools-libs |
kexec-tools |
keybinder3 |
keyutils-libs |
khmeros-base-fonts |
khmeros-fonts-common |
kmod |
kmod-libs |
kpartx |
kpatch |
krb5-libs |
langtable |
langtable-data |
langtable-python |
lcms2 |
ldns |
ledmon |
less |
libacl |
libaio |
libarchive |
libart_lgpl |
libassuan |
libasyncns |
libatasmart |
libattr |
libavc1394 |
libblkid |
libbluray |
libbonobo |
libbonoboui |
libcacard |
libcanberra |
libcanberra-gtk2 |
libcanberra-gtk3 |
libcap |
libcap-ng |
libcdio |
libcdio-paranoia |
libcgroup |
libchewing |
libcom_err |
libconfig |
libcroco |
libcurl |
libdaemon |
libdb |
libdb-utils |
libdmapsharing |
libdmx |
libdrm |
libdv |
libdvdnav |
libdvdread |
libdwarf |
libedit |
liberation-fonts-common |
liberation-mono-fonts |
liberation-sans-fonts |
liberation-serif-fonts |
libestr |
libevent |
libexif |
libffi |
libfontenc |
libfprint |
libgcc |
libgcrypt |
libgdata |
libgdither |
libgee |
libgee06 |
libglade2 |
libgnome |
libgnomecanvas |
libgnomekbd |
libgnome-keyring |
libgnomeui |
libgomp |
libgpg-error |
libgphoto2 |
libgsf |
libgtop2 |
libgudev1 |
libgusb |
libgweather |
libgxps |
libhangul |
libhbaapi |
libhbalinux |
libical |
libICE |
libicu |
libIDL |
libidn |
libiec61883 |
libieee1284 |
libimobiledevice |
libiptcdata |
libiscsi |
libjpeg-turbo |
libldb |
libmnl |
libmodman |
libmount |
libmtp |
libmusicbrainz5 |
libndp |
libnetfilter_conntrack |
libnfnetlink |
libnl |
libnl3 |
libnl3-cli |
libnm-gtk |
libnotify |
liboauth |
libogg |
libosinfo |
libpcap |
libpciaccess |
libpeas |
libpipeline |
libplist |
libpng |
libproxy |
libproxy-mozjs |
libpwquality |
libquvi |
libquvi-scripts |
libraw1394 |
libreport |
libreport-anaconda |
libreport-cli |
libreport-filesystem |
libreport-gtk |
libreport-plugin-bugzilla |
libreport-plugin-mailx |
libreport-plugin-reportuploader |
libreport-python |
##libreport-rhel-anaconda-bugzilla |
libreport-web |
##libreswan |
librsvg2 |
libsamplerate |
libsecret |
libselinux |
libselinux-python |
libselinux-utils |
libsemanage |
libsemanage-python |
libsepol |
libshout |
libsigc++20 |
libSM |
libsmbclient |
libsndfile |
libsoup |
##libspectre |
libss |
libssh2 |
libstdc++ |
libstoragemgmt |
libstoragemgmt-python |
libsysfs |
libtalloc |
libtar |
libtasn1 |
libtdb |
libteam |
libtevent |
libthai |
libtheora |
libtiff |
libtool-ltdl |
libudisks2 |
libunistring |
libusb |
libusbx |
libuser |
libuser-python |
libutempter |
libuuid |
libv4l |
libverto |
libvisual |
libvorbis |
libvpx |
libwacom |
libwacom-data |
libwbclient |
libwebp |
libwnck3 |
libX11 |
libX11-common |
libXau |
libxcb |
libXcomposite |
libXcursor |
libXdamage |
libXdmcp |
libXevie |
libXext |
libXfixes |
libXfont |
libXft |
libXi |
libXinerama |
libxkbfile |
libxklavier |
libxml2 |
libxml2-python |
libXmu |
libXpm |
libXrandr |
libXrender |
libXres |
libxslt |
libXt |
libXtst |
libXv |
libXvMC |
libXxf86dga |
libXxf86misc |
libXxf86vm |
libzapojit |
linuxconsoletools |
linux-firmware |
lklug-fonts |
lldpad |
lm_sensors-libs |
lockdev |
logrotate |
lohit-assamese-fonts |
lohit-bengali-fonts |
lohit-devanagari-fonts |
lohit-gujarati-fonts |
lohit-kannada-fonts |
lohit-malayalam-fonts |
lohit-marathi-fonts |
lohit-nepali-fonts |
lohit-oriya-fonts |
lohit-punjabi-fonts |
lohit-tamil-fonts |
lohit-telugu-fonts |
lsof |
lua |
lvm2 |
lvm2-libs |
lzo |
m17n-contrib |
m17n-db |
m17n-lib |
m2crypto |
madan-fonts |
mailx |
make |
man-db |
man-pages |
man-pages-overrides |
##mariadb-libs |
marisa |
mdadm |
mesa-dri-drivers |
mesa-filesystem |
mesa-libEGL |
mesa-libgbm |
mesa-libGL |
mesa-libglapi |
mesa-libxatracker |
mesa-private-llvm |
metacity |
microcode_ctl |
mlocate |
mobile-broadband-provider-info |
ModemManager-glib |
mousetweaks |
mozilla-filesystem |
mozjs17 |
mtdev |
mtools |
mtr |
mutter |
nano |
nautilus |
nautilus-extensions |
nautilus-sendto |
ncurses |
ncurses-base |
ncurses-libs |
neon |
net-snmp-libs |
nettle |
net-tools |
NetworkManager |
NetworkManager-glib |
##NetworkManager-libreswan |
NetworkManager-tui |
newt |
newt-python |
nm-connection-editor |
nspr |
nss |
nss-softokn |
nss-softokn-freebl |
nss-sysinit |
nss-tools |
nss-util |
ntpdate |
ntsysv |
numactl-libs |
obexd |
oddjob |
oddjob-mkhomedir |
openjpeg-libs |
openldap |
openssh |
openssh-clients |
openssh-server |
openssl |
openssl-libs |
opus |
ORBit2 |
orc |
os-prober |
overpass-fonts |
p11-kit |
p11-kit-trust |
PackageKit |
PackageKit-command-not-found |
PackageKit-device-rebind |
PackageKit-glib |
PackageKit-gtk3-module |
PackageKit-yum |
pakchois |
paktype-naskh-basic-fonts |
pam |
pango |
pangomm |
paratype-pt-sans-fonts |
parted |
passwd |
patch |
pciutils |
pciutils-libs |
pcre |
pcsc-lite-libs |
pinentry |
pinentry-gtk |
pinfo |
pixman |
pkgconfig |
plymouth |
plymouth-core-libs |
plymouth-graphics-libs |
plymouth-plugin-label |
plymouth-plugin-two-step |
plymouth-scripts |
plymouth-system-theme |
plymouth-theme-charge |
pm-utils |
policycoreutils |
policycoreutils-python |
polkit |
polkit-pkla-compat |
poppler |
poppler-data |
poppler-glib |
popt |
ppp |
procps-ng |
psacct |
psmisc |
pth |
pulseaudio |
pulseaudio-gdm-hooks |
pulseaudio-libs |
pulseaudio-libs-glib2 |
pulseaudio-module-bluetooth |
pyatspi |
pycairo |
#pygobject2 |
#pygobject3 |
#pygobject3-base |
pygpgme |
pygtk2 |
pygtk2-libglade |
pykickstart |
pyliblzma |
pyOpenSSL |
pyorbit |
pyparted |
pytalloc |
python |
python-backports |
python-backports-ssl_match_hostname |
python-blivet |
python-chardet |
python-configobj |
python-coverage |
python-dateutil |
python-decorator |
python-deltarpm |
python-di |
python-dmidecode |
python-ethtool |
python-gudev |
python-hwdata |
python-iniparse |
python-IPy |
python-kitchen |
python-libs |
python-lxml |
python-meh |
python-nss |
python-pwquality |
python-pyblock |
python-pycurl |
python-pyudev |
python-setuptools |
python-slip |
python-slip-dbus |
python-urlgrabber |
pytz |
pyxattr |
qrencode-libs |
quota |
quota-nls |
rdate |
readline |
realmd |
sl-bookmarks |
sl-indexhtml |
sl-logos |
redhat-menus |
rest |
rfkill |
rng-tools |
rootfiles |
rpm |
rpm-build-libs |
rpm-libs |
rpm-python |
rsync |
rsyslog |
rsyslog-mmjsonparse |
rtkit |
samba-common |
samba-libs |
satyr |
sbc |
scl-utils |
SDL |
##seahorse |
sed |
selinux-policy |
selinux-policy-targeted |
setools-libs |
setroubleshoot |
setroubleshoot-plugins |
setroubleshoot-server |
setserial |
setup |
setuptool |
sg3_utils-libs |
sgpio |
shadow-utils |
shared-mime-info |
sil-abyssinica-fonts |
sil-nuosu-fonts |
sil-padauk-fonts |
slang |
smartmontools |
smc-fonts-common |
smc-meera-fonts |
snappy |
sos |
sound-theme-freedesktop |
soundtouch |
speex |
spice-glib |
spice-gtk3 |
spice-vdagent |
sqlite |
sssd-client |
startup-notification |
stix-fonts |
strace |
sudo |
##sushi |
syslinux |
sysstat |
system-config-keyboard |
system-config-keyboard-base |
systemd |
systemd-libs |
systemd-python |
systemd-sysv |
##systemtap-runtime |
sysvinit-tools |
taglib |
tar |
tcpdump |
tcp_wrappers |
tcp_wrappers-libs |
tcsh |
teamd |
telepathy-filesystem |
telepathy-glib |
telepathy-logger |
thai-scalable-fonts-common |
thai-scalable-waree-fonts |
tigervnc-license |
tigervnc-server-minimal |
time |
##totem |
##totem-nautilus |
##totem-pl-parser |
traceroute |
tracker |
tuned |
tzdata |
##ucs-miscfixed-fonts |
udisks2 |
unbound-libs |
unzip |
upower |
urw-fonts |
usb_modeswitch |
usb_modeswitch-data |
usbmuxd |
usbredir |
usbutils |
usermode |
usermode-gtk |
ustr |
util-linux |
#vim-common |
#vim-enhanced |
#vim-filesystem |
#vim-minimal |
vinagre |
vino |
virt-what |
vlgothic-fonts |
vte3 |
wavpack |
webkitgtk3 |
webrtc-audio-processing |
wget |
which |
##words |
wpa_supplicant |
wqy-microhei-fonts |
xcb-util |
xdg-user-dirs |
xdg-user-dirs-gtk |
xdg-utils |
xfsdump |
xfsprogs |
xkeyboard-config |
xml-common |
xmlrpc-c |
xmlrpc-c-client |
xorg-x11-drivers |
xorg-x11-drv-ati |
xorg-x11-drv-dummy |
xorg-x11-drv-evdev |
xorg-x11-drv-fbdev |
xorg-x11-drv-intel |
xorg-x11-drv-modesetting |
xorg-x11-drv-nouveau |
xorg-x11-drv-qxl |
xorg-x11-drv-synaptics |
xorg-x11-drv-v4l |
xorg-x11-drv-vesa |
xorg-x11-drv-vmmouse |
xorg-x11-drv-vmware |
xorg-x11-drv-void |
xorg-x11-drv-wacom |
xorg-x11-font-utils |
xorg-x11-glamor |
xorg-x11-server-common |
xorg-x11-server-utils |
xorg-x11-server-Xorg |
xorg-x11-utils |
xorg-x11-xauth |
xorg-x11-xinit |
xorg-x11-xkb-utils |
xvattr |
xz |
xz-libs |
yajl |
yelp |
yelp-libs |
yelp-xsl |
yum |
yum-langpacks |
yum-metadata-parser |
yum-utils |
zenity |
zip |
zlib |
# for UEFI/Secureboot support |
grub2 |
grub2-efi |
efibootmgr |
shim-x64 |
%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. |
### 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 live 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 |
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc |
# arrange icons on desktop |
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc |
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc |
# no trash icon |
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc |
# trust all .desktop files on liveuser desktop |
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc |
# 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 || : |
# disable kdump service |
systemctl --no-reload disable kdump.service 2> /dev/null || : |
systemctl stop kdump.service 2> /dev/null || : |
# disable tuned.service |
systemctl --no-reload disable tuned.service 2> /dev/null || : |
systemctl stop tuned.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=67.986 |
echo "localhost" > /etc/hostname |
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217 |
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig |
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py |
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* |
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release) |
basearch=$(uname -i) |
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* |
echo "Packages within this LiveCD (with version)" |
rpm -qa | sort |
echo "Packages within this LiveCD" |
rpm -qa --qf "%{name}\n" | sort |
# 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* |
# remove langpacks of firefox - this will significantly save space |
rm -f /usr/lib64/firefox/langpacks/* |
# convince readahead not to collect |
# FIXME: for systemd |
cat >> /etc/rc.d/init.d/livesys << EOF |
# 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 |
# Show the system-config-keyboard tool on the desktop |
mkdir /home/liveuser/Desktop -p >/dev/null |
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop |
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop |
chmod +x /home/liveuser/Desktop/*.desktop |
chown -R liveuser:liveuser /home/liveuser |
# Liveuser face |
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then |
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face |
chown liveuser:liveuser /home/liveuser/.face |
fi |
# 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 |
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop |
fi |
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE |
[org.gnome.shell] |
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop'] |
FOE |
# 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/ |
# Fixing default locale to us - does not work for SL7.1 |
#localectl set-keymap us |
#localectl set-x11-keymap us |
EOF |
# rebuild schema cache with any overrides we installed |
glib-compile-schemas /usr/share/glib-2.0/schemas |
%end |
/trunk/SL7/livecd-config/sl-79-livedvd-extra.ks |
---|
0,0 → 1,467 |
lang en_GB.UTF-8 |
keyboard us |
timezone Europe/Brussels --isUtc |
auth --useshadow --enablemd5 |
selinux --enforcing |
firewall --enabled --service=mdns |
xconfig --startxonboot |
part / --size 10240 --fstype ext4 |
services --enabled=NetworkManager --disabled=network,sshd |
# Root password |
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1 |
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410) |
# SL repositories (fastbugs enabled per default) |
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby |
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby |
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
# or use a mirror close to you |
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby |
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby |
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
# for yum-conf-epel |
repo --name=repos --baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/repos/$basearch |
# epel |
#repo --name=epel --baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch |
repo --name=epel --baseurl=http://ftp-stud.hs-esslingen.de/pub/epel/7/$basearch |
%packages |
@base |
@core |
@dial-up |
@directory-client |
@fonts |
@gnome-desktop |
@guest-agents |
@guest-desktop-agents |
@input-methods |
@internet-browser |
@java-platform |
@multimedia |
@network-file-system-client |
@print-client |
@x11 |
@internet-applications |
@office-suite |
#@remote-desktop-clients |
@gnome-apps |
# additional packages |
@backup-client |
@compat-libraries |
@development |
@emacs |
@graphics |
@legacy-x |
@network-tools |
@performance |
@perl-runtime |
@php |
@technical-writing |
# console-internet |
lftp |
mutt |
whois |
# legacy-unix |
finger |
ksh |
telnet |
# network-tools |
nmap |
wireshark |
wireshark-gnome |
iptraf-ng |
netsniff-ng |
# scientific |
atlas |
fftw |
gnuplot |
lapack |
numpy |
scipy |
units |
# system-admin-tools |
screen |
system-storage-manager |
tree |
mc |
# development |
java-1.7.0-openjdk-devel |
# live install tools |
anaconda |
system-config-keyboard |
firefox |
patch |
# for UEFI/Secureboot support |
grub2 |
grub2-efi |
efibootmgr |
shim |
# add yum-conf-epel |
yum-conf-epel |
# packages from epel repo |
dd_rescue |
ddrescue |
fuse-sshfs |
gparted |
iperf3 |
NetworkManager-openvpn-gnome |
ntfs-3g |
ntfsprogs |
%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. |
### 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 live 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 |
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc |
# arrange icons on desktop |
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc |
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc |
# no trash icon |
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc |
# trust all .desktop files on liveuser desktop |
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc |
# 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 || : |
# disable kdump service |
systemctl --no-reload disable kdump.service 2> /dev/null || : |
systemctl stop kdump.service 2> /dev/null || : |
# disable tuned.service |
systemctl --no-reload disable tuned.service 2> /dev/null || : |
systemctl stop tuned.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=67.986 |
echo "localhost" > /etc/hostname |
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217 |
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig |
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py |
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* |
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release) |
basearch=$(uname -i) |
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* |
echo "Packages within this LiveCD (with version)" |
rpm -qa | sort |
echo "Packages within this LiveCD" |
rpm -qa --qf "%{name}\n" | sort |
# 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 |
cat >> /etc/rc.d/init.d/livesys << EOF |
# 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 |
# Show the system-config-keyboard tool on the desktop |
mkdir /home/liveuser/Desktop -p >/dev/null |
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop |
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop |
chmod +x /home/liveuser/Desktop/*.desktop |
chown -R liveuser:liveuser /home/liveuser |
# Liveuser face |
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then |
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face |
chown liveuser:liveuser /home/liveuser/.face |
fi |
# 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 |
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop |
fi |
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE |
[org.gnome.shell] |
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop'] |
FOE |
# 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/ |
# Fixing default locale to us - does not work for SL7.1 |
#localectl set-keymap us |
#localectl set-x11-keymap us |
EOF |
# rebuild schema cache with any overrides we installed |
glib-compile-schemas /usr/share/glib-2.0/schemas |
%end |
/trunk/SL7/livecd-config/sl-79-livedvd-gnome.ks |
---|
0,0 → 1,447 |
lang en_GB.UTF-8 |
keyboard us |
timezone Europe/Brussels --isUtc |
auth --useshadow --enablemd5 |
selinux --enforcing |
firewall --enabled --service=mdns |
xconfig --startxonboot |
part / --size 10240 --fstype ext4 |
services --enabled=NetworkManager --disabled=network,sshd |
# Root password |
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1 |
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410) |
# SL repositories (fastbugs enabled per default) |
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby |
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby |
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
# or use a mirror close to you |
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby |
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby |
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
%packages |
@base |
@core |
@dial-up |
@directory-client |
@fonts |
@gnome-desktop |
@guest-agents |
@guest-desktop-agents |
@input-methods |
@internet-browser |
@java-platform |
@multimedia |
@network-file-system-client |
@print-client |
@x11 |
@internet-applications |
@office-suite |
#@remote-desktop-clients |
@gnome-apps |
# additional packages |
@backup-client |
@compat-libraries |
@development |
@emacs |
@graphics |
@legacy-x |
@network-tools |
@performance |
@perl-runtime |
@php |
@technical-writing |
# console-internet |
lftp |
mutt |
whois |
# legacy-unix |
finger |
ksh |
telnet |
# network-tools |
nmap |
wireshark |
wireshark-gnome |
iptraf-ng |
netsniff-ng |
# scientific |
atlas |
fftw |
gnuplot |
lapack |
numpy |
scipy |
units |
# system-admin-tools |
screen |
system-storage-manager |
tree |
mc |
# development |
java-1.7.0-openjdk-devel |
# live install tools |
anaconda |
system-config-keyboard |
firefox |
patch |
# for UEFI/Secureboot support |
grub2 |
grub2-efi |
efibootmgr |
shim |
%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. |
### 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 live 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 |
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc |
# arrange icons on desktop |
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc |
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc |
# no trash icon |
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc |
# trust all .desktop files on liveuser desktop |
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc |
# 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 || : |
# disable kdump service |
systemctl --no-reload disable kdump.service 2> /dev/null || : |
systemctl stop kdump.service 2> /dev/null || : |
# disable tuned.service |
systemctl --no-reload disable tuned.service 2> /dev/null || : |
systemctl stop tuned.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=67.986 |
echo "localhost" > /etc/hostname |
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217 |
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig |
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py |
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* |
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release) |
basearch=$(uname -i) |
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* |
echo "Packages within this LiveCD (with version)" |
rpm -qa | sort |
echo "Packages within this LiveCD" |
rpm -qa --qf "%{name}\n" | sort |
# 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 |
cat >> /etc/rc.d/init.d/livesys << EOF |
# 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 |
# Show the system-config-keyboard tool on the desktop |
mkdir /home/liveuser/Desktop -p >/dev/null |
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop |
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop |
chmod +x /home/liveuser/Desktop/*.desktop |
chown -R liveuser:liveuser /home/liveuser |
# Liveuser face |
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then |
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face |
chown liveuser:liveuser /home/liveuser/.face |
fi |
# 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 |
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop |
fi |
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE |
[org.gnome.shell] |
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop'] |
FOE |
# 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/ |
# Fixing default locale to us - does not work for SL7.1 |
#localectl set-keymap us |
#localectl set-x11-keymap us |
EOF |
# rebuild schema cache with any overrides we installed |
glib-compile-schemas /usr/share/glib-2.0/schemas |
%end |
/trunk/SL7/livecd-config/sl-79-livedvd-kde.ks |
---|
0,0 → 1,453 |
lang en_GB.UTF-8 |
keyboard us |
timezone Europe/Brussels --isUtc |
auth --useshadow --enablemd5 |
selinux --enforcing |
firewall --enabled --service=mdns |
xconfig --startxonboot |
part / --size 10240 --fstype ext4 |
services --enabled=NetworkManager --disabled=network,sshd |
# Root password |
rootpw --iscrypted $6$K2nKf02kVKG68960$OywvoaViphSITuro/liKvCj7Pm/CH/xqzz/lsoXyaKSR1lYf0vHAqSUc483a9MCCBkIwfr/hNMfqwxqVO0OEg1 |
# Workaround for the grubby issue on live media (see https://bugzilla.redhat.com/show_bug.cgi?id=1153410) |
# SL repositories (fastbugs enabled per default) |
repo --name=base --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/os/ --excludepkgs=grubby |
repo --name=security --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/security/ --excludepkgs=grubby |
repo --name=fastbugs --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
# or use a mirror close to you |
#repo --name=base --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/os/ --excludepkgs=grubby |
#repo --name=security --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/security/ --excludepkgs=grubby |
#repo --name=fastbugs --baseurl=http://mirror.switch.ch/ftp/mirror/scientificlinux/7.9/$basearch/updates/fastbugs/ --excludepkgs=grubby |
#repo --name=grubby --baseurl=http://ftp.scientificlinux.org/linux/scientific/7.0/$basearch/os/ --includepkgs=grubby |
%packages |
@base |
@core |
@dial-up |
@directory-client |
@fonts |
@kde-desktop |
@guest-agents |
@guest-desktop-agents |
@input-methods |
@internet-browser |
@java-platform |
@multimedia |
@network-file-system-client |
@print-client |
@x11 |
@internet-applications |
@office-suite |
#@remote-desktop-clients |
@kde-apps |
@kde-media |
# additional packages |
@backup-client |
@compat-libraries |
@development |
@emacs |
@graphics |
@legacy-x |
@network-tools |
@performance |
@perl-runtime |
@php |
@technical-writing |
# console-internet |
lftp |
mutt |
whois |
# legacy-unix |
finger |
ksh |
telnet |
# network-tools |
nmap |
wireshark |
iptraf-ng |
netsniff-ng |
# scientific |
atlas |
fftw |
gnuplot |
lapack |
numpy |
scipy |
units |
# system-admin-tools |
screen |
system-storage-manager |
tree |
mc |
# development |
java-1.7.0-openjdk-devel |
# live install tools |
anaconda |
system-config-keyboard |
firefox |
patch |
# for UEFI/Secureboot support |
grub2 |
grub2-efi |
efibootmgr |
shim |
%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. |
### 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 live 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 |
echo -e "\ngsettings set org.gnome.settings-daemon.plugins.updates active 'false' &>/dev/null || :" >> /home/liveuser/.bashrc |
# arrange icons on desktop |
echo -e "\ngvfs-set-attribute -t string '/home/liveuser/Desktop/system-config-keyboard.desktop' 'metadata::nautilus-icon-position' '60,22' &>/dev/null || :" >> /home/liveuser/.bashrc |
echo "gvfs-set-attribute -t string '/home/liveuser/Desktop/liveinst.desktop' 'metadata::nautilus-icon-position' '60,122' &>/dev/null || :" >> /home/liveuser/.bashrc |
# no trash icon |
echo -e "\ngsettings set org.gnome.nautilus.desktop trash-icon-visible false &>/dev/null || :" >> /home/liveuser/.bashrc |
# trust all .desktop files on liveuser desktop |
echo -e "\nls -1 /home/liveuser/Desktop/*.desktop | xargs -i gio set \"{}\" \"metadata::trusted\" yes" >> /home/liveuser/.bashrc |
# 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 || : |
# disable kdump service |
systemctl --no-reload disable kdump.service 2> /dev/null || : |
systemctl stop kdump.service 2> /dev/null || : |
# disable tuned.service |
systemctl --no-reload disable tuned.service 2> /dev/null || : |
systemctl stop tuned.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=67.986 |
echo "localhost" > /etc/hostname |
# Fixing the lang install issue when other lang than English is selected . See http://bugs.centos.org/view.php?id=7217 |
/usr/bin/cp /usr/lib/python2.7/site-packages/blivet/size.py /usr/lib/python2.7/site-packages/blivet/size.py.orig |
/usr/bin/sed -i "s#return self.humanReadable()#return self.humanReadable().encode('utf-8')#g" /usr/lib/python2.7/site-packages/blivet/size.py |
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* |
releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release) |
basearch=$(uname -i) |
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-* |
echo "Packages within this LiveCD (with version)" |
rpm -qa | sort |
echo "Packages within this LiveCD" |
rpm -qa --qf "%{name}\n" | sort |
# 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 |
cat >> /etc/rc.d/init.d/livesys << EOF |
# 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 |
# Show the system-config-keyboard tool on the desktop |
mkdir /home/liveuser/Desktop -p >/dev/null |
cat /usr/share/applications/system-config-keyboard.desktop | sed '/NotShowIn/d' |sed 's/Terminal=false/Terminal=true/' > /home/liveuser/Desktop/system-config-keyboard.desktop |
cat /usr/share/applications/liveinst.desktop | sed '/NoDisplay/d' > /home/liveuser/Desktop/liveinst.desktop |
chmod +x /home/liveuser/Desktop/*.desktop |
chown -R liveuser:liveuser /home/liveuser |
# Liveuser face |
if [ -e /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png ] ; then |
cp /usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png /home/liveuser/.face |
chown liveuser:liveuser /home/liveuser/.face |
fi |
# 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 |
#cp /usr/share/applications/liveinst.desktop /usr/share/applications/anaconda.desktop |
fi |
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE |
[org.gnome.shell] |
favorite-apps=['liveinst.desktop','firefox.desktop', 'evolution.desktop', 'empathy.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'libreoffice-writer.desktop', 'nautilus.desktop', 'gnome-documents.desktop', 'anaconda.desktop'] |
FOE |
# add liveinst.desktop to favorites menu |
mkdir -p /home/liveuser/.kde/share/config/ |
cat > /home/liveuser/.kde/share/config/kickoffrc << MENU_EOF |
[Favorites] |
FavoriteURLs=/usr/share/applications/kde4/konqbrowser.desktop,/usr/share/applications/kde4/dolphin.desktop,/usr/share/applications/kde4/systemsettings.desktop,/usr/share/applications/liveinst.desktop |
MENU_EOF |
# 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/ |
# Fixing default locale to us - does not work for SL7.1 |
#localectl set-keymap us |
#localectl set-x11-keymap us |
EOF |
# rebuild schema cache with any overrides we installed |
glib-compile-schemas /usr/share/glib-2.0/schemas |
%end |