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

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

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

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #15 : 02 Февраль 2015, 04:25:37 »
Так не получится. Точнее получится, но нужно все те модули, что необходимы, вкомпилить в ядро. Будет просто ядро с ними, а не initrd.

Вся трудность в том, чтобы ядро могло подключить источник, где лежит pfs.
Это жесткие диски, cd,dvd, usbflash, sd card, сеть и прочее. Модули должны быть для всего этого в ядре. Либо доставлять их средствами загрузчика по примеру uird.kernel.cpio.xz.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9066
  • Репутация: +92/-0
Re:PRA на initrd UIRD
« Ответ #16 : 02 Февраль 2015, 04:47:05 »
Либо доставлять их средствами загрузчика по примеру uird.kernel.cpio.xz.
вот я про то и веду речь, средствами загрузчика подтянуть pfs на целевую машину, а потом уже средствами ядра подключить.

Ядро которое я делаю, содержит в себе все для жестких дисков, cd,dvd, usbflash, sd card, но с сетевыми картами хоть и проводными есть проблемы, помимо большого их количества, еще иногда требуется наличие firmware (например для tg3 как на моем ноутбуке).
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19350
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #17 : 02 Февраль 2015, 09:59:26 »
Еще поэкспериментировал. Для пра initrd-uird можно довести до 2мб и это не предел
Сборка dracut не сложна
готов дописать функционал, чтобы можно было использовать модули squashfs на уровне initrd.
Про то, ка для этого в портеусе подключается 00-kernrel я писал. Если это уменьшит Initrd - интересно
продвинутые фичи, вроде rwm модулей, множественных home, машинно-ориентированных модулей (модулей, которые подключаются при загрузке на конкретном железе
Можно подробнее про то, что может uird по сравнению с портеусом
Сетевую загрузку пока не трогаем

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #18 : 02 Февраль 2015, 14:25:31 »
Pfs затянуть не получится. Можно только его содержимое включить в образ для слоя initrd. Это не слои aufs. Это слияние cpio образов.

Uird умеет слоить home из нескольких источников. Умеет подцеплять образы с обычной ФС в режиме RW - множественные слои в aufs.

Есть функционал кеша - то есть можно синхронизировать модули из различных источников в кеш и потом уже грузить систему из кеша. Это конечно больше к работе с сетевыми источниками применимо, но локально тоже иногда удобно собирать в одно место модули с разных носителей.


Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19350
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #19 : 02 Февраль 2015, 14:48:16 »
Pfs затянуть не получится.
А вот так почему нельзя?
http://forum.puppyrus.org/index.php/topic,15129.msg98849.html#msg98849
Можно только его содержимое включить в образ для слоя initrd. Это не слои aufs. Это слияние cpio образов.
Получается дублирование
Но для pra (ее спец ядра) этой проблемы нет. Грузится без модулей ядра в инитрд (проверял)
Uird умеет слоить home из нескольких источников.
Зачем это на практике?
Умеет подцеплять образы с обычной ФС в режиме RW - множественные слои в aufs.
Зачем это на практике?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9066
  • Репутация: +92/-0
Re:PRA на initrd UIRD
« Ответ #20 : 02 Февраль 2015, 16:55:33 »
вот как у них подтягивается

5) After the kernel and initrd are unpacked, linuxrc checks /proc/cmdline for the IP address assigned by dnsmasq and if it is found, then linuxrc launches the 'httpfs' utility which mounts /porteus/base (with all modules) from the http server inside the ram disk.

что там у нас обычно в /proc/cmdline показывается при сетевой загрузке интересно....
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #21 : 02 Февраль 2015, 17:04:29 »
Этой проблемы нет для загрузки с флешки или другого устройства, драйвер для которого вкомпилен.

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

А зачем home вообще на практике?

А зачем директории на практике? :) Можно в разных модулях хранить разные настройки и программы.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9066
  • Репутация: +92/-0
Re:PRA на initrd UIRD
« Ответ #22 : 02 Февраль 2015, 17:12:44 »
я привел как раз пункт из описания загрузки по сети.

на стороне сервера они еще http поднимают и потом по httpfs выкачивают. Но нам в данном случае больше интерересно, как им удается не сбить настройки сетевой карты и таки выкачать файлы. Ведь теоретически pxe загрузчик уже настроил сетевую карту и пакеты летают и все такое.
« Последнее редактирование: 02 Февраль 2015, 17:19:11 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19350
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #23 : 02 Февраль 2015, 17:14:55 »
Я пытаюсь понять, что нам даст uird
Пока для домашнего применения ничего нового не нахожу
Помогите разобраться. Желательно на примерах

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #24 : 02 Февраль 2015, 17:26:59 »
Ничего не даст. Он просто архитектурно красивее, код чище, расширямость гибче, возможностей больше.

А применять большинству кроме как  copy2ram хоть в портеус, хоть в uird больше и не надо.
Я даже сомневаюсь, что кто-то для себя имеет несколько директорий с разными версиями, не говоря уже о чем-то более интересном.

Ну например хотим мы чтобы у нас все изменения которые находятся в директории /etc хранились не в changes в общей куче, а к примеру в модуле etc.rwm вот и делаем такую настройку. В итоге в changes хранятся все изменения, а изменения из директории /etc хранятся в etc.rwm. Прикольно? конечно прикольно. Будет пользователь это использовать? Почти никто не будет.

Поэтому искать плюсы по каким-то ориентирам пользователя в программе, которая позволяет в простой форме достигать результатов, о которых даже и не предполагал - это не всегда правильно. Еще стоит искать плюсы в реализации.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #25 : 02 Февраль 2015, 17:33:34 »
на стороне сервера они еще http поднимают и потом по httpfs выкачивают. Но нам в данном случае больше интерересно, как им удается не сбить настройки сетевой карты и таки выкачать файлы. Ведь теоретически pxe загрузчик уже настроил сетевую карту и пакеты летают и все такое.
Чтобы выкачать - надо чтобы ядро подняло драйвер сетевой.
Мы говорим об этапе до этого. До того, как ядро получило управление от загрузчика.

Оффлайн DdShurick

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5216
  • Репутация: +135/-0
  • Старый чайник
Re:PRA на initrd UIRD
« Ответ #26 : 02 Февраль 2015, 17:35:50 »
интерересно, как им удается не сбить настройки сетевой карты и таки выкачать файлы.
У меня тоже не сбиваются, видимо хранятся в пространстве ядра.
Моноблок Lenovo IdeaCentre c200
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (atom N270, intel GMA 950)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19350
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #27 : 02 Февраль 2015, 17:35:51 »
Ничего не даст. Он просто архитектурно красивее, код чище, расширямость гибче, возможностей больше.
С этим никто не спорит
А применять большинству кроме как  copy2ram хоть в портеус, хоть в uird больше и не надо.
Все так и есть
Ну например хотим мы чтобы у нас все изменения которые находятся в директории /etc хранились не в changes в общей куче, а к примеру в модуле etc.rwm вот и делаем такую настройку. В итоге в changes хранятся все изменения, а изменения из директории /etc хранятся в etc.rwm.
Как это реализовать? Какие ключи и что такое физически etc.rwm
Документация слабовата. Нужны примеры

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 970
  • Репутация: +14/-0
Re:PRA на initrd UIRD
« Ответ #28 : 02 Февраль 2015, 17:42:32 »

Как это реализовать? Какие ключи и что такое физически etc.rwm
Документация слабовата. Нужны примеры

Создается файл-образ с файловой системой:
dd if=/dev/zero of=etc.rwm bs=1M count=100
mkfs.ext2 etc.rwm

Потом монтируем его и создаем внутри директорию etc.
Потом размещаем этот модуль в директории с модулями.

система создаст каскадное объединение:
1 слой - changes
2 слой - например etc.rwm
3 слой - 000-kernel.pfs
4 ...............

Слой для etc.rwm указал условно. Он будет определяться порядком в котором этот модуль среди других модулей будет подключен.

Оффлайн for_wov

  • Ветеран
  • *****
  • Сообщений: 464
  • Репутация: +13/-0
  • TRUE
Re:PRA на initrd UIRD
« Ответ #29 : 03 Февраль 2015, 00:15:56 »
поправьте если не так
uird позволит:
-иметь для себя несколько директорий с разными версиями(множественные home) как наборы программных модулей(toolkits) для разных профилей работы и специфичных задач (флешка с минимумом для ноутбука или дом.медиацентр на пк);
-файлы настроек в виде rwm-модулей, для протативных программ, настраеваемые индивидуально.
-наборы машинно-ориентированных модулей (hardware-rwm) с различными драйверами (будь-то для компа или ноутбука)
вопрос: всего этого можно достичь не дублируя количество pfs/xzm - модулей на носителе(сервер,флешка,ж.диск и т.д)?
Опыт увеличивает нашу мудрость, но не уменьшает нашей глупости.