Надо будет поискать (нет) тред, где sfs спорил со мной, что у фругала нет преимуществ перед фулл. Хотя одним из моих доводов и было сжатие и как следствие более быстрое чтение.
Сжатие - это реально большое преимущество. Это доказывает хотя бы тот же zram, который увеличивает своп (а следовательно и оперативку) в два, а то и в три раза. Представляю какие-бы скорости были у Puppyrus, если бы он просто работал в памяти и памяти у него прибавилось в два раза. Для старых (да и для новых) компов - это реально круто.
Там игроманы для быстродействия SSD советуют. Какой SSD? Это прошлый век уже... Запускать игру надо в RAM...
Вот еще хуки от арча
https://aur.archlinux.org/packages/mkinitcpio-loop-subdir/
https://aur.archlinux.org/packages/mkinitcpio-tarball-utils/
У Арча много всего, но всё это поддерживается неофициально сообществом, которое периодически забивает на свои инструменты. В этом плане мне больше нравится что-то новое. Например, вы пробовали
Nix?
Доработал, этот скрипт, можно пользоваться на самых разных системах, службы, которые надо перезапустить, могут быть, конечно другими, но по аналогии вроде понятно. Вот, почти (может ещё что-то будет) окончательная версия скрипта:
# Script to copy / to tmpfs and continue boot from there
# Do not run this from a child shell. Use ". ramify" or exec.
# The shell running this script must be the only process on the system.
# Ensure this runs in /
cd /
# Create and mount tmpfs file system for /
mkdir /mnt/new_root
mount -t tmpfs -o size=85% tmpfs mnt/new_root
# Copy everything from / filesystem to tmpfs
# Tar will restore proper owners and permissions when run as root
# FIXME: This is very slow because it reads / in many small pieces
# TODO: Add --exclude to prevent copying unneeded stuff
tar --one-file-system -c . | tar -C /mnt/new_root -x
# Move other mounts
mount --move dev mnt/new_root/dev
mount --move proc mnt/new_root/proc
mount --move run mnt/new_root/run
mount --move sys mnt/new_root/sys
# Create fstab with just new root file system
sed -i '/^[^#]/d;' mnt/new_root/etc/fstab
echo 'tmpfs / tmpfs defaults 0 0' >> mnt/new_root/etc/fstab
# Pivot root using instructions from pivot_root(8) man page
cd mnt/new_root
mkdir old_root
pivot_root . old_root
mount -n --move /old_root/root/.cache/gvfs /root/.cache/gvfs
# Перезапускаем службы
/etc/init.d/cupsd stop
/etc/init.d/bluetooth stop
/etc/init.d/local restart
/etc/init.d/sshd restart
/etc/init.d/syslog-ng restart
/etc/init.d/cronie restart
killall agetty
killall polkitd
killall upowerd
killall udisksd
killall ssh-agent
killall accounts-daemon
telinit u
/etc/init.d/fuse restart
/etc/init.d/root restart
/etc/init.d/devfs restart
/etc/init.d/NetworkManager restart
#Удаляем временный каталог
rmdir /old_root/mnt/new_root
# Old root can only be unmounted once sh running from old root
# finishes. Continue startup normally using init.
exec chroot . bin/sh -c "umount old_root ; exec sbin/init"
Какие службы или программы ещё запускаются со старого пути, можно посмотреть используя:
При этом dbus-daemon лучше оставить как есть... не придумал что с ним делать, но если его убить, система зависает...
lightdm и ModemManager тоже лучше не трогать.
Оставшееся, после входа в новую сессию XFCE.
После выполнения скрипта выходим из сеанса и входим в почти чистую систему в памяти. Время выполнения скрипта немного увеличилось и составило больше минуты. Это время можно регулировать ещё здесь:
mount -t tmpfs -o size=85% tmpfs mnt/new_root
Чем больше, тем больше места зарезервируется для rootfs, соответственно, чем меньше, тем быстрее загрузится в ОЗУ. Если у вас памяти, к примеру 10GB, а система установленная на / занимает 5GB, то смело можно ставить значение в 55-60%.