Обновление 2022.07.12Пересобрал 01-filesystem.squashfs из пакетов Debian 11.4 с добавлением man-db и сохранением англоязычных man страниц (В предыдущих сборках все man'ы были вырезаны).
И в amd64 версии добавил библиотеки /lib/i386-linux-gnu/ для запуска 32bit бинарников.
Чтобы это все автоматизировать подправил скрипт mklive-bullseye.
Запускается mklive-bullseye-gumanzoy -cli mklive-bullseye64-xfce-gumanzoy.conf
или mklive-bullseye-gumanzoy -cli mklive-bullseye32-xfce-gumanzoy.conf
Файл 01-filesystem.squashfs будет в bullseye/isodata/live/
Добавил dpkg --add-architecture i386
В mklive-bullseye64-xfce-gumanzoy.conf добавлена установка libjpeg62-turbo:i386 libncursesw5:i386 libncursesw6:i386 libstdc++6:i386 libxcursor1:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 zlib1g:i386
Отключил smartd. Он мне не нужен в live системе.
+[ "$ARCH" = "amd64" ] && dpkg --add-architecture i386
+
+echo path-exclude=/etc/init.d/smartmontools > etc/dpkg/dpkg.cfg.d/smartd
+echo path-exclude=/usr/sbin/smartd >> etc/dpkg/dpkg.cfg.d/smartd
Для библиотеки libpng12 пришлось городить такую ерунду. Потому что на github'е doglinux репы fredx181 разные для amd64 и i386.
Да еще и dpkg --force-overwrite пришлось добавить из за коллизии.
+if [ "$ARCH" = "amd64" ]; then
+! [ -f var/cache/apt/archives/libpng12*_i386.deb ] && \
+wget --no-check-certificate https://github.com/doglinux/bulldog/raw/master/i386/libpng12-0_1.2.50-2+deb8u3.2_i386.deb \
+-P var/cache/apt/archives
+dpkg --force-overwrite -i var/cache/apt/archives/libpng12*_i386.deb
+fi
32bit ядро нужно без pae для совместимости.
-[ "$ARCH" = "i386" ] && apt-get -o dir::cache::archives="/tmp/tmpapt" install -d linux-image-686-pae -y
+[ "$ARCH" = "i386" ] && apt-get -o dir::cache::archives="/tmp/tmpapt" install -d linux-image-686 -y
Взял код из livekit Slax
cleanup для распаковки man'ов
Предпочитаю удалить /usr/share/doc и info. И оставить только англоязычные man'ы.
+# Unzip gzipped files (man pages), so LZMA can compress 2times better.
+# First we fix symlinks, then uncompress files
+# $1 = search directory
+uncompress_files()
+{
+ local LINK LINE
+
+ find "$1" -type l -name "*.gz" | while read LINE; do
+ LINK="$(readlink "$LINE" | sed -r 's/.gz$//')"
+ FILE="$(echo "$LINE" | sed -r 's/.gz$//')"
+ ln -sfn "$LINK" "$FILE"
+ rm -f "$LINE"
+ done
+ find "$1" -type f -name "*.gz" | xargs -r gunzip
+}
+
+uncompress_files etc/alternatives
+
if [ "$KEEPMANDOC" = "FALSE" ]; then
find /usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
find usr/share/man -type f -exec rm -f {} 2> /dev/null \;
find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
chown -R man:root usr/share/man
+else
+find usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
+rm -f usr/local/bin/man
+rm -fr usr/share/man/??
+rm -fr usr/share/man/??.*
+rm -fr usr/share/man/*_*
+uncompress_files usr/share/man
+ chown -R man:root usr/share/man
fi
Для тех же манипуляций с man'ами и очистке ненужного при сборке модулей сварганил /usr/local/lib/cleanup
И импортировал функцию в скрипты apt2sfs apt2sfs-fullinst и remastercow
Все это добавил в 05-customtools.squashfs/usr/local/
Если у кого есть желание можете еще немного подправить и пересобрать 01-filesystem.squashfs без вырезания русской локализации и манов.