Форум проекта PuppyRus Linux

Обсуждения операционных систем => Процессоры ARM архитектуры => Ядро Linux ARM, .dtb, uboot, initrd => Тема начата: sfs от 09 Февраль 2021, 14:36:05

Название: UIRD initrd aarch64
Отправлено: sfs от 09 Февраль 2021, 14:36:05
Подробности про UIRD (https://forum.puppyrus.org/index.php?board=204.0)
Собрал для aarch64 (вероятно будет работать и с 32 битными ОС на 64 железе)

uird-r593.2d9591d_a-sf01.pfs (http://mirror.yandex.ru/puppyrus/2a-aarch64/2a/2a2002/pfs/uird-r593.2d9591d_a-sf01.pfs) - модуль для сборки initrd под другие ядра.
Сборка : mkuird lfa -k название_ядра
Если uird*.cpio.xz не появился в текущем каталоге - смотрим лог ошибок в этом же каталоге
Конфиг : /usr/lib/uird/mkuird.cfg

extlinux.conf (http://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.6.2-arm-64-aufs/uird/extlinux.conf) - пример конфига с загрузкой 2А в режиме модульного overlayfs фругала c zram сжатием верхнего tmpfs слоя. zram - опциональная фича
Еще одна опциональная фича : qse - терминал на стадии initrd. Внутри есть mc. Для продолжения загрузки - выйти из mc и ctrl+d.  Удобно для правки конфигов и т.п.
Напоминаю, что overlayfs позволяет загружать модули при старте системы, но выгружать и загружать новые по горячему - НЕТ
overlayfs актуален сейчас, т.к. aufs - редко где есть

Прочие примеры в prar2008.iso. UIRD - наиболее функциональный initrd. Возможны любые извращения с aufs ofs для full и frugal

initrd-uird-5.6.2-arm-64.cpio.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.6.2-arm-64-aufs/uird/initrd-uird-5.6.2-arm-64.cpio.xz)
initrd-uird-5.9.8-arm-64.cpio.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.9.8-arm-64/uird/initrd-uird-5.9.8-arm-64.cpio.xz) - для этого ядра есть и aufs (его не проверял)

uird-r593.2d9591d-8-any.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-any/uird-r593.2d9591d-8-any.pkg.tar.xz)
uird-busybox-r593.2d9591d-8-aarch64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-extra/uird-busybox-r593.2d9591d-8-aarch64.pkg.tar.xz)
uird-dracut-r593.2d9591d-8-aarch64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-extra/uird-dracut-r593.2d9591d-8-aarch64.pkg.tar.xz)
Название: Re: UIRD initrd aarch64
Отправлено: uropb от 10 Февраль 2021, 12:24:05
Подробности про UIRD
Шибко подробно - увяз по самые...
 
модуль для сборки initrd под другие ядра
А мартышке шо "... слаба глазами стала...." можно пояснить, к какому месту очки прикладывать.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 10 Февраль 2021, 12:54:57
 ;D А я говорил Магосовцам - надо попроще
Смотрите menu*uird.lst из prar2008. Там на примерах все просто. Могу здесь выложить
Про сборку добавил в шапку
Название: Re: UIRD initrd aarch64
Отправлено: krasnyh от 10 Февраль 2021, 13:21:34
Это на самом деле не так сложно, как кажется. И да, как сказано выше, примеры menu*uird.lst из prar2008 за авторством betcher, очень информативны.


Еще документации (https://github.com/magos-linux/magos-linux/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0) uird по ссылке с magos-linux.ru.
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 10 Февраль 2021, 18:56:57
  А я говорил Магосовцам - надо попроще
Мы к этому с другой стороны подходим. Просто должно быть для юзера, а для того  кто собирает должно быть  функционально. Если автор дистра с уирд спрячет параметры в конфиг, то уирд будет грузить вообще без параметров в конфиге загрузчика.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 11 Февраль 2021, 09:34:54
Если автор дистра с уирд спрячет параметры в конфиг, то уирд будет грузить вообще без параметров в конфиге загрузчика.
А можно будет через qse их поправить?
А то в uboot нет ни меню ни редактора параметров ядра (тут он без вариантов вместо grub)
Или в этот момент уже поздно?
кто собирает должно быть  функционально.
Это есть. Но без примеров конфигов из prar2008 было бы очень тяжко. Надо всячески это вылизать

И еще - при сборке uird из шапки в инитрд попали perl и питон...
В прар такого эффекта не было. Это я накосячил или в uird что-то изменилось. Вряд ли чтобы специфика ARM...
Конфиги lfa дефолтные (только cryptsetup убрал)
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 11 Февраль 2021, 09:43:13
А можно будет через qse их поправить?
В qse - нет, поздно уже. А в qs - можно. Смотрите папку /tmp/parameters, дальше по смыслу.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 11 Февраль 2021, 11:11:11
Вероятно perl python с mc пролезли по зависимостям.
В репе эти зависимости - optional
Или там какие-то свои... Как-то такое убрать можно?
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 11 Февраль 2021, 11:17:05
Или там какие-то свои... Как-то такое убрать можно?
Я вообще думал, что там ldd :) Не знаю.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 11 Февраль 2021, 11:25:45
По логам или еще как-то можно понять кто какие зависимости притянул?
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 11 Февраль 2021, 11:27:14
dracut_uird.log в папке сборки.
Название: Re: UIRD initrd aarch64
Отправлено: uropb от 13 Февраль 2021, 03:40:40
смотрим лог ошибок
dracut: 90crypt: Could not find any command of '/systemd-cryptsetup cryptsetup'!
dracut: dracut module 'crypt' cannot be found or installed.
А в терминале вообще ничего не находит:
Спойлер
Not found: FS - ext3
Not found: BIN - cryptsetup
Not found: BIN - aria2c
Not found: BIN - sshfs
Not found: BIN - curlftpfs
Not found: BIN - httpfs
Not found: BIN - mkfs.btrfs
Not found: BIN - qemu-nbd
Not found: BIN - qemu-img
Not found: BIN - fsck.exfat
Not found: BIN - fsck.xfs
Not found: BIN - fsck.btrfs
Not found: BIN - btrfsck
Not found: BIN - rsync
[свернуть]
DEVX подключил.
"...Вертит Очками так и сяк...
...Очки не действуют никак..." (1815г)
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 13 Февраль 2021, 06:51:27
А эти утилиты установлены?
По идее в списке нет ничего обязательного. Должно работать. Если мешают ошибки можно сделать свой конфиг на основе mkuird.cfg где удалить все что использовать не будете. Либо добавлять ключ -e с шаблонами через запятую что нужно пропустить. Например:
mkuird MagOS -l -e plymouth,crypt,btrfs
Можно целыми блоками фильтровать по их названиям фильтровать  -e FS например, короче фильтруется все что есть в конфиге в формате grep.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 14 Февраль 2021, 11:12:03
"...Вертит Очками так и сяк...
Что и для чего собираете? Или просто эксперимент
Яркий пример того, о чем я неоднократно говорил: uird не для новичков.
Мало того что нужно представлять , как работают aufs или overlayfs. Опций очень много и они сложные. А задачи , как правило простые.
В итоге - нужны примеры на все случаи применения. Самостоятельно разобраться тяжеловато. Надо будет добавить в прар хотя бы load= noload=
Название: Re: UIRD initrd aarch64
Отправлено: uropb от 14 Февраль 2021, 12:21:30
Что и для чего собираете? Или просто эксперимент
Эксперимент, запустить ядро 5.11-rc7 в 2а. Если я правильно понял, то собирать надо под стороннее ядро не в 2а.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 14 Февраль 2021, 14:27:31
запустить ядро 5.11-rc7 в 2а
Если в нем overlayfs монолитно - можно взять initrd-uird от любого ядра, те. ничего не пересобирать
Если в нем zram не монолитно - не использовать zram
собирать надо под стороннее ядро не в 2а.
Можно в любом арч дистре:
Установить пакеты из uird-r593.2d9591d_a-sf01.pfs и далее - см. в шапке
Или еще проще - разобрать любой initrd-uird и рабочий инитрд от нужного ядра. Заменить в initrd-uird /lib/modules
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 14 Февраль 2021, 15:23:50
Яркий пример того, о чем я неоднократно говорил: uird не для новичков.
Sfs, вы dracut --help посмотрите. А uird собирается дракутом, как тут просто сделаешь? Если придумаете как упростить - я сделаю. Вы как-то давно предлагали упростить имена параметров до привычных, т.е. load вместо uird.load и так далее. Антон сделал алиасы, так их никто не использует и вы в том числе. Основных параметров там совсем не много, при желании можно разобраться.
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 14 Февраль 2021, 15:30:39
Вместо сборки нового уирд, помимо того, что предложил sfs, можно еще грузить с двумя инитрд. Один уже собранный для другого дистра (с той же архитектурой), второй с модулями для нужного ядра. У mkuird есть ключик  --kmod для сборки initrd, в котором будут только модули ядра.
Название: Re: UIRD initrd aarch64
Отправлено: krasnyh от 14 Февраль 2021, 15:48:17
Если придумаете как упростить - я сделаю.
Ага, ага. Вот у меня сложилось, что разработчики MagOS бОльшие консерваторы, чем все, кто когда-то писали на этом форуме. И за устоявшуюся проверенную временем модель системы будут до последнего. :)
Название: Re: UIRD initrd aarch64
Отправлено: betcher от 14 Февраль 2021, 15:50:17
Если придумаете как упростить - я сделаю.
Ага, ага. Вот у меня сложилось, что разработчики MagOS бОльшие консерваторы, чем все, кто когда-то писали на этом форуме. И за устоявшуюся проверенную временем модель системы будут до последнего. :)
Значит вы были не убедительны :)
Название: Re: UIRD initrd aarch64
Отправлено: DdShurick от 14 Февраль 2021, 16:19:49
за устоявшуюся проверенную временем модель системы будут до последнего.
Правильно, только так и никак иначе. Иначе псевдо прогресс не остановить.
Название: Re: UIRD initrd aarch64
Отправлено: sfs от 14 Февраль 2021, 17:12:57
как тут просто сделаешь?
С таким обширным функционалов - наверное проще не получится. Я не для "засрать" написал, а для этого вывода
В итоге - нужны примеры на все случаи применения. Самостоятельно разобраться тяжеловато. Надо будет добавить в прар хотя бы load= noload=
Мне и самому тяжеловато. Надеюсь на Вашу помощь.

Вы как-то давно предлагали упростить имена параметров до привычных, т.е. load вместо uird.load и так далее. Антон сделал алиасы, так их никто не использует
Не юзаю, т.к.:
1. Забыл как делается  :D
2. После того, как большинство конфига ушло в текстовый конфиг - стало легче
3. Т.к. в авторской доке uird.load - эти алиасы окончательно всех запутают

Что-то с ауфс все хуже и хуже становится. Вчера посмотрел - в манджаро - только в ЛТС ядре
Надо бы простой  (под скелет /base /modules /optional) многомодульный overlayfs initrd написать . Дядя Шурик - вроде у вас было?
за устоявшуюся проверенную временем модель системы
Что имели ввиду?
betcher очень сильно помог с pfs-util. Настолько сильно, что в теперешнем виде его уже можно считать автором  :)
neobht - автор uird. betcher написал конфиги с примерами для прар
Это серьезный вклад в фругал тему
Кстати neobht : Последняя активность:     19 Апрель 2020 Давно не видно у нас. Занят чем-то другим?