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

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

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

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Initrd UIRD
« : 01 Февраль 2015, 11:10:07 »
Сборка Initrd UIRD в PRA
Сетевая загрузка


Предлагаю перейти в PRA на UIRD. Это поможет лучше его  совместно отладить и даст множество новых гибких возможностей самому PRA.

В настоящее время им загружается в модульном варианте любой из мной тестируемых дистрибутивов на любой системе инициализации - sysv, systemd, upstart, openrc. Даже без изменения оригинальных live образов.
 
И всяких фич в нем на много лет вперед, чтобы найти им достойное применение.
« Последнее редактирование: 24 Октябрь 2017, 09:29:51 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19694
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #1 : 01 Февраль 2015, 12:09:15 »
http://habrahabr.ru/post/270337/
Свежая версия в http://magos.sibsau.ru/repository/netlive/multi/MagOS/kernel/x86_64/uird.magos.cpio.xz
Help в /usr/share/uird.help
Итоги

Что это даст домашнему юзеру?
Кроме сетевой загрузки плюсов не вижу. Она вряд ли нужна дома. Какая-то есть в портеусе

Минусы:
1. Размер в 7 раз больше
2. Включение модулей ядра
3. Подгонять под имеющиеся скрипты

UIRD интересен для ubuntu (пока не попробовал). Как конкурент rootfs
porteus там не пошел - Х загружаются, но клава и мышь не работают
Возможно, Вы знаете как это решить....
А с появлением systemd в юбунту, может и само решится
« Последнее редактирование: 10 Ноябрь 2015, 13:12:23 от sfs »

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #2 : 01 Февраль 2015, 13:27:13 »
1,2 - можно сделать аналогичными, если ограничиться только поддержкой локальных носителей, что я считаю экономией неоправданной, но готов дописать функционал, чтобы можно было использовать модули squashfs на уровне initrd.

3 - тут - да, необходимо немного будет переделать, но если имитировать работу porteus initrd, то это просто создать нужные симлинки и все.

Домашнему пользователю это даст стабильную поддержку и расширенный функционал для тех, кто готов использовать продвинутые фичи, вроде rwm модулей, множественных home, машинно-ориентированных модулей (модулей, которые подключаются при загрузке на конкретном железе, удобно, если необходимо носить флешку с собой и подключать к разным машинам и иметь различные параметры для каждой машины). И др.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19694
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #3 : 01 Февраль 2015, 14:05:57 »
1,2 - можно сделать аналогичными, если ограничиться только поддержкой локальных носителей, что я считаю экономией неоправданной, но готов дописать функционал, чтобы можно было использовать модули squashfs на уровне initrd.
Почему неоправданной? Что мы потеряли?

Я бы может и готов использовать фичи, но только доки на https://github.com/neobht/uird мне для этого недостаточно. Многое непонятно
Нельзя как-то попроще перечислить как и где эти фичи применять

Попробовать можно. Там будет видно. Как пробовать? Вы что-то выложите или просто собрать по гитхабу?

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #4 : 01 Февраль 2015, 14:16:01 »
Почему неоправданной? Что мы потеряли?
Потеряли возможность использовать модули ядра, которые в него не вкомпилены. Например сетевые. Возможно и ряд sata дисков и usb. Надо знать что включено в ядро. Так трудно сказать.

Экономии как таковой нет - просто у вас модули не в initrd спрятались, а в ядре.

Цитата: sfs
Попробовать можно. Там будет видно. Как пробовать? Вы что-то выложите или просто собрать по гитхабу?

Можно собрать, а можно просто заменить initrd на вот эти:
http://magos.sibsau.ru/repository/netlive/multi/MagOS/kernel/i586/uird.kernel.cpio.xz
http://magos.sibsau.ru/repository/netlive/multi/MagOS/kernel/i586/uird.magos.cpio.xz

и слоями их подключить в grub4dos:
kernel vmlinuz uird.from=/путь, где лежат модули; root=uird:
initrd uird.kernel.cpio.xz uird.magos.cpio.xz




Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19694
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #5 : 01 Февраль 2015, 14:44:34 »
Потеряли возможность использовать модули ядра, которые в него не вкомпилены.
Зато не пересобираем initrd - это реальное удобство и я оттестил способ подгрузки модулей. Только практического применения этому нет
initrd забрал. Опробую - отпишусь

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #6 : 01 Февраль 2015, 14:56:24 »
Когда пересобирается ядро всегда можно пересобрать и initrd. А если хочется, то можно и не пересобирать ни ядро ни initrd.
Сомнительный плюс учитывая, что все равно в ядре это все нужно не забывать включать.

Ubuntu как раз по этой причине не работает. Для нее не хватает драйверов.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19694
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #7 : 01 Февраль 2015, 15:37:20 »
Ubuntu как раз по этой причине не работает. Для нее не хватает драйверов.
Не удалось понять - каких именно?

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #8 : 01 Февраль 2015, 16:05:32 »
usbhid и других hid скорее всего.
Я только на VirtualBox проверял, там usbhid вроде бы нужен был только.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9101
  • Репутация: +92/-0
Re:PRA на initrd UIRD
« Ответ #9 : 01 Февраль 2015, 17:01:04 »
Когда пересобирается ядро всегда можно пересобрать и initrd. А если хочется, то можно и не пересобирать ни ядро ни initrd.
но есть еще вариант когда ядро не пересобирается а берется готовое другой версии. в puppyrus мы так и делали и тут либо выкладывать готовый initrd для нужной версии ядра, либо вручную пересобирать свой существующий initrd. Оба этих варианта не особо хороши т.к. вкусив прелести замены ядра в PRA через два файла, танцевать с initrd уже не охота.

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

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #10 : 01 Февраль 2015, 17:44:58 »
Если берется не свое ядро, то риск что ничего не будет работать почти обеспечен.

Если берется свое ядро, то пересобрать initrd - это секунд 10.

Доставить модули по сети можно. Я именно так и сделал для загрузки PRA по сети.
выше выложил uird.kernel.cpio.xz - это как раз модули ядра. Просто размер их получается гораздо больше того, который реально необходим для загрузки по сети, поэтому это не лучший вариант.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 19694
  • Репутация: +147/-0
    • PuppyRus-A
Re:PRA на initrd UIRD
« Ответ #11 : 01 Февраль 2015, 18:20:22 »
Работает:
initrd uird.kernel.cpio.xz uird.magos.cpio.xz
initrd uird.magos.cpio.xz
перепаковываю uird.magos.cpio.xz - удаляю модули ядра - работает, но размер 8мб и грузится медленнее
Т.е. со спецядрами работает так же как и porteus-initrd
Надо dracut помучить в плане уменьшения размера
Все тесты - iso в vbox

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #12 : 01 Февраль 2015, 19:06:56 »
Размер большой из-за того, что там встроены сетевые утилиты: curlftpfs, sshfs, rsync, и тд.
Минимальный образ без модулей ядра будет несколько килобайт.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 973
  • Репутация: +15/-0
Re:PRA на initrd UIRD
« Ответ #13 : 01 Февраль 2015, 19:10:06 »
там я сделал для примера несколько скриптов сборки.
посмотрите скрипт для сборки минимального образа - make_uird_config.sh
по аналогии можно всяких наделать.

но повторюсь - это бессмысленно и не совсем корректно. 

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9101
  • Репутация: +92/-0
Re:PRA на initrd UIRD
« Ответ #14 : 02 Февраль 2015, 03:32:59 »
выше выложил uird.kernel.cpio.xz - это как раз модули ядра.
а просто pfs чтобы грузился и подключался?
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.