r11_isocreate/.ks.template

297 lines
10 KiB
Text
Raw Normal View History

2024-06-07 23:03:10 +03:00
timezone Europe/Moscow
auth --useshadow --enablemd5
selinux --disabled
firewall --enabled
firstboot --enabled
2024-06-17 15:01:00 +03:00
part / --size 24536 --fstype ext4
2024-06-07 23:03:10 +03:00
2024-06-21 17:40:42 +03:00
services --enabled=sshd,acpid,alsa,atd,avahi-daemon,irqbalance,mandi,dbus,netfs,partmon,resolvconf,rpcbind,sound,udev-post,mandrake_everytime,crond,shorewall,cups,wsdd,zramstart
services --disabled=sshd,pptp,pppoe,ntpd,iptables,ip6tables,nfs-server,mysqld,abrtd,mysql,postfix,network,cpupower,winbind,packagekit-offline-update,dnsmasq,smb
2024-06-07 23:03:10 +03:00
bootloader --append="rootflags=rw,noatime"
repo --name=Main --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/main/release
repo --name=Main-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/main/updates
repo --name=Non-Free --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/non-free/release
repo --name=Non-Free-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/non-free/updates
repo --name=Restricted --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/restricted/release
repo --name=Restricted-Up --baseurl=http://abf-downloads.rosalinux.ru/rosa2016.1/repository/#ARCH#/restricted/updates
# Custom repos
%include #PATH#/#ARCH#repo.lst
%packages
%include #PATH#/common#ARCH#.lst
%include #PATH#/#ARCH#.lst
%end
%post
#We use non-free version (like EE)
sed -i 's/Free/EE/' /etc/product.id
sed -i 's/One/EE/' /etc/product.id
sed -i 's/Free/EE/p' /etc/os-release
# adding messagebus user to workaround rpm ordering (eugeni)
#/usr/share/rpm-helper/add-user dbus 1 messagebus / /sbin/nologin
#/usr/share/rpm-helper/add-group dbus 1 messagebus
#/bin/chown root:messagebus /lib*/dbus-1/dbus-daemon-launch-helper
#/bin/chmod u+s,g-s /lib*/dbus-1/dbus-daemon-launch-helper
####### avahi workaround
#/usr/share/rpm-helper/add-user avahi 1 avahi /var/avahi /bin/false
#/usr/share/rpm-helper/add-user avahi 1 avahi-autoipd /var/avahi /bin/false
#/usr/share/rpm-helper/add-service avahi 1 avahi-daemon
#### end of it
echo "###################################### Make initrd symlink >> "
echo ""
/usr/sbin/update-alternatives --set mkinitrd /usr/sbin/mkinitrd-dracut
rm -rf /boot/initrd-*
# adding live user
/usr/sbin/adduser -G wheel,users,sambashare -c "ROSA Live User" live
/usr/bin/passwd -d live
/bin/mkdir -p /home/live
/bin/cp -rfT /etc/skel /home/live/
/bin/mkdir /home/live/.MdkOnline
echo 'AUTOSTART=FALSE' > /home/live/.MdkOnline/mdkonline
/bin/mkdir /home/live/Desktop
/bin/cp /usr/share/applications/rosa-draklive-install.desktop /home/live/Desktop/
/bin/chown -R live:live /home/live
# usermod -a -G cdrom live
# enable live user autologin
if [ -f /usr/share/config/kdm/kdmrc ]; then
#/bin/sed -i -e 's/.*AutoLoginEnable.*/AutoLoginEnable=true/g' -e #'s/.*AutoLoginUser.*/AutoLoginUser=live/g' /usr/share/config/kdm/kdmrc
sed --follow-symlinks -i -e '/\[X-:0-Core\]/{:a;n;/^$/!ba;i\AutoLoginEnable=true\nAutoLoginLocked=false\nAutoLoginUser=live' -e '}' /usr/share/config/kdm/kdmrc
fi
# ldetect stuff
/usr/sbin/update-ldetect-lst
/usr/sbin/update-pciids
systemctl enable NetworkManager.service
#systemctl enable getty@.service
###temp workarond, remove when sure###
# systemctl disable cups.service
#enable cpupower out of the box
systemctl enable cpupower
#NM need USE_ONLY=yes
sed -e 's/USE_NM_ONLY=no/USE_NM_ONLY=yes/' -i /etc/sysconfig/network
### TEMP WORKAROUND FOR MIMEAPPS LIST###
echo DELETING MIMEAPPS
rm -f /usr/share/applications/mimeapps.list
###
# mtab
# pushd /etc/
# ln -sf /proc/mounts mtab
# popd
#####workaround for time###
# rm -rf /etc/sysconfig/clock
# rm -rf /etc/adjtime
# rm -rf /etc/localtime
#####
###chkconfig###
/sbin/chkconfig --add checkflashboot
#####
# Change samba group to WORKGROUP
# sed -i 's/MDVGROUP/WORKGROUP/' /etc/samba/smb.conf
#
# DKMS
#
echo
echo
echo Rebuilding DKMS drivers
echo
echo
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
#build arch import for vboxadditions dkms + flash workaround###
export BUILD_TARGET_ARCH=x86
XXX=`file /bin/rpm |grep -c x86-64`
if [ "$XXX" = "1" ]; then
export BUILD_TARGET_ARCH=amd64
fi
echo " ###DKMS BUILD### "
kernel_ver=`ls /boot | /bin/grep vmlinuz | /bin/sed 's/vmlinuz-//' |head -1`
for module in vboxadditions broadcom-wl; do
module_version=`rpm --qf '%{VERSION}\n' -q dkms-$module`
module_release=`rpm --qf '%{RELEASE}\n' -q dkms-$module`
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade add -m $module -v $module_version-$module_release" root
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade build -m $module -v $module_version-$module_release" root
su --session-command="/usr/sbin/dkms -k $kernel_ver -a #ARCH# --rpm_safe_upgrade install -m $module -v $module_version-$module_release --force" root
done
echo "END OF IT".
#
# Sysfs must be mounted for dracut to work!
#
mount -t sysfs /sys /sys
ln -s /usr/share/plymouth/themes/Rosa-EE/rosa.png /usr/share/plymouth/themes/Rosa-EE/welcome.png
pushd /lib/modules/
KERNEL=$(echo *)
popd
echo
echo Generating kernel. System kernel is `uname -r`, installed kernels are:
rpm -qa kernel-*
echo Detected kernel version: $KERNEL
rm -f /boot/initrd*
rm -f /boot/initramfs*
ISOBUILD_CONF_DIR=/tmp/isobuild/
ISOBUILD_CONF="$ISOBUILD_CONF_DIR/61-isobuild.conf"
rm -rf "$ISOBUILD_CONF_DIR"
mkdir -p "$ISOBUILD_CONF_DIR"
if test -d /usr/lib/dracut/dracut.conf.d/; then
find /usr/lib/dracut/dracut.conf.d/ -name '*.conf' -exec cp -f {} "$ISOBUILD_CONF_DIR" \;
fi
# Livecd-tools create their dracut configuration file in /etc/dracut.conf.d/
# but we do not need it: they (inadvertently?) try to override the default
# set of drivers included into initrd, which is wrong.
# Instead, let us use the default configuration that comes with our dracut
# with the following additions/overrides:
echo 'hostonly="no"' >> $ISOBUILD_CONF
echo 'add_dracutmodules+=" dmsquash-live pollcdrom "' >> $ISOBUILD_CONF
echo 'omit_dracutmodules+=" aufs-mount "' >> $ISOBUILD_CONF
# Print the configuration files to be used, to simplify debugging.
pushd "$ISOBUILD_CONF_DIR"
echo "========= Dracut configuration =========="
for cfile in *.conf; do
echo "$cfile:"
cat $cfile
echo ""
done
echo "========================================="
popd
/usr/sbin/dracut /boot/initrd-$KERNEL.img $KERNEL --force --confdir "$ISOBUILD_CONF_DIR" -vv
mkdir -p /run/initramfs/live/isolinux/
ln -s /boot/initrd-$KERNEL.img /run/initramfs/live/isolinux/initrd0.img
#cp -f /boot/initramfs-$KERNEL.img /run/initramfs/live/isolinux/initrd0.img
#ls -l /boot/
#hack for nscd loop error
while (ps -e | grep nscd)
do
killall -s 9 nscd
done
echo ""
echo "###################################### Build ISO >> "
echo ""
%end
%post --nochroot
#hack to try to stop umount probs
while (lsof /dev/loop* | grep -v "$0" | grep "$INSTALL_ROOT")
do
sleep 5s
done
cp -rfT #PATH#/extraconfig/etc $INSTALL_ROOT/etc/
cp -rfT #PATH#/extraconfig/usr $INSTALL_ROOT/usr/
cp -rfT #PATH#/extraconfig/var $INSTALL_ROOT/var/
cp -rfT #PATH#/extraconfig/root $INSTALL_ROOT/root/
cp -rfT #PATH#/extraconfig/lib $INSTALL_ROOT/lib/
cp -rfT #PATH#/extraconfig/etc/skel $INSTALL_ROOT/home/live/
cp -rfT #PATH#/extraconfig/etc/skel $INSTALL_ROOT/root/
chown -R 500:500 $INSTALL_ROOT/home/live/
chmod -R 0777 $INSTALL_ROOT/home/live/.local
chmod -R 0777 $INSTALL_ROOT/home/live/.kde4
# Restoring /var/cache/urpmi contents which is missing because this path is mounted outside of chroot
# Using mount --bind to get access to the real directory under mountpoint
mkdir /tmp/temp_root
mount --bind $INSTALL_ROOT /tmp/temp_root
urpmi --replacepkgs --root /tmp/temp_root urpmi
umount /tmp/temp_root
rmdir /tmp/temp_root
# Temprary hack: removing useless files from fs root
# TODO: Fix this properly (Module.symvers appears from DKMS; others are coming when grub2 is installed
# and os-prober failes to create a temporary dir in /tmp)
rm -f $INSTALL_ROOT/{Module.symvers,btrfs-vols,mounted-map,swaps-map,raided-map}
#end of it
# install repos
# note: old urpmi versions may do this buggily
( set -ex
/usr/sbin/urpmi.removemedia -a \
--urpmi-root "$INSTALL_ROOT" || :
# aria2 gives clearer error codes than wget/curl
/usr/sbin/urpmi.addmedia \
--distrib \
--mirrorlist http://mirror.rosalab.ru/rosa/rosa2016.1/repository/#ARCH#/ \
--downloader aria2 \
--urpmi-root "$INSTALL_ROOT"
for i in \
loader:::http://abf-downloads.rosalinux.ru/loader_personal/repository/rosa2016.1/#ARCH#/main/release/
do
REPO_NAME="$(echo "$i" | awk -F ':::' '{print $1}')"
REPO_URL="$(echo "$i" | awk -F ':::' '{print $2}')"
/usr/sbin/urpmi.addmedia \
--urpmi-root "$INSTALL_ROOT" \
"$REPO_NAME" \
"$REPO_URL"
done
)
#end of it
# delete icon cache
# rm -f $INSTALL_ROOT/usr/share/icons/gnome/icon-theme.cache
# rm -f $INSTALL_ROOT/usr/share/icons/nuoveXT2/icon-theme.cache
# rm -f $INSTALL_ROOT/home/live/.face.icon
mkdir -p $INSTALL_ROOT/home/live/.kde4/env
echo "export KDEVARTMP=/tmp" > $INSTALL_ROOT/home/live/.kde4/env/00-live.sh
echo "export KDETMP=/tmp" >> $INSTALL_ROOT/home/live/.kde4/env/00-live.sh
# disable akonadi
mkdir -p $INSTALL_ROOT/home/live/.config/akonadi/
cp #PATH#/extraconfig/other/akonadiserverrc $INSTALL_ROOT/home/live/.config/akonadi/
chown -R 500:500 $INSTALL_ROOT/home/live/.config/
# Make sure akonadi is unlikely to start again (some KDE components may
# try to rewrite this file to enable akonadi):
chmod 0444 $INSTALL_ROOT/home/live/.config/akonadi/akonadiserverrc
#ssh key don't need
rm -f $INSTALL_ROOT/etc/ssh/*key*
echo "#BUILD_ID#" > $INSTALL_ROOT/etc/isonumber
mkdir -p $LIVE_ROOT/isolinux/
cp #PATH#/extraconfig/memdisk $LIVE_ROOT/isolinux/
cp #PATH#/extraconfig/sgb.iso $LIVE_ROOT/isolinux/
echo "# iso build No.#BUILD_ID#" > $LIVE_ROOT/rpm.lst
rpm --root $INSTALL_ROOT -qa | sort >> $LIVE_ROOT/rpm.lst
rpm --root $INSTALL_ROOT -qa --queryformat="%{NAME}\n" | sort > $INSTALL_ROOT/var/lib/rpm/installed-by-default
if [ "#ARCH#" = "x86_64" ]; then
RAMSIZE=1920
else
RAMSIZE=1280
fi
./total_sum_counter.pl -r $RAMSIZE -h 10 -w $INSTALL_ROOT/ -o $INSTALL_ROOT/etc/minsysreqs
%end