Как мне сжать /usr и смонтировать его при загрузке?
Я бегу sudo mksquashfs /usr /usr_squash/usr.sfs -b 65536 -comp xz
Я добавляю в fstab:
/usr_squash/usr.sfs /usr_squash/sq squashfs loop,ro 0 0
overlay /usr overlay defaults,lowerdir=/usr_squash/sq,upperdir=/usr_squash/upd,workdir=/usr_squash/tmp 0 0
Конечно, точки монтирования sq, upd и tmp тоже созданы.
С ядром по умолчанию у меня следующая ошибка: failed: No such device
что, очевидно, связано с тем, что overlayfs - это модуль ядра [M], а не [*].
При использовании собственного ядра overlayfs запускается, но выдает следующую ошибку:
overlayfs: failed to resolve '/usr_squash/upd': -2
mount: mounting overlay on /root/usr failed: No such file or directory
overlayfs: upper fs is r/o, try multi-lower layers mount
Установка каталога относительно начального корня Ramdrive, а не основного корня (upperdir=/root/usr_squash/upd
вместо upperdir=/usr_squash/upd
) не помогает. И даже если я не могу пересобрать собственное ядро при каждом обновлении.
Итак, как лучше монтировать сжатый /usr? Я не хочу прерывать автообновление и не хочу, чтобы автообновление ломало мою систему. Должен ли я написать пользовательский хук и запустить update-initramfs -u -k all
? Но как?