Сайт | Скачать | Видео | Wiki

Автор Тема: Сборка Initrd UIRD в PRA  (Прочитано 41975 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #60 : 12 Декабрь 2018, 17:20:01 »
А что дает второй инитрд? Он нужен?
По списку молулей не подскажу, сравните список в режиме qse например. Есть еще вариант, что  uird подключит модули не в том порядке что ваш инитрд. Если сами модули имеют пересекающиеся файлы это может быть критично. Если у пра есть еще какие-то тонкости при загрузке лучше допросить Sfs :)  Uird  свою часть работы делает ауфс из модулей собирает, загрузку иниту передает.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #61 : 12 Декабрь 2018, 17:39:36 »
Есть еще вариант, что  uird подключит модули не в том порядке что ваш инитрд
Нет, здесь нормально, важные модули с цифрами и грузятся в нужном порядке (то что я успел увидеть при загрузке):
Цитата
020-polkit-1811-sf03.pfs
020-upower-1811-sf02.pfs
030-pulseaudio-1811-sf02.pfs
030-udisks2-1811-sf02.pfs
030-qt5-1811-sf02.pfs
035-gtk2-1811-sf02.pfs
040-de-lxqt-1801-sf08.pfs
089-de-lxqt-numix-1811-sf07.pfs

А что дает второй инитрд? Он нужен?
Ну, это же система заточенная под full. Во втором initrd наверно важные параметры. Но и с одним uird.pra64.cpio.xz та же ошибка.

 Я подумал, что не хватает еще каких-то uird параметров.
« Последнее редактирование: 12 Декабрь 2018, 20:20:28 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #62 : 12 Декабрь 2018, 17:45:37 »
Я подумал, что не хватает еще каких-то uird параметров.
Если все модули подключены, ауфс из них собран и загрузка передана иниту, то задача инитрд выполнена. Нужно разбираться в составе модулей наверное, в последовательности их подключения и наверное все. Разве что ваш инитрд делает что-то еще, о чем я не знаю. Или может быть какой то из параметров в cmdline нужен не ядру или инитрд, а системе и тогда его нужно оставить. Лучше подождать SFS я слишкам мало разбтраюсь в устройстве ПРА.
« Последнее редактирование: 12 Декабрь 2018, 18:13:05 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #63 : 12 Декабрь 2018, 18:23:10 »
в последовательности их подключения
Сейчас раскидал все модули из параметров uird.load+=  uird.noload=  по папкам /base, /modules. LXQT загрузился.
Цитата
[title ▒▒ PRAR1811 LXQT FRUGAL.
find --set-root --ignore-floppies /prar1811/boot/vmlinuz-4.19-x86_64
kernel /prar1811/boot/vmlinuz-4.19-x86_64 quiet rw uird.from=/dev/sda3/prar1811
initrd /prar1811/boot/uird.pra64.cpio.xz /prar1811/boot/initrd-4.19-x86_64-fallback+.cpio.xz

Получается, что 'плохой uird' :) не выстраивает модули в нужном порядке в отличие от initrd ( load= ).

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #64 : 12 Декабрь 2018, 18:33:21 »
В магос можно перевернуть всю сборку и загрузиться. Единственный файл который дублируется в двух модулях  это файл который отвечает за дефолтный ДЕ. То есть при перевороте модулей и без параметра desktop= загрузится lxqt вместо kde. Если в ваших модулях повторяются файлы uird ли виноват? :)
Прямого способа задать нужную последовательность нет. Модули прошедшие фильтры load,noload,ro подключаются по алфавиту. Надо подумать что можно тут сделать.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #65 : 12 Декабрь 2018, 18:39:06 »
Модули прошедшие фильтры load,noload,ro подключаются по алфавиту.
Т.е. Не учитывается 030- 040- 089- ? Хотя по алфавиту - модули с цифрами будут сверху.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #66 : 12 Декабрь 2018, 18:44:40 »
Модули прошедшие фильтры load,noload,ro подключаются по алфавиту.
Т.е. Не учитывается 030- 040- 089- ? Хотя по алфавиту - модули с цифрами будут сверху.
Учитывается конечно, но base по алфаыиту выше чем modules, а modules выше чем optional.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #67 : 12 Декабрь 2018, 18:46:35 »
Если в ваших модулях повторяются файлы uird ли виноват?
Наверно в magos тоже что-то повторяется иначе не было бы цифрового индекса?
Код
live@pra-roll ..1026/MagOS_2016.64_20181026/MagOS/base % ls
00-kernel.xzm   10-core.xzm      41-x-utilities.xzm   45-x-java.xzm
42-x-network.xzm     70-documentation.xzm
01-drivers.xzm  20-x-base.xzm    43-x-multimedia.xzm 
35-x-plasma.xzm  44-x-office.xzm      88-magos.xzm

читывается конечно, но base по алфавиту выше чем modules, а modules выше чем optional.
Ясно, а initrd наверно формирует общий список, после обработки всех фильтров (load=; noload=).

« Последнее редактирование: 12 Декабрь 2018, 18:49:20 от krasnyh »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #68 : 12 Декабрь 2018, 18:57:21 »
Наверно в magos тоже что-то повторяется иначе не было бы цифрового индекса?
Цифровой индекс именно для этого, Вы правы. Но файлы реально не повторяются. Я склеивал mkpfs'ом  с сохрананием дубликатов и там только один файл дублируется.
Думаю, что когда у SFS все устаканится с модулями проблема сама собой исчезнет.
« Последнее редактирование: 12 Декабрь 2018, 19:45:20 от betcher »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #69 : 12 Декабрь 2018, 23:14:15 »
Я склеивал mkpfs'ом  с сохрананием дубликатов и там только один файл дублируется.
Стало интересно, а как у нас.

Сейчас раскидал все модули из параметров uird.load+=  uird.noload=  по папкам /base, /modules. LXQT загрузился.
Склеил (mkpfs) все модули в /mnt/sda3/prar1811/base:
Код
root@pra-roll:base# mkpfs -m --save-duplicates /mnt/sda3/prar1811/base/ -o test.pfs
/mnt/bundles1/000-kernel-4.19.1-MANJARO.pfs
/mnt/bundles1/001-prar1811-sf04.pfs
/mnt/bundles1/020-polkit-1811-sf03.pfs
/mnt/bundles1/020-upower-1811-sf02.pfs
/mnt/bundles1/030-pulseaudio-1811-sf02.pfs
/mnt/bundles1/030-qt5-1811-sf02.pfs
/mnt/bundles1/030-udisks2-1811-sf02.pfs
/mnt/bundles1/035-gtk2-1811-sf02.pfs
/mnt/bundles1/040-de-lxqt-1801-sf08.pfs
/mnt/bundles1/070-pra-frugal-sf02.pfs
/mnt/bundles1/084-theme-numix-1811-sf07.pfs
/mnt/bundles1/089--pra-roll-filesystem-2018.11-26.pfs
/mnt/bundles1/089-de-lxqt-numix-1811-sf07.pfs
/mnt/bundles1/089-prar-upd-1811-sf01.pfs
save_duplicates enabled
/home/live/.config/autostart/numlock.desktop -- saved as unique for 089--pra-roll-filesystem-2018.11-26.pfs submodule
/home/live/.config/fontconfig/fonts.conf -- saved as unique for 089--pra-roll-filesystem-2018.11-26.pfs submodule
/home/live/.config/openbox/rc.xml -- saved as unique for 089--pra-roll-filesystem-2018.11-26.pfs submodule
/etc/systemd/system/mountall.service -- saved as unique for 070-pra-frugal-sf02.pfs submodule
/start.sh -- saved as unique for 030-udisks2-1811-sf02.pfs submodule
/etc/group -- saved as unique for 030-pulseaudio-1811-sf02.pfs submodule
/etc/gshadow -- saved as unique for 030-pulseaudio-1811-sf02.pfs submodule
/etc/passwd -- saved as unique for 030-pulseaudio-1811-sf02.pfs submodule
/etc/shadow -- saved as unique for 030-pulseaudio-1811-sf02.pfs submodule
/start.sh -- saved as unique for 030-pulseaudio-1811-sf02.pfs submodule
/etc/group -- saved as unique for 020-upower-1811-sf02.pfs submodule
/etc/gshadow -- saved as unique for 020-upower-1811-sf02.pfs submodule
/etc/passwd -- saved as unique for 020-upower-1811-sf02.pfs submodule
/etc/shadow -- saved as unique for 020-upower-1811-sf02.pfs submodule
/etc/group -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/group- -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/gshadow -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/gshadow- -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/passwd -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/passwd- -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/shadow -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/shadow- -- saved as unique for 020-polkit-1811-sf03.pfs submodule
/etc/group -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/group- -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/gshadow -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/gshadow- -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/mc/filehighlight.ini -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/mc/mc.ext -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/mc/mc.menu -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/pacman.conf -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/passwd -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/passwd- -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/shadow -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/shadow- -- saved as unique for 001-prar1811-sf04.pfs submodule
/etc/systemd/journald.conf -- saved as unique for 001-prar1811-sf04.pfs submodule
/usr/share/glib-2.0/schemas/gschemas.compiled -- saved as unique for 001-prar1811-sf04.pfs submodule
/usr/share/icons/hicolor/icon-theme.cache -- saved as unique for 001-prar1811-sf04.pfs submodule
/var/lib/pacman/local/libxkbcommon-0.8.2-1/desc -- saved as unique for 001-prar1811-sf04.pfs submodule
/var/log/pacman.log -- saved as unique for 001-prar1811-sf04.pfs submodule
/usr/bin/cryptsetup -- saved as unique for 000-kernel-4.19.1-MANJARO.pfs submodule
/usr/lib/initcpio/install/encrypt -- saved as unique for 000-kernel-4.19.1-MANJARO.pfs submodule
/usr/lib/initcpio/install/sd-encrypt -- saved as unique for 000-kernel-4.19.1-MANJARO.pfs submodule
/usr/lib/tmpfiles.d/cryptsetup.conf -- saved as unique for 000-kernel-4.19.1-MANJARO.pfs submodule
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on test.pfs, block size 524288.
[=====================================================================-] 39851/39851 100%


Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Сборка Initrd UIRD в PRA
« Ответ #70 : 12 Декабрь 2018, 23:16:41 »
 Не очень понимаю как это все интерпретировать, но частые повторы shadow, passwd, group, для меня как причина ошибки при загрузке prar1811 с uird (когда нарушен порядок модулей с цифровым индексом ):
С uird ошибка на стадии загрузки пользователя (загрузка с sda3; menu.lst на sda1).

 user not known to the underlying authentication module

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #71 : 13 Декабрь 2018, 06:33:51 »
Да. Вемьма вероятно,что дело именно в этих файлах. Но вот ума не дам как в уирд прикрутить заданную последовательность подключения. Сейчас все довольно просто, отфильтровали список и подключили. Единственно может реверс получится встроить не усложняя, но тут не поможет однако. Боюсь в данном случае решать придется со стороны ПРА.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Сборка Initrd UIRD в PRA
« Ответ #72 : 13 Декабрь 2018, 09:22:01 »
uird.load+=optional.*de-lxqt
В pra-porteus и rootaufs изменен порядок слоев AUFS загружаемых модулей. 08*.pfs 09*.pfs всегда в верхнем слое
Т.е. с uird надо , чтобы 08*.pfs 09*.pfs были в /base. По другому - только патчить uird
Если бороться за супер-универсальность, возможно было бы сделать вставной код, который меняет слои своим скриптом - типа конфига
что дает второй инитрд?
В первом - только модули используемого ядра. Во втором (сейчас в исо наоборот, но по слоям правильнее так ) сам инитрд
В итоге при смене ядра не надо пересобирать инитрд
Только модули ядра в арче собирают таким конфигом /etc/mkinitcpio.conf
Код
HOOKS=( udev autodetect modconf block filesystems keyboard )
При смене инитрд - не надо пересобирать модули
Уже ведь это обсуждали
/etc/gshadow -- saved as unique for 020-upower-1811-sf02.pfs submodule
/etc/passwd -- saved as unique for 020-upower-1811-sf02.pfs submodule
Еще при установке некоторых пакетов добавляются группы и юзера
Похоже - удалять. Иначе перекроют рабочие
Единственно может реверс получится встроить не усложняя, но тут не поможет однако. Боюсь в данном случае решать придется со стороны ПРА.
/modules
    Модули.pfs автозагружаются в алфавитном порядке выше base
/optional
Модули.pfs загружаются в алфавитном порядке выше base, modules при указании load=module[1];module[n]
Если пордок слоев в uird другой (как решить с 08*.pfs 09*.pfs - см. выше) - получается несовместимость
вряд ли получится переставить слои после инитрд
Если про group - все копии надо удалить

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: Сборка Initrd UIRD в PRA
« Ответ #73 : 13 Декабрь 2018, 10:02:57 »
Со вторыи инитрд понятно, просто в этом конкретном  uird  дрова родные для этого ядра. Сборку uird где будут только дровп и фирмварь тоже делаю: mkuird --kmod вот так.
По последовательности слоев мне не понятно в какой ситуации может понадобиться пихать слои раньше базовых модулей, обычно наоборот приходится изменять файлы которые уже есть в base  модулях, а значит подключать модули после. Изменение порядка подключения для конкретно для модулей которые начинаются на 08, 09 выглядит костылем. Действительно почему именно эти модули, а не какие-то другие. В таком виде в uird это пихать не буду.
Как будет время посмотрю код, который подключает слои в uird может будут какие идеи.
Если удалить из модулей "двойники" shadow, group то может и проблема пропадет сама собой.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Сборка Initrd UIRD в PRA
« Ответ #74 : 13 Декабрь 2018, 10:32:15 »
08*.pfs 09*.pfs всегда в верхнем слое
Т.е. перекрывают все
По последовательности слоев мне не понятно в какой ситуации может понадобиться
090 - у нас сохраненка. Разве не логично ее иметь поверх всего?
А так /optional и /modules перекрывали.
089 - типа того же - преднастройки  или багфиксы
В таком виде в uird это пихать не буду.
Не надо. Если они в /base - все должно быть норм
удалить из модулей "двойники" shadow, group то может и проблема пропадет сама собой.
Это по любому правильно сделать

По итогу с uird - то, что я хотел - я сделал в rootaufs2 и он родной - арчевый. Дошлифую - выложу
Причем, возможно mkinitrd арча будет проще адаптировать к другим дистрам, чем dracut. Заморачиваться сборкой наших инитрд тоже смысла не вижу - проще юзать 2 инитрд
В остальных наворотах uird дома необходимости не вижу
Соответственно сам доводить конфиги uird под пра ближайшее время не буду.
Сейчас меня больше волнует эта проблема
С хуком aufs тут норм. Остальные хуки надо доводить