Сборка UIRD в магее

Опробовал свежую версию UIRD и сделал две правки

  1. /usr/share/uird/mkuird стр 114

if [ -f “/boot/config-$KERNEL” ] ; then
KERNELCFG="/boot/config-$KERNEL"
elif [ -f /lib/modules/$KERNEL/build/.config ] ;then
KERNELCFG="/lib/modules/$KERNEL/build/.config"
fi

Первым установил boot/config-$KERNEL
Т к /usr/lib/modules/$KERNEL/build/.config после обновления системы отсутствовал
А на второй позиции boot/config-$KERNEL почему то не находился

  1. /usr/share/uird/mkuird.cfg стр 23
    Тут включена reiserfs
    Но reiserfs отсутствует в /usr/share/uird/modules.d/00uird/livekit/livekitlib стр 952
    Записал

"$FS_T" == "reserfs"

Были проблемы с запуском системы на reserfs

  1. Небольшая проблема на btrfs
    AUFS запускается и нормально монтирует систему с раздела диска с ФС btrfs
    и даже пишет обновления в TOXZM на этот же раздел.
    Но в AUFS не работает мой chroot2xzm,
    т к не работает монтирование в AUFS в папку сборки chroot на на разделе диска с ФС btrfs
    В папке /memory все работает но может не хватить памяти
    Т к chroot2xzm я использую только для обновления Lubuntu а там обновления могут быть большие.

Но в Overlay, с моими правками, мой chroot2xzm работает на на разделе диска с ФС btrfs
Все монируется и обновляется !!!
Так что у меня Overlay на ФС btrfs рулит.

ЗЫ
Однако режим mount+wh в toxzm на ФС btrfs в Overlay оказывается работает.
Мои поздравления !!!
Можно теперь обновлять непосредственно системный модуль из base.
Уже сделал сборку Магеи в Overlay.
Но паковка пакетов ругается вроде на файлы postfix из /var/cache. Но это мелочи.
А так все работает. Может пора просто перейти на Overlay ?

Задумал как то я что бы в /usr/lib/magos/rc.post.d/11-xorg автоматически определялось разрешение монитора.
В Магее помогла утилита monitor-edid :slight_smile:

XORG_RES="$(monitor-edid | awk '/ModeLine/ { print $2 }' | sed -e 's/"//g' -e '2,$d')"

А в Убунту такой утилиты нет.
Тут вроде без утилиты xrandr или xdpyinfo не обойтись.
Эти утилиты работают в системе но при старте системы в uird выдается ошибка:

Текст "как есть" (без применения форматирования)Can’t open display

Возможно ли запустить xrandr или xdpyinfo в uird ?

Если ругается на display то наверное не получится. Можно попробовать добавить DISPLAY=:0 перед запуском, но иксов то нет…

1 лайк

По всякому пробовал. Не получается. Жалко что унивирсальности не получается.
Ну хоть на Магее и Росе monitor-edid можно использовать.
Только странно ? В загрузчик monitor-edid я не загружал а она работает.
Получается из сконфигурированной системы загружается.

Все проблема решена. Вот команда

XORG_RES="$(hwinfo |grep 'Resolution'|awk -F:" " '{print $2}'|sed '2!d')"

Утилита hwinfo есть и в Магее и Убунте.
Только боюсь что поиск в hwinfo на слабых компах будет долгим.
В утилите lspci можно получить рекомендованный производителями драйвер видеокарты
Режим auto в /usr/lib/magos/rc.preinit.d/50-xorg то же сделал.
Результаты очень хорошие. Сейчас тестирую.

Запускал на моем нетбуке MagOS_2021_20211225_beta.iso

Процессоры: 4 × AMD Ryzen 3 4300U with Radeon Graphics
Память: 7,2 ГиБ ОЗУ
Графический процессор: AMD RENOIR

На этот раз у меня система загрузилась и все заработало.
Пробовал из папки MagOS т к в моей сборке другие пути для запуска дистра но сконфигурировать загрузчик мне не удалось. Нет пакетов. Но видимо это временно.
Немного переделал магос-модуль.
89-magos.pfs - https://cloud.mail.ru/public/3XHR/BNE2gtd6o

  1. Подписывание обоев -
    /usr/lib/magos/rc.post.d/55-background и /usr/lib/magos/rc.local.d/01-background
    Вторая стр сверху берется из /MagOS/VERSION и она должна быть без пробелов

  2. LXQT
    Стиль LXQt установил как в Магее - /usr/share/lxqt
    Видимо особо его не запускают.
    Для Konsole надо по умолчанию установить профиль Rosa
    У меня его устанавливает сервис /usr/lib/magos/rc.desktop/all/autodesktop
    Он устанавливает на раб стол нужные значки, ну и что то можно из нужных файлов до устанавливать во время загрузки раб стола
    Работает только во время первого запуска раб стола

  3. Ну уж сил просто не было запускать /etc/xdg/menus/MagOS-applications.menu
    Зайти то зашел на раб стол а выйти не могу
    Установил свое меню.

  4. Плазма
    Все можно понять. Но непонятно зачем мне значок запуска калькулятора на панели.
    Калькулятор у меня в телефоне есть

  5. firefox
    Установил свой /usr/share/magos/mozilla/distribution/distribution.ini

PS

Вроде Плазма уже обновлена и не придерешся но настройки от Магеи для Плазмы не подошли.
К примеру Lubuntu 20.10 я особо не правил и практически все от Магеи подошло к Lubuntu 20.10
Так что Плазму не трогал. Но надо думать что это еще только betta

А мне пригождался калькулятор :wink:
Когда сдохла клава неожиданно, мышкой набрал одноразовый пинкод подтверждения в калькуляторе, скопировал в браузер и завершил банковскую транзакцию.

Да, этот калькулятор удобнее телефонного именно копированием из него, что совместно с инженерным и программистским режимами (системы счисления) здорово помогает при восстановлении разделов дисков, подсчёте секторов и т.п. рутине, где ошибаться в наборе цифр чревато потерей данных.

1 лайк

Постоянно беспокоило, что в Overlay в UIRD 3 папки /memory/changes
Изменил работу Overlay в UIRD - UIRD для Mageia и Lubuntu (Страница 1) — Модульные дистрибутивы на базе Mageia — Mageia Russian Community Forum

Папка /memory/ovl/changes перемещена в /memory/changes
Теперь функционирование Overlay не отличается от AUFS
Тестирование проводилось для режимов TOXZM,Changes, Machines
Правленные папки в /usr/share/uird/modules.d/00uird/livekit. Это - livekitlib и uird-init

Усложнение с промежуточной папкой сделано не просто так. Дело в том что служебная папка workdir для overlayfs должна находиться в той же файловой системе, что и верхний слой. Если такого обходного момента не делать вы не сможете использовать как changes корень раздела. Надеюсь правильно вспомнил причину )

Иэ wiki
Опция “workdir” должна указывать на пустой каталог в той же файловой системе, где находится “upperdir”.

Changes раздела находится :
/memory/layer-base/0/syschanges
При запуске тут появляются папки changes для aifs или changes и workdir для overlay
Монтирование системы в overlay :
mount -t overlay -o ......,upperdir=${OVERLAY}/changes,workdir=${OVERLAY}/workdir overlay $LUNION

Переопределил переменную :
OVERLAY=/memory/layer-base/0/syschanges
Заблокировал формирование /memory/ovl
И режим Changes заработал без усложнения с промежуточной папкой .

Т е Overlay в режиме Changes не монтирует /memory/changes, полученный из монтирования дискового changes. Ему требуется реальная папка.
А AUFS все монтирует.

Давайте еще раз. Допустим, что changes указывает на раздел, а не на папку. Где будет workdir находиться?

Перепробовал все варианты когда ${OVERLAY}/changes=/memory/changes
Где бы не находился workdir система в overlay не собирается.
Если ${OVERLAY}/changes = /memory/layer-base/0/syschanges/changes
То ${OVERLAY}/workdir = /memory/layer-base/0/syschanges/workdir
При этом в режиме changes от overlay в папке /memory папка workdir отсутствует

Скачать UIRD, но для Магеи 8 - UIRD – Google Диск
Там можно взять livekitlib и uird-init и попробовать

отмечаю, что сделал еще изменения
changes организован в папке syschanges в /memory/layer-base/0
При запуске тут появляются папки changes для aifs или changes и workdir для overlay
Но в меню grub надо указывать только syschanges
Вместо syschanges думаю, что можно использовать любое другое имя
Так, мне показалось, будет удобнее.
Опять же это организационное изменение и к коду отношения не имеет.

Так как отсутствует интерес к сообщениям “Сборка UIRD в магее” тема закрывается.
Оно и понятно форум для сборки на пакетной базе Росы
Если кому интересно то тема будет продолжена тут

Прошу прощения, что отвечаю с опозданием. Форум у нас сейчас не особо активный, случается, что пару дней не захожу. Можете пинать меня в телеграм в нашем чате ).
По поводу /memory/changes и оверлея. Либо я вас не понимаю, либо вы меня. Попытаюсь подробнее объяснить зачем добавил промежуточную точку монтирования.
Допустим. uird.mode=changes uird.changes=/dev/sda1. Если /dev/sda1 смонтирован в /memory/changes , то где нам создать workdir, так чтобы папка оказалась в той же FS? По этому делаем дополнительную точку монтирования для /dev/sda1, где будут workdir и changes, а потом добавляем бинд с этой changes на /memory/changes, чтобы изменения оказались по этому пути как и для aufs. Это делает несовместимыми “сохраненки” от оверлея и ауфс, но они и так не вполне совместимы из-за отличий в реализации теней (whiteout). Если вы считаете, что ваш вариант лучше, то видимо придется делать форк или если хотите бранч, за правами к Антону (neobht), я менять это место не планирую по описанной причине.

Мне трудно спорить, т к я не специалист по Overlay
Но вот что рекомендуют разработчики Overlay

Если upperdir=/dev/sda1/changes
То workdir=/dev/sda1/workdir

То есть workdir должен находиться там же где /dev/sda/changes
Впрочем ваш вариант инициализации Overlay и вариант от разработчиков Overlay рабочие.
Все изменения, сделанные мною, надеюсь основного кода не затронули

Верно. Получается что кода changes (то есть верхний слой overlayfs) это у вас не папка на разделе, а сам раздел разместить workdir попросту не где. Если положить ее рядом с точкой монтирования раздела, она окажется вне ФС раздела. По этому и добавляем на раздел папку для changes и рядом с ней workdir и используем эту папку, а не сам раздел. А в /memory/changes биндим эту папку, чтобы остальной код uird не переписывать под эту ососбенность overlayfs.

Но upperdir=/dev/sda1/changes у меня это Ext4

ни /memory/changes и /memory/ovl/changes это не Ext4
Получилось /memory/changes это примонтированная /dev/sda1/changes
Расположил workdir на /dev/sda1/workdir и все заработало.

Разрабы пишут
Опция “workdir” должна указывать на пустой каталог в той же файловой системе, где находится “upperdir”
upperdir находится у меня на Ext4

Верно, а как в вашем варианте сделать чтобы /memory/changes был /dev/sda1, а не /dev/sda1/changes?