Поэкспериментировал в 1512 game c systemd.
Чтобы changes=EXIT:/mnt/sda2/save/pra-save.dat нормально сохранял изменения при выходе,
в дополнение к правке /etc/rc.local.shutdown так же, как под 1512 middle,
создал директорию /usr/lib/systemd/system-shutdown/
и в ней ссылку на /etc/rc.local.shutdown
live@pra:~$ ls -l /usr/lib/systemd/system-shutdown/
lrwxrwxrwx 1 root root 22 янв 20 23:37 rc.local.shutdown -> /etc/rc.local.shutdown
Получил-таки ошибку с root root /home/live, которой под middle так и не увидел и все гадал, как же oermolaev ее добился.
Короче говоря над этой ошибкой на пару поработали chrome и небольшой косячок в initrd
Там в 267 строке linuxrc есть такое:
for x in `find /memory/changes -name ".wh.*"`; do cp -a --parents $x /var; done
umount /memory/changes; mount -nt tmpfs -o size=$RAMSIZE tmpfs /memory/changes; mv /var/memory/changes/* /memory/changes 2>/dev/null; CHANGES=memory
Все бы ничего, но если .wh.* принадлежит root (а от хрома такое осталось), то все --parents создадутся тоже принадлежащими root - такова уж особенность cp -a --parents. Обычно эта особенность никак не мешает, но тут специфика слоеных файловых систем - каталоги /home/live/.config/chrome существуют, но на другом слое, поэтому в changes пересоздались при таком копировании уже
под root и перекрыли существующие. Отсюда вывод - со слоями aufs при помощи cp -a --parents лучше не работать, поскольку могут вылезти неожиданные глюки.
Предлагаю: копирование теней на changes вообще отсюда убрать. А чтобы они не пропадали в строке 448
mount -no remount,add:1:/memory/images/changes=rr aufs /union
заменить на
mount -no remount,add:1:/memory/images/changes=ro+wh aufs /union