Тестим UIRD

В Магее nouveau и после обновления не появился
В строке KM_base скрипта ~/uird/mkuird.cfg добавил nouveau
Так же не было драйвера vesa
В последней строке добавил - =drivers/video/fbdev

PS
Получается bash в дистрах может различаться
Запускаю Lubuntu так она не работает без правок
В последнем обновлении появился скрипт 0001-do_not_kill_plymouth.patch
Это нормально или что то у меня пошло не так ?

Да, нормально. Запустите ./make_dracut.sh чтобы пересобрать дракут заново с этим патчем. Впрочем вам он вряд ли нужен.

У меня никогда в уирде не работал Плимут на машине с nvidia картой.
Полагаю, что нуво драйвера никогда и не было в уирд. На машинах с не нвидиа картами плимут работает.
Собрал уирд с нуво, теперь автоматический подбор оптимального драйвера скриптами МагОС не работает. Система грузится только с nouveau драйвером. Либо надо добавилять в cmdline ядра блокировку модуля nouveau.
Считаю, что не надо добавлять nouveau в уирд.
Отсутствие драйвера нуво в инитрд не заперщает использовать его в принципе. Не знаю как у вас в системе сделано, в МагОС нужно добавить xdriver=nouveau

Когда в UIRD отсутствовал драйвер nouveau, то вместо plymouth была текстовая строка.
Разрешение экрана в UIRD было 1024х768 и при старте системы рарешение устанавливалось но наблюдались искажения вывода одной таблицы, при входе в рабочий стол.
Когда в UIRD установил драйвер nouveau то все ок !

У меня в Магее последняя версия от МагОС
Но сделал xdriver=auto - это автоматическое определение видео-драетйвера
А допустим xdriver=nouveau - Установка именно nouveau
Плюс есть возмоновсть в меню grub запретить МагОС определять видеосистему и позволить системе самой определять видеосистему

А у вас какая система ?
Теперь есть сам МагОС и есть barium-latest
Они отличаются скриптом /usr/lib/magos/rc.preinit.d/50-xorg и конфигами в /usr/share/magos/xorg
И что предпочесть ?

У меня и то и то есть. На моем железе ни там ни там Плимут не работает из-за отсутствующего nouveau в uird, но мне это не мешает, тем более я предпочитаю nvidia драйвер, так что в уирд плимута все равно не будет. В общем Плимут у меня отключен.

В Барии нет из коробки проприетарных nvidia драйверов, поэтому и подбора драйвера нет и можно в его уирд смело добавлять nouveau.

Спасибо за пояснения Собственно выбирать и не пришлось т к 50-xorg от МагОС некорректно работает в Магее. Скрипт выдает ошибку синтаксиса на одну команду.
Сильно разбираться не стал а 50-xorg от Бария работает и в Магее и в Lubuntu
А проприетарные драйвера у меня прекрасно устанавливает Магея.

В Магеиа-9 и Lubuntu uird уже не запустится или запустится с ошибками.
Причины :
1) В Магее-9 egrep устарел и отсутствует

~$ egrep
egrep: warning: egrep is obsolescent; using grep -E

Заменил egrep на grep -E во всех скриптах

2) Bash от Lubuntu не “понимает” команды

if [ -n "$ADDFILTER" -o -n "$DROPFILTER" ] ; then
надо задавать
if [ -n "$ADDFILTER" ] || [ -n "$DROPFILTER" ] ; then

Или

if [ -n "$ADDFILTER" -a -n "$DROPFILTER" ] ; then
надо задавать
if [ -n "$ADDFILTER" ] && [ -n "$DROPFILTER" ] ; then

Подробнее - UIRD для Mageia и Lubuntu (Страница 1) — Модульные дистрибутивы на базе Mageia — Mageia Russian Community Forum

По грепу понятно, подумаю как удобнее починить. Заменой или алиасом. По башу. Проверьте что это именно баш. В убунтах бывает, что /bin/bash ссылка на dash.

Правил я в скриптах от магос и в uird
Там bash и sh
Допустим в Магее я применения условных операторов с применением опций -a, -o не встречал.

Вот еще пример из /usr/share/uird/modules.d/00uird/livekit/livekitlib

[ -f /dev/mapper/uirdencdev$a  -o -b /dev/mapper/uirdencdev$a ] && continue
   заменил на
([ -f /dev/mapper/uirdencdev$a ] || [ -b /dev/mapper/uirdencdev$a ]) && continue

В Магее-8 поставил сначала вторые квадратные скобки. Там работало.
Но Магея-9 приняла только круглые скобки.

С egrep много работы. И к сожалению это вроде только руками.
Так как опции -a, -o встречаются в командах.
Чем им помешал egrep ? Не живется им спокойно.

Вот что пишет Lubuntu :

egrep --help

Использование: grep [ПАРАМЕТР]… ШАБЛОНЫ [ФАЙЛ]…

Я не про шабанг, а про реальный бинарник который запускается. В убунтах встречал, что /bin/bash ссылка на dash. То есть в шебанге скрипта написано #!/bin/bash, а скрипт запускается с dash. Из-за такой подставы, например, в pfs-utils убраны двойные квадратные скобки. Если проблема именно в этом, то переписывать на dash смысла не вижу. Думаю достаточно установить реальный баш перед сборкой uird.

Проверил в Lubuntu 22-04, Mageia 9 и там bash это bash.
То есть /usr/bin/bash это не ссылка на dash
Например /usr/bin/rbash это ссылка на bash
И /bin это ссылка на usr/bin
А /sbin это ссылка на usr/sbin

Как правило система запускается но с ошибками

egrep на grep -E заменил. По второй проблеме подтвердить не получилось. Собрал в магее 9 UIRD и загрузил им эту же магею. Ошибок не видел. В Самой магее конструкции [ условие -o условие ] - работают.

Проблема с применением в условных операторах опций -а, -о наблюдается в Ubuntu. В магее эти опции работают.
Проверял на Lubuntu 22.04 , runtu-kde-22.04-amd64_20220702.
Причем в этих дистрах /usr/bin/sh это ссылка на dash
При этом в терминале от пользователя не сохраняется история действий.
Сделал /usr/bin/sh это ссылка на bash
На Lubuntu 22.04 выявил несколько багов в условных операторах с опциями -а, -о и после этого во всех скриптах убираю эти опции.
Просматриваю скрипты в Kate и там эта ошибка подчеркивается
Ошибиться трудно
Конечно грузят системы UIRD из моей сборки. Сейчас у меня в нетбуке 6 дистрибутивов на одном диске и это 6 флэшек надо иметь.

UIRD в Магее 8 , Lubuntu 22.04 , runtu-kde-22.04-amd64_20220702 загружает систему и пишет изменения.
Но в Магее 9 изменения UIRD уже не пишет. Так как /memory/changes в Магее 9 система обнуляет и писать уже нечего.
Организовал копирование в /usr/lib/magos/rc.halt

[ "$uird_union" = 'aufs' ] && exit 0
SYSMNT='/run/initramfs/uird'
[ ! -d "${SYSMNT}" ] && mkdir -p ${SYSMNT}
mv -Tf /memory/changes ${SYSMNT}/changes
mount -o remount,rw ${SYSMNT}/changes
cp -Rn /memory/workdir ${SYSMNT}/workdir
mv -Tf /memory/bundles ${SYSMNT}/bundles
mount -o remount,ro ${SYSMNT}/bundles

Теперь все пишется

Но уточнения :
1) В MagOS для aufs есть /memory/changes
Но для overlay в MagOS - /memory/ovl/changes. А /memory/changes это при монтированный /memory/ovl/changes.
У меня и для aufs и для overlay только один memory/changes и /memory/workdir для overlay.
Не принципиально и оба варианта рабочие, но мне мой вариант нравится больше.
В МагОС пути, конечно, будут другие.

2) И в /usr/share/uird/modules.d/00uird/shutdown-uird.sh после строк (304, 305)
mkdir -p ${SYSMNT}
mount -o move /oldroot${SYSMNT} ${SYSMNT}
Записал :

if [ -d '/uird' ]; then
SYSMNT='/uird'
SRC=${SYSMNT}/changes
fi

Копировать /memory/changes в папку /memory в UIRD не получилось.
Если МагОС не скопировал /memory/changes в UIRD то работа по дефолту

Тестирование показало, что режим changes с этими изменениями у меня не работает.
Что то сделать не могу. По идее все должно быть только проще.
Пока вернулся на ваш вариант.

Пути, для overlay поменял :

[ "$uird_union" = 'aufs' ] && exit 0
SYSMNT='/run/initramfs/uird'
[ ! -d "${SYSMNT}" ] && mkdir -p ${SYSMNT}
mv -Tf /memory/ovl/changes ${SYSMNT}/changes
mount -o remount,rw ${SYSMNT}/changes
cp -Rn /memory/ovl/workdir ${SYSMNT}/workdir
mv -Tf /memory/bundles ${SYSMNT}/bundles
mount -o remount,ro ${SYSMNT}/bundles

Тестирую на runtu-kde-22.04-amd64_20220702
Проверил 2 условия и пока багов в условных операторах с опциями -а, -о не обнаружил.

Может это на Lubuntu 22.04
Может от того что /usr/bin/sh это была ссылка на dash.
Так что вопрос снимается.
Отмечу, что гораздо нагляднее условные операторы без опций -а, -о

PS
Но в Кате в условных операторах с опциями -а, -о по прежнему, с настройками по умолчанию, наблюдаю подчеркивание.

Однако проблема с UIRD на Магее 9 с запуском в Overlay.
К моменту начала работы UIRD папка /memory/changes уже пустая и писать нечего.
Сделал правку .
Добавил /usr/lib/magos/rc.halt/71-savechanges

#!/bin/bash

ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
#grep -q 1 /run/magos_started || exit 0
. /etc/initvars
rm -rf /memory/etc /memory/magosm.ini.gz
[ "$uird_union" = 'aufs' ] && exit 0
#. /etc/MagOS/config
SYSUIRD='/run/initramfs/memory0'
SYSMNT='/memory'
[ -d '/memory/ovl' ] && SYSMNT='/memory/ovl'
[ ! -d "${SYSUIRD}" ] && mkdir -p ${SYSUIRD}
mv -Tf $SYSMNT/changes ${SYSUIRD}/changes
#cp -Rn $SYSMNT/changes ${SYSUIRD}/changes    #Не работает
cp -Rn $SYSMNT/workdir ${SYSUIRD}/workdir

В /usr/share/uird/modules.d/00uird/shutdown-uird.sh добавил (стр 312)

if [ -d '/memory0' ]; then
SYSMNT='/memory0'
SRC=${SYSMNT}/changes
fi

Все !!!
Делаем новый загрузчик.
Теперь в Overlay все пишется

А что у вас такое /run/initramfs/memory0?

Это

`mv -Tf /memory/changes /run/initramfs/memory0

Иначе /memory/changes система обнулит.