Концепт режима сохранения в модуль

Так как вы написали работать должно. Не должно работать со свопфайлом автоувеличение размера. То есть uird.rootfs=tmpfs::SIZE=200% должно работать, а uird.rootfs=tmpfs::SIZE=auto, не учтет свопфайл.

И работает. Память увеличивается но видимо у Магеи что то с ядром.
Память кончается и процесс копирования файла зависает
Да вчера покрутил домашний комп (2 Гб память) с

uird.swap=my.swap uird.rootfs=tmpfs::SIZE=70%

На firefox один раз инет завис и то я страницу сбросил и нормально продолжил

  1. Проверял swap в файле на Ubuntu но забыл сделать файл my.swap
    Вот что получилось

root@ubuntu:/media/root/MagOS-M/boot# swapon -s
Имя файла…Размер…Исп-но…Приоритет
/dev/zram0…506480…53676…5
/dev/zram1…506480…53068…5

root@ubuntu:/media/root/MagOS-M/boot# free -m
xxxxxxx…всего…занято…свободно.
Память:…1978…891…141
Подкачка:…8980…111…8869

Память 7.8 Гб (2 Гб ram)

И образ в 1.6 Гб записался

Запустил swap в файле на Магее.
Ну по крайней мере началась паковка модуля и т к swap пустой то процесс записи закончился выходом в терминал.
Набрал exit и выключился.
Разницы со swap на разделе диска не заметил

Очередной привет с Убунту

Работают только режимы mount ну и copy наверно
Режимы mount+wh не работают, т к ядро не разрешает работу с тенями
Так что ваш режим mount вроде рулит.
Запустил Убунту с ядром от Магеи и монтирование для режима mount+wh все равно пришлось изменить

mount -t aufs -o ro,shwh,br:$AUFS=rw:$SRC=ro+wh:${AUFS}-bundle=rr+wh aufs $AUFS

Выхода три

  • Использовать ядро от Магеи
  • Перепаковывать ядро от Убунту ( что не очень хорошо)
  • Если полноценно заработает режим mount, то так и оставить
    Но это еще тестить надо.

Зы
Прям как в сказке. Витязь на распутье
Отмечу что ядро от Магеи запускает не только Убунту, но и МагОС(Роса)

Не пойму как такое может быть.

А что изменено в монтировании? На память не соображу.

  1. [quote=“ingvaro, post:225, topic:118”]

Не пойму как такое может быть.
[/quote]

mount -t aufs -o ro,shwh,br:~

Проверялось в Магее и Убунте.
C опцией shwh в Убунту нет монтирования. Пишется синтаксическая ошибка
при загрузке Убунту с ядром от Магеи все ок

При монтировании образа aufs в системе с опцией ro были проблемы
Образ успешно монтировался но отмонтировать его я уже не смог

  1. Со свежим uird+toxzm была проблема с режимом mount+wh
    C одним модулем сохранения все ок. Успешно прошел тест с сервисом cups
    С двумя модулями сохранения, как только в /memory/changes появляется тень файла, образ aufs не монтирутся

  2. Изменил :

  • Первая стр скриптов установил - #!/bin/bash
    Что то часть скриптов на #!/bin/sh а другая на #!/bin/bash
    Вероятно что то одно надо ?
  • Заменил == на =
  • Все скрипты сделал исполняемыми
  1. shutdown-uird.sh стр 176

[ “$MODE” = “mount+wh” ] && mount -t aufs -o shwh,br:$AUFS=rw:$SRC=ro+wh:${AUFS}-bundle=rr+wh aufs $AUFS

Убрал опцию ro
Добавил - $AUFS=rw

Итог

Режим mount+wh в Магее сдал тест с сервисом cups

ЗЫ
Может что и лишнее сделал но shutdown-uird.sh (пункт 4) целый день сегодня крутил и пока не выполнил пункт 3 то два модуля с тенями не писались
Конечно еще тестить надо. Завтра проверю на нетбуке.

для uird и шатдауна замена == на = не актуальна. Там баш, ему фиолетово.
Самостоятельно выполняется только remount, он должен быть исполняемым остальным не нужно.
Монтирование с рв слоем можно сделать, если с этим проблемы. Но надо досконально проверить что косяк именно в этом.

Отмечу что тестил на Магее. И хоть Магея и Роса близкие родственники но могут быть отличия в систаксисе
Оновное изменение

В системе без секции $AUFS=rw образ aufs вообще не монтируется и в Магее и в Убунте
Непонятки почему с одним модулем в uird вроде все работает.
А с двумя, при появлении тени в /memory/changes, образ aufs даже не монтируется в uird.
Может виновата опция ro

mount -t aufs -o ro,shwh,br:~

При запуске в Магее и в Убунте образ aufs монтировался, но отмонтировать я его уже не смог
По идее тень что то должна удалять в образе aufs а он у нас только для чтения

Собственно никто не торопит. На неделе проверю еще раз

Физически ничего не удаляется, тень говорит ауфс не показывать файл и все.

Да, спасибо. А то я пока с паппирусами завяз :slight_smile:

Тестировал toxzm на Магее
TuXzm с изменениями - https://cloud.mail.ru/public/3R41/3tUjCWvqJ

  1. Режим copy
    Сказать нечего работает.

  2. Режим mount и mount+wh
    Выявил проблему. Это если допустим тестить более трех раз на включение и отключения сервиса cups
    Запись модуля начинается с стр 260 из
    /run/initramfs/usr/lib/dracut/hooks/shutdown/99-shutdown-uird.sh

mount -o move /oldroot${SYSMNT} ${SYSMNT}

Что то обнуляет /oldroot${SYSMNT} и монтировать в ${SYSMNT} уже нечего
Непонятно а что нельзя просто использовать /oldroot${SYSMNT} для заиси модуля ?
Дольше держался режим mount+wh на предыдущей версии toxzm.
Сбойнул на 6 цикл записи модуля. Причем этот баг проявляется стабильно.
Режим mount добавляет файла хорошо но при появлении тени (что то удалено) - сбой

Виновник нашелся !!
Это umount_a из /run/initramfs/shutdown
Пока закоментировал стр 58 - 64 из shutdown
Конечно а работает ли теперь umount_a ?
Результат

  • режим mount+wh работает на записи двух модулей
    Это у меня запись изменений системы и хомяк. В принципе достаточно
    Пробовал три модуля писать но первый раз все записалось а дальше нет
  • режим mount то же заработал и при появлении в /memory/changes теней все пишется
    Но что то тени не пишутся. Модуль пустой

XZM1=wh.xzm
MODE1=copy
REBUILD1=yes
ADDFILTER1=’.wh.’

  1. Режимы none и none+wh не тестировал. Т к mount+wh лучше работал на предыдущей версии
    Да и действительно модуль с изменениями должен монтироваться после монтирования всех модулей в системе. А у меня магос-модуль общий для трех систем и стартует с отдельного каталога. Получается что режимы none и none+wh мне не подходят.
    Может их вообще удалить из toxzm ?

Удалять не надо. Просто при таком раскладе следить за порядком монтирования модуля должен сам юзер.

Эта строка просто переносит точку монтирования. Ничего не обнуляя.

Так и должно быть.

Что конкретно ломает эта строка?

Не понял. Такая секция не работает?

При сбое /oldroot${SYSMNT} и ${SYSMNT} пустые.
Конкретно /memory из uird обнулено. Модуль создавать не из чего.

У меня получилось что umount_a и обнуляет /memory из корня uird

Я закоментировал условия запуска umount_a и сбой пропал
По крайней мере режим mount+wh теперь работает на записи двух модулей
Но сбой у меня проявлялся не сразу а на 6 цикл записи модуля
Вероятно надо настроить запуск umount_a после создания модуля

ЗЫ
Но в uird добавил нужный /usr/share/uird/modules.d/00uird/livekit/shutdown с исправлениями
И настроил /usr/share/uird/modules.d/00uird/module-setup.sh

Модуль wh.xzm создается но теней там нет. По крайней мере при тестировании на Магее

Возможно надо так ADDFILTER1=’.wh.*’

Вроде пробовал

Да, так надо.

При каких условия такое происходит?

Это я тестировал toxzm на тени. Все тот же cups-тест - деактивирование и активироание сервиса cups с записью модуля
Юзер

  • на раб столе юзера создал папку - запись модуля
  • деактивирование сервис cups и удалил папку на раб столе юзера - запись модуля
  • на раб столе юзера создал ту же папку папку активировал сервис cups - запись модуля

Повторил тест

  • на раб столе юзера создал папку - запись модуля
  • деактивирование сервис cups и удалил папку на раб столе юзера - запись модуля
  • на раб столе юзера создал ту же папку папку активировал сервис cups - сбой при записи модуля т к /memory в uird обнулено и модуль создавать не из чего

Это каждый раз так при второрой попытке?