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

Автор Тема: Initrd UIRD  (Прочитано 242073 раз)

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

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #30 : 03 Февраль 2015, 02:57:46 »
Не совсем понял вопрос относительно дублирования.

У вам есть некий набор модулей. И несколько настроек системы на различном оборудовании. Модули одни и те же - настройки выбираете, загружая те или иные модули.

Это если хоть маленько понял ваш вопрос.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #31 : 04 Февраль 2015, 16:51:41 »
Еще потестировал. Для чего , кроме сети, еще отлично подходит - прикрутить любое (не с вкомпиленными фс) ядро
Естественно если в ядре нет aufs (например) - uird чуда не сделает.

Что напрягает:
1  root=uird:  - нельзя это убрать в дефолт? Что тут вообще можно менять и для чего?
2. uird.  Так ли нужен uird. ? Строка kernel и так длинная...  Теряется совместимость с портеус. Зачем называть то же самое по другому?
3. uird.from= В pra самопальное dir= Предлагаю в обоих дистрах сделать чтобы и from и dir работало
4. Грузит все модули из uird.from=. Приходится писать uird.noload=/optional/;/dev/ . Никак изящней это не сделать?
5. /mnt/livemedia - иногда замечал /mnt/livemedia/..0 - это глюк или фича?

Может при сборке инитрд сделать ключ - совместимость с портеус
Результаты своих экспериментов готов прокомментировать и выложить по запросу

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #32 : 04 Февраль 2015, 17:18:38 »
1. Убрать можно.
2. Это сделано, чтобы параметры не путать с другими. Параметры ядра не обязательно управляют только initrd.
3. from более расширенный вариант. dir - это частный случай. Специально для pra можно сделать скрипт прослойку, который транслирует привычные параметры pra в параметры uird.
4. Сделано достаточно изящно. Просто можно либо через отрицание noload, либо через указание load регулировать процесс. По умолчанию задано load=*, поэтому необходимо отключать отрицанием.
5. Был момент, когда это было сделано. Сейчас всегда в livemedia первый источник, в livedata - второй.

Совместимость с pra - это скрипт вида:
[ ..анализ параметра в pra синтаксисе ] && echo "параметр в uird синтаксисе" >> /memory/cmdline
« Последнее редактирование: 04 Февраль 2015, 17:21:28 от neobht »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #33 : 04 Февраль 2015, 17:37:30 »
1. Убрать можно.
Как?
Специально для pra можно сделать скрипт прослойку, который транслирует привычные параметры pra в параметры uird.
[ ..анализ параметра в pra синтаксисе ] && echo "параметр в uird синтаксисе" >> /memory/cmdline
Так было бы идеально. По аналогии можно было бы и под другие дистры переточить
Достаточно load noload copy2ram norootcopy (это вообще в uird есть)?
У пра - все как в портеусе + dir=pra3 (т.е. без /)
4. Сделано достаточно изящно. Просто можно либо через отрицание noload, либо через указание load регулировать процесс. По умолчанию задано load=*, поэтому необходимо отключать отрицанием.
Как бы это сделать по дефолту как в портеус
грузим /base /modules и из /optional только по load=

Да - и юбунту я так и не смог запустить. Х грзятся , мышь клава не работают.
uird собирал и в арче и в юбунте скриптом *.magos.* - т.е. с кучей модулей ядра

в livedata - второй.
Что такое 2й источник?

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #34 : 04 Февраль 2015, 18:27:10 »
1. Убрать проверку в скрипте.
2. Проще под разные дистры переписать menu.lst, а параметры оставить универсальными.
Rootcopy преобразован в uird.cp=, но пока поддержка директории в качестве параметра не реализована, только модули, поэтому norootcopy - в этой схеме - ненужный параметр.

3. Полностью сделать не получится поскольку используется более расширенный вариант не привязанный к base, modules, optional. Используется подход с множественными источниками, например можно вот так:
uird.from=/pra3/base;/pra3/modules

Это два источника для модулей.
Первый будет по симлинку livemedia, второй - livedata.

Так можно передавать множество источников, где лежат модули. В частности в сетевой загрузке вы могли видеть как в качестве источника используется ваш образ iso:
uird.from=pra3.iso

Uird подключит из iso все модули по маске uird.load и среди этих модулей проигнорирует указанные по маске uird.noload.

Поэтому я бы не цеплялся к параметрам porteus. Они маленькие частные случаи того, что поддерживает uird.
Перепишите лучше строку с читкодами в форму uird и получите значительно более гибкий вариант.
Возвращаться в porteus-initrd не захочется.

Поэтому в процессе обсуждения я вам опишу весь функционал и заодно будет материал для пояснения функционала на примерах в документацию.

Но функционал такой гибкий, что сложно все варианты применения описать. Буду лишь по мере пояснять.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #35 : 05 Февраль 2015, 09:27:28 »
1. Убрать проверку в скрипте.
Т.е. только хирургически, с потерей совместимости...
А что вообще и для чего можно прописать в  root=uird: ?

Так получится?
Код
uird.from=/pra3/base;/pra3/modules uird.load=/pra3/optoonal/space
Это не как не прописать во внутренний конфиг uird?  или как задефолтить?

подключит из iso все модули по маске uird.load и среди этих модулей проигнорирует указанные по маске uird.noload.
в процессе обсуждения я вам опишу весь функционал и заодно будет материал для пояснения функционала на примерах в документацию.
Да. С имеющейся сейчас докой внедрить будет сложно. Нужна доработка
Планирую по готовности включить uird , как вариант в конструктор.iso - посмотрим как приживется...

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re:PRA на initrd UIRD
« Ответ #36 : 05 Февраль 2015, 12:00:45 »
g4d
menu.lst
set=iso=/mnt/sda1/images
set=p=/pra3
set=po=/http://dl.porteus.org/i486/current/Porteus-XFCE-v3.1-i486.iso
set=l=uird.load=qt;ff;vlc
set=n=uird.noload=
uird.from=%p%/base;%p%/modules;%iso%/pra/pra2.iso;%po% %l% %n%

как быть с дублированием в названии модулей в разных источниках? держать в голове точные названия? выписывать на бумажку?
« Последнее редактирование: 05 Февраль 2015, 12:02:58 от for_wov »
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #37 : 05 Февраль 2015, 12:28:51 »
Насколько я понял работу uird - в итоге у Вас получится каша из роrteus и pra (если не написать адский noload)

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8633
  • Репутация: +187/-2
  • Старый чайник
Re:PRA на initrd UIRD
« Ответ #38 : 05 Февраль 2015, 12:46:26 »
 Ещё немного и вы убедитесь, что собирать initrd руками проще и надёнее  :D
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re:PRA на initrd UIRD
« Ответ #39 : 05 Февраль 2015, 12:52:51 »
noload по идее можно реализовать через txt-файл(возможно не один, а по одному на дистр) со списком модулей методом исключения через load (придется в изо добавлять список имеющихся модулей т.к. с модульностью это не сложно реализовать). Сорри если не так выразился.
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #40 : 05 Февраль 2015, 13:26:53 »
Ещё немного и вы убедитесь, что собирать initrd руками проще и надёнее  :D
Для доказательства жду "ручной инитрд" для загрузки юбунты с функцией сохраненки в папку и сетевой загрузки из исо :D
Ответ "мне это не надо" не прокатывает

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #41 : 05 Февраль 2015, 15:04:30 »
root=uird: - это я делал по аналогии с другими модулями dracut, этим параметром можно регулировать процесс загрузки вызывая функции разных модулей. Это своего рода ключик, который включает строго определенный процесс загрузки за который отвечает определенный модуль.

В принципе это необязательно. Скорее всего я вовсе этот параметр удалю.

Зашить параметры по дефолту можно. Для этого необходимо их записать в basecfg.ini и сгенерить uird.configs.cpio.xz.

Так не получится. Load -это маска для того, что во from.
Но можно включить optional во фром и регулировать вот так: load=/base/,/modules/,/optional/space

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #42 : 05 Февраль 2015, 15:18:43 »
Так , вероятно загрузится всё из
Код
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/ uird.load=/pra3/optional/space
Перечислять ненужное в optional через noload - печально

Так не покачит?
Код
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/space
или
Код
uird.from=/pra3/base;/pra3/modules;/pra3/optinal/ uird.noload=/pra3/optional/!space

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #43 : 05 Февраль 2015, 15:31:30 »
Маска - это строка шаблон для find. Где * заменяется на .*, и ? на .+

! - надо проверить. :)
Вы можете перечислять не в noload, а в load

Типо такого: uird.load=/optional/*blabla
Все, что не указано в load не загружается.

Оффлайн neobht

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 1031
  • Репутация: +15/-0
  • Автор темы
Re:PRA на initrd UIRD
« Ответ #44 : 05 Февраль 2015, 17:50:31 »
Точно ли
Код
uird.from=/pra3/optinal/ uird.load=/pra3/optional/space
загрузит только /pra3/optional/space , а не все из /pra3/optional ?


точно.