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

Автор Тема: UIRD. Не техническое обсуждение  (Прочитано 17537 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:UIRD. Не техническое обсуждение
« Ответ #15 : 08 Март 2015, 19:02:49 »
В основе uird лежит busybox и только местами полноценные утилиты
Я смотрел подробно. Скорее наоборот. Очень много дублей busybox. Подмена не ухудшила ситуацию (сетевую не тестил)
Вынос udev дал kernel panic
Сам busybox огромный. Неужели все это надо...
initrd 15мб - за гранью добра
Как бы уменьшить...

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:UIRD. Не техническое обсуждение
« Ответ #16 : 08 Март 2015, 19:22:09 »
нужен uird минимального размера.
Не нужен.
насколько в uird нужен udev
Не нужен.
Ddshurick, вы рассуждаете о том, что не удосужились посмотреть. Это не серьезно.
Зачем мне смотреть то, что я считаю ошибочным.
местами полноценные утилиты вроде curlftpfs, sshfs, httpfs, losetup, rsync.

Я использовал curlftpfs после подключения базового модуля. Думаю, в initrd можно обойтись wget и ftpget
Что касается сетевой загрузки
То в Puppy она не востребована ни разу, хотя была реализована.
Как бы уменьшить...
Делай как я
« Последнее редактирование: 08 Март 2015, 19:24:23 от DdShurick »
Моноблок 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

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #17 : 08 Март 2015, 19:39:59 »
Sfs, я уже просил вас привести дубли.
15мб - это модули ядра включая. Без них -  4мб примерно.
Урезать немного можно, если вмешиваться в процесс скриптов dracut и принудительно завязать на busybox. Можно попробовать, но будет много нюансов при универсальной сборке. То есть всегда можно заточить под конкретный дистр. Можно прибить гвоздями, как Ddshurick и надеяться, что у кого-то тоже удачно загрузится. Я не готов делать так в общем случае - это только если делать под себя.

Уменьшать готов в пределах разумного. Бороться с мегабайтами ради идеи, которая не работает нигде, кроме как в голове разработчика, я не готов.

Wget на уровне initrd не подходит, потому что сетевая загрузка у нас опирается не на копирование модуля в память и его подключение, а на сетевом монтировании без предварительной загрузки. Причем основным способом работы является httpfs.
В частности сетевая загрузка гнома2 в таком режиме - это примерно 250мб трафика, в то время как сам дистрибутив весит больше. Суть в том, чтобы распаковывать и загружать только необходимые блоки squashfs.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:UIRD. Не техническое обсуждение
« Ответ #18 : 08 Март 2015, 19:52:57 »
Wget на уровне initrd
kernel-*.sfs и *-base.sfs - в память, тогда остальное можно монтировать как угодно. Я так-же делал запуск программ по ssh.
Моноблок 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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:UIRD. Не техническое обсуждение
« Ответ #19 : 08 Март 2015, 19:55:07 »
Sfs, я уже просил вас привести дубли.
http://forum.puppyrus.org/index.php/topic,16558.msg100657.html#msg100657
Перечислять проблемно. Легче посмотреть
15мб - это модули ядра включая. Без них -  4мб примерно.
Выкинул firmware и либы ядра из Вашего =7мб

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #20 : 08 Март 2015, 20:04:11 »
Wget на уровне initrd
kernel-*.sfs и *-base.sfs - в память, тогда остальное можно монтировать как угодно. Я так-же делал запуск программ по ssh.

Ну так вот в uird уже можно монтировать, как угодно, потому что из kernel* и *-base взято самое необходимое и не нужно тащить лишнее.
Я думаю вам сложно будет меня убедить потому что как только все это не рассматривалось и не анализировалось. Uird - это фактически кульминация исследований. Со временем приведу его код к такому же красивому и оптимальному варианту, как сама идея его и будет то, что нужно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:UIRD. Не техническое обсуждение
« Ответ #21 : 08 Март 2015, 21:04:02 »
Со временем приведу его код к такому же красивому и оптимальному варианту, как сама идея его и будет то, что нужно.
Вот и хорошо, только меня не втягивайте.
Моноблок 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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:UIRD. Не техническое обсуждение
« Ответ #22 : 30 Март 2015, 05:42:37 »
neobht, в загрузке по сети встречается параметр keeppxe, пробовали ли на практике его использовать?

Если верить описанию, то данным параметром при загрузке ядра сохраняется настроенная ранее сеть. И типа как бы ожидается что ядро должно это увидеть и все такое.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #23 : 30 Март 2015, 15:08:26 »
Не пробовали.

Мы от загрузки по pxe как таковой отказались еще в 2008 году. То есть изначально сетевую загрузку делали опираясь исключительно на pxe. Но поскольку при обновлении ядра необходимо каждый раз было обновлять ресурс и модули по tftp, а на практике pxe и tftp находятся на другом сервере, отличном от репозитория, то это было просто морокой. Это практически сразу потребовало пересмотреть способ загрузки. И от pxe мы оставили лишь доставку ядра и initrd, потом у нас начинает работать httpfs и происходит удаленное монтирование модулей. Это существенно упростило организацию построения сетевой загрузки. Около 5 лет даже использовали. Сейчас уходим и от этого. Теперь pxe загружает лишь ipxe, а тот в свою очередь уже доставляет нужное ядро и initrd, а дальше httpfs, curlftpfs, nfs, sshfs, cifs тут уже на выбор, но чаще httpfs конечно же. Это почти идеально с моей точки зрения. Особенно с таким мощным инструментом, как uird.

Поэтому когда DDshurick пишет, что в puppyrus тоже есть сетевая загрузка, то я вспоминаю наши давние попытки реализации всего этого на неправильной архитектуре и хочется крикнуть : "Только не делайте это так негибко, будете заморачиваться и париться".

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:UIRD. Не техническое обсуждение
« Ответ #24 : 30 Март 2015, 15:35:59 »
Поэтому когда DDshurick пишет, что в puppyrus тоже есть сетевая загрузка, то я вспоминаю наши давние попытки реализации всего этого на неправильной архитектуре и хочется крикнуть : "Только не делайте это так негибко, будете заморачиваться и париться".
Мне не надо гибко, мне надо чтоб работало. Для загрузки модулей использую ftpget, зато загружаюсь с "недосервера" DNS-315.
Поймите-же наконец, что интересы админа и интересы пользователя очень сильно отличаются. Возможности тоже.
Моноблок 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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:UIRD. Не техническое обсуждение
« Ответ #25 : 30 Март 2015, 15:37:17 »
я вас веду к тому чтобы попробовать использовать ранее настроенное сетевое соединение, ведь когда сетевая карта получила адрес и выкачивает с вашего сервера ядро, она по сути уже готова к использованию и если зафиксировать ее состояние, то далее уже из init  можно подгрузить нужные модули ядра и т.п.(любым протоколом подгрузить)
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #26 : 30 Март 2015, 15:45:55 »
Ipxe погружает ядро и initrd. Потом с легкостью уже из init монтируются модули. Их даже не надо подгружать. Они просто подключаются удаленно. И скачиваются уже не сами модули, а только блоки squashfs. То есть подключаются модули на несколько гигабайт, но скачивается только то, что используется. Если используется маленькая программа, то и скачивается только она во время запуска. Потом она сидит уже в кеше и повторный запуск почти мгновенен.

Другими словами никакого смысла нет бороться за сетевое подключение именно pxe.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #27 : 30 Март 2015, 15:54:25 »
Поэтому когда DDshurick пишет, что в puppyrus тоже есть сетевая загрузка, то я вспоминаю наши давние попытки реализации всего этого на неправильной архитектуре и хочется крикнуть : "Только не делайте это так негибко, будете заморачиваться и париться".
Мне не надо гибко, мне надо чтоб работало. Для загрузки модулей использую ftpget, зато загружаюсь с "недосервера" DNS-315.
Поймите-же наконец, что интересы админа и интересы пользователя очень сильно отличаются. Возможности тоже.

Если использовать ipxe, то загружаться можно будет не только с недосервера, но еще на нем и разворачивать FTP не надо будет. Достаточно будет http, который там по умолчанию для Админки поднят.

Когда вы говорите, что будет работать, вы примеряете только к своему окружению устройств и сервисов. В общем виде это не будет работать. Я уже неоднократно приводил аргументы почему так будет происходить. А если вы попытаетесь исключить ограничения, то либо придете к тому же самому, либо ваше решение будет менее эффективным. Я на тестировании всего этого очень много времени затратил. Было время, что я этим занимался в качестве основной задачи на работе все рабочее время. Это происходило на протяжении нескольких лет. Поэтому опыт накопился очень большой.


Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:UIRD. Не техническое обсуждение
« Ответ #28 : 30 Март 2015, 15:58:03 »
Другими словами никакого смысла нет бороться за сетевое подключение именно pxe.
в данном случае разницы между pxe или ipxe не вижу алгоритм загрузки одинаковый.

Еще раз. в initrd модули ядра есть? надо ли стараться чтобы их не было? ответьте кратко и я приму решение стоит ли дальше мне анализировать это дело или лучше другим заняться. Потому как было высказано ранее что недостаток uird в том что модули ядра внутри initrd.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:UIRD. Не техническое обсуждение
« Ответ #29 : 30 Март 2015, 16:11:59 »
Я не вижу смысла избавляться от модулей ядра и компилить их все в ядро. Только основные имеет смысл. Хотя даже это тоже на усмотрение. Что в ядре, что в initrd. Все равно это работает в связке. Единственное - модули в ядре будут немного компактнее.