Скрипт сборки образа ОС на базе ROSA Fresh XFCE rosa2021.1 и репозитория http://abf.io/nixtux. На основе скрипта https://abf.io/mikhailnov/xfce-201910
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

82 lines
2.5 KiB

auth --useshadow --enablemd5
selinux --disabled
# TODO: include firewalld
firewall --disabled
firstboot --enabled
# Enable/Disable services
services --enabled=gdm,avahi-daemon,cpupower,irqbalance,dbus,sshd,cups,smb,wsdd,systemd-resolved,NetworkManager,dnf-makecache.timer
# partition
part / --size 10000 --fstype ext4
# configure Time Zone
timezone --utc Europe/Moscow
# configure language
lang ru_RU.UTF-8 --addsupport=en_US
# configure keyboard
keyboard en
# repository
%include repobase.ks
%packages --nocore
%include packages.ks
### Manually (re)generate initrds
# TODO: move its generation from %%post to %%postrrans in kernel
# packages, and then all needed dracut modules will be already
# installed during inird generation, and there will be no need
# to (re)generate initrds here.
# BUT dracut config by livecd-tools is partly broken
# https://github.com/livecd-tools/livecd-tools/issues/158
# We remove odd parts - modules that do not exist in this kernel.
# Another possible approach is making and using our own config from scratch.
find /boot -name 'vmlinuz-*' | sort -u | while read -r line ; do
kver="$(echo "$line" | sed -e 's,^/boot/vmlinuz-,,g')"
cp "${C}" "${C}.orig"
to_find="$(cat "$C" | grep -E '^(filesystems\+=|add_drivers\+=)' | sed -e 's,",,g' | awk -F '+=' '{print $NF}' | tr ' ' '\n' | grep -v '=' | tr '\n' ' ' | sed -e 's, , ,g')"
for i in ${to_find} ; do
if ! find "/lib/modules/${kver}" -name "${i}.ko*" | grep -q '.' ; then
not_exist_list="${not_exist_list} ${i}"
sed -i -e 's,+=",+=" ,g' "$C"
for i in ${not_exist_list} ; do
sed -i -E -e "s,[[:blank:]]${i}[[:blank:]], ,g" "$C"
sed -i -e 's, , ,g' "$C"
diff -u "${C}.orig" "${C}" || :
rm -f "${C}.orig"
dracut -f "/boot/initrd-${kver}.img" "${kver}"
find /boot -name 'initrd-*' -print
# https://help.gnome.org/admin/gdm/stable/configuration.html.en#sessionconfig
# https://help.gnome.org/admin/system-admin-guide/stable/login-automatic.html.en
cat > /etc/anaconda-scripts.d/livecd-init/rosa-xfce-gdm-setup.sh << 'EOF'
echo "[daemon]
WaylandEnable=false" > /etc/gdm/custom.conf
chmod +x /etc/anaconda-scripts.d/livecd-init/rosa-xfce-gdm-setup.sh
( cd /etc/systemd/system && ln -sf gdm.service display-manager.service )
%include dumalogiya-post.ks
# debug
%post --nochroot
ls -la $LIVE_ROOT/isolinux/
cp -v "$(find "${INSTALL_ROOT}/boot" -name 'initrd-*.img' | sort -u | tail -n 1)" "${LIVE_ROOT}/isolinux/initrd0.img"