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

Автор Тема: [Решено] Поддержка устройств типа nvme в initrd  (Прочитано 12409 раз)

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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #30 : 27 Апрель 2022, 16:15:03 »
Пересобрал с ним. initrd2.xz
Прошу проверить
не работает
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #31 : 27 Апрель 2022, 17:13:52 »
    mount из busybox

Пересобрал с ним. initrd2.xz
Для поддержки загрузки с nvme в initrd необходимо
1. nvme-core.ko nvme.ko
Не соблюдение своих собственных установок. ) Не достаточно свежей версии busybox, нужны и nvme.ko. Наверно.

В initrd от gumanzoy (doglinux), полноценная директория с модулями *.ko ( lib/modules/5.10.0-11-amd64/ ). В классическом initrd из сборок sfs, там только ссылка lib/modules --> /usr/lib/modules.
« Последнее редактирование: 27 Апрель 2022, 17:17:15 от krasnyh »

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 110
  • Репутация: +12/-0
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #32 : 27 Апрель 2022, 18:27:40 »
В initrd от gumanzoy (doglinux), полноценная директория с модулями *.ko ( lib/modules/5.10.0-11-amd64/ ). В классическом initrd из сборок sfs, там только ссылка lib/modules --> /usr/lib/modules.
Это потому что в DogLinux могут и используются не монолитные ядра. По умолчанию штатные от Debian.
Если все нужное собрано монолитно то не нужны модули.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #33 : 27 Апрель 2022, 18:30:25 »
А можно ссылку на такой initrd, где нет модулей, но при этом работает с nvme.

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 110
  • Репутация: +12/-0
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #34 : 27 Апрель 2022, 18:39:36 »
А можно ссылку на такой initrd, где нет модулей, но при этом работает с nvme.
В теории должно работать. Лет 10 назад пользовался Gentoo без initrd вообще. На SATA конечно.
В личном пользовании у меня нет NVME. Но проверял свою сборку DogLinux (ядро с модулями) на ноутбуках в ремонте.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #35 : 27 Апрель 2022, 20:23:29 »
Если все нужное собрано монолитно то не нужны модули.
Протестировано с initrd-raf2-5.16.0-pf1-mg2-ui3.xz
Можно было бы попытаться вычленить конкретного виновника, раз уж nvme.ko и nvme-core.ko монолитно в ядре и не могут влиять на незапуск.

Сравнивая initrd-raf2-5.16.0-pf1-mg2-ui3.xz и initrd-raf2-5.16.0-pf1-mg2.xz из prar2110.iso, получаем 600 уникальных модулей. Вычитаем 200 модулей, руководствуясь списком modules.builtin, уже 400. Искать среди них именно те, которые необходимо внести в монолитное ядро, чтобы классический initrd увидел nvme...


upd. Так то, поиском по nvme в initrd-raf2-5.16.0-pf1-mg2-ui3.xz получаем:
Цитата
nvme-fabrics.ko
nvme-fc.ko
nvme-fcloop.ko
nvme-loop.ko
nvme-rdma.ko
nvme-tcp.ko   
nvmet-fc.ko       
nvmet-rdma.ko   
nvmet-tcp.ko   
nvmet.ko
« Последнее редактирование: 27 Апрель 2022, 20:57:37 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #36 : 28 Апрель 2022, 09:31:14 »
pra-porteus-initrd
не работает
c обновленным ббокс от gumanzoy
Т.к. ядро то же - вероятно дело в скриптах pra-porteus-initrd

Раз у gumanzoy работает - значит можно сравнением, т.к. initrd родственные. Здесь вместо udev - загрузка модулей ядра через modprobe  циклом по списку. Такое решение мне не нравится. Зачем в памяти лишние модули.

Протестировать мне не на чем. pra-porteus-initrd используется в дистрах для старого железа (где nvme нет)
Его можно заменить на rootaufs или uird
В итоге - пока чинить не планирую
https://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/initrd-lf-pf-sf16.cpio.xz - i686 (будет работать и на x86_64) со свежим busybox для маленьких монолитных ядер - т.е. nwme должно работать. Не проверял - не на чем

Так то, поиском по nvme в initrd-raf2-5.16.0-pf1-mg2-ui3.xz получаем
Т.к. в initrd-raf2-5.16.0-pf1-mg2-ui2.xz этих .ko не было и он работал. Эти .ko не нужны
« Последнее редактирование: 31 Октябрь 2022, 11:16:07 от sfs »

Оффлайн yxma

  • Истина - абсолютна. Но не в линуксе )))
  • Ветеран
  • *****
  • Сообщений: 1883
  • Репутация: +11/-0
  • конченый виндеец, местный сумасшедший 8) 8) 8)
Re: [Решено] Поддержка устройств типа nvme в initrd
« Ответ #37 : 28 Апрель 2022, 23:51:14 »
хочется верить, что до лета проблема окончательно устаканится в очередном обновлении лф все же я в деревню еду, а там все сурово, каждый байт на счету. И брат с ноутом приедет, что в нем - не в курсе, но просил линукс поставить. Последний раз это был пра, но давно это было и на другом ноуте, который таки сдох окончательно
успехов в труде и счастья в личной жизни!

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
хочется верить, что до лета проблема окончательно устаканится
У вас есть nvme? Чем не устраивает решение выше?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
1.
У вас есть nvme?
В догонку для sfs:
я тут обычную манджаро с крысой поставил на ссд. Странный результат - скорость сложно отличить от ЛФА с ЛФД, Скорее всего из-за того, что их так и не сумел с ссд запускать.
Раз уж большие спецы спрашивают, то возможно там не просто дело в неумении...

2.
Чем не устраивает решение выше?
Все же надо понимать, когда такие вопросы следует задавать, а когда нет. В данном случае, пользователь просто желает, чтобы из коробки все работало.
И сразу же стоит решить вопрос с классическим initrd - или убрать его из сборок, или сделать поясняющую надпись, что он не работает с nvme. Чтобы не заваливали пользователи форум вопросами, раз уж в теме написано [Решено].

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
так и не сумел с ссд запускать.
Это скорее индивидуальная проблема
пользователь просто желает, чтобы из коробки все работало.
Я тоже за все хорошее против всего плохого
решить вопрос с классическим initrd - или убрать его из сборок
Думаю, убрать только из прар. В остальных
сделать поясняющую надпись, что он не работает с nvme

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
классическим initrd
Это что вы считаете за классику?
Моноблок 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
  • Автор темы
Факт то, что собственный initrd стал уже неподконтрольным )) рецепты утеряны, одноразовое  произведение искусства.

Я честно не ожидал что все окажется настолько сложно.
« Последнее редактирование: 01 Май 2022, 15:21:43 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
что вы считаете за классику?
Initrd, а-ля PuppyLinux от Барри Каулера, который работает только с монолитным ядром (нет полноценной директории /lib/modules/ с модулями *.ko). Плюс, за счет этого имеет самый маленький размер (сравнить с uird или с initrd-raf2 от sfs, или initrd от gumanzoy...).


upd. minitrd.gz от DdShurick тоже попадает в раздел классического (имхо).
« Последнее редактирование: 01 Май 2022, 17:33:28 от krasnyh »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
initrd, а-ля PuppyLinux от Барри Каулера
Вот его init я и переписал для Richy. Выходит я тоже "классик" :)
Моноблок 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