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

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

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #15 : 25 Апрель 2022, 15:45:39 »
Получается, что и так работает, без nvme*.ko?
Вряд ли. Они ведь монолитно в моем ядре . Если этого достаточно - проблема в скриптах и (или) BusyBox
может причина незапуска nvme с родным initrd в старой версии busybox. Почему нет.
пересобрать с busybox из uird

Оффлайн Pro

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #17 : 25 Апрель 2022, 16:37:33 »
initrd-raf2-5.16.0-pf1-mg2.xz - в этом нет. доп. nvm*.ko
Мы пока так и не определились с
какие модули ядра нужны для nvme? - давайте с этим определимся - тогда станет ясно где чего не хватает.
В kernel 5.16.0-pf1-mg2 : nvme-core.ko nvme.ko - монолитно
Этого достаточно?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Re: Поддержка устройств типа nvme в initrd
« Ответ #18 : 26 Апрель 2022, 04:18:07 »
в этом нет. доп. nvm*.ko
причем тут .ko блин, проблема была в том что монтирует как-то непонятно. Я же сказал - ядро nvme видит нормально.


Этого достаточно?
Я же сказал - ядро nvme видит нормально.
« Последнее редактирование: 26 Апрель 2022, 04:31:25 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #19 : 26 Апрель 2022, 09:26:31 »
initrd-raf2-5.16.0-pf1-mg2.xz
Можешь
пересобрать с busybox из uird
Или еще интереснее со свежим  busybox из арчрепы
Сам сделаешь или помочь?

Оффлайн gumanzoy

  • Постоялец
  • ***
  • Сообщений: 110
  • Репутация: +12/-0
Re: Поддержка устройств типа nvme в initrd
« Ответ #20 : 26 Апрель 2022, 14:58:39 »
Возможно зря влезаю. Но DogLinux с Porteus Initrd загружается с nvme.

у тебя скрипт linuxrc не сможет ничего увидеть т.к. парсит sd* устройства!!!

Насколько сильно linuxrc от sfs отличается от того что в DogLinux ?
В DogLinux монтируется так:
Код: linuxrc
# Source functions
. ./finit

# Create /etc/fstab and mount devices:
fstab
Код: finit
# Run fstab for setup
fstab() { rm -f /tmp/devices
param nocd || for x in /dev/sr*; do blkid $x >>/tmp/devices; done
param nohd || blkid | egrep -v '/dev/sr|/dev/loop|/dev/mapper' >>/tmp/devices
dev=`egrep -v 'TYPE="sw|TYPE="LVM|TYPE=".*_raid_member"' /tmp/devices 2>/dev/null | cut -d: -f1 | cut -d/ -f3 | sort | uniq`
cat > /etc/fstab << EOF
# Do not edit this file as fstab is recreated automatically during every boot.
# Please use /etc/rc.d/rc.local or sysvinit scripts if you want to mount/unmount
# drive, filesystem or network share.

# System mounts:
#aufs / aufs defaults 0 0
overlay / overlay 0 0

proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devtmpfs /dev devtmpfs defaults 0 0
devpts /dev/pts devpts rw,mode=0620,gid=5 0 0

# Device partitions:
EOF
for x in $dev; do
    fs=`grep -w /dev/$x /tmp/devices | egrep -o ' TYPE=[^ ]+' | cut -d'"' -f2`
    [ $fs = vfat ] && echo "/dev/$x /mnt/$x vfat $MOPT,umask=0,check=s,utf8 0 0" >>/etc/fstab || echo "/dev/$x /mnt/$x $fs $MOPT 0 0" >>/etc/fstab
    if [ ! -d /mnt/$x ]; then
mkdir /mnt/$x
if [ $fs = ntfs ]; then
    ntfs-3g /dev/$x /mnt/$x -o $MOPT 2>/dev/null || { sed -i "/$x /d" /etc/fstab; rmdir /mnt/$x; }
else
    mount -n /mnt/$x 2>/dev/null || { modprobe $fs 2>/dev/null && mount -n /mnt/$x 2>/dev/null || { sed -i "/$x /d" /etc/fstab; rmdir /mnt/$x; }; }
fi
    fi
done

if [ -z "`egrep -o " noswap( |\$)" /proc/cmdline`" -a -e /tmp/devices ]; then
#echo -e "\n# Swap partitions:" >>/etc/fstab
for x in `grep 'TYPE="swap"' /tmp/devices | cut -d: -f1`; do echo "$x none swap sw,pri=1 0 0" >>/etc/fstab; done
fi }
Т.е. явно никакие /dev/sd* или /dev/nvme* или /dev/mmcblk не прописаны.

UPD
mount из busybox
« Последнее редактирование: 26 Апрель 2022, 16:53:19 от gumanzoy »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Re: Поддержка устройств типа nvme в initrd
« Ответ #21 : 26 Апрель 2022, 16:03:23 »
Сам сделаешь или помочь?
это не помогло.
Потому что в uird mount не из busybox, во вторых там все собрано под libc.so.6
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка устройств типа nvme в initrd
« Ответ #22 : 26 Апрель 2022, 16:45:04 »
в uird mount не из busybox
В папку initramfs-lfa распакован uird.lfa.cpio.xz:
Код
live@roll2110 /mnt/sda3/iso/initramfs-lfa % find -name mount ! -type d -exec ls -l {} \; 
lrwxrwxrwx 1 live live 7 апр 25 15:19 ./usr/bin/mount -> busybox

Есть заинтересованность, чтобы вопрос разрешился положительно и нужные изменения были внесены в сборки. Припоминаю, что были похожие вопросы у пользователей, и проверочным запуском с uird все решалось, но как-то развития тема не получила. Может найду эти комменты.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: Поддержка устройств типа nvme в initrd
« Ответ #23 : 26 Апрель 2022, 16:58:24 »
Может найду эти комменты.
Тред отсюда и ниже. Информации много, сложно выделить важное зерно, краеугольный камень проблемы.

Оффлайн Pro

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #25 : 27 Апрель 2022, 10:26:20 »
initrd-raf2-5.16.0-pf1-mg2.xz
Можешь пересобрать с busybox из uird
это не помогло.
А если поменять в initrd-raf2-5.16.0-pf1-mg2-fallback.xz ?
в uird mount не из busybox
из busybox
там все собрано под libc.so.6
В initrd-raf2-5.16.0-pf1-mg2*.xz тоже

Запустилось с флешки PRAR2110 в варианте UIRD! Без переделок
Тут та же проблема и то же решение. Полезной инфы для решения проблемы в initrd-raf2- там нет

Возможно зря влезаю.
Не зря. Особенно если поможете с тестированием nvme.
Porteus Initrd загружается с nvme.
У меня старая , доработанная мной версия портеус. Этот вариант если и буду дорабатывать - только после решения с rootaufs2

initrd-raf2-5.16.0-pf1-mg2-ui2.xz
Это initrd-raf2-5.16.0-pf1-mg2-fallback.xz - с замененными из uird модулями ядра и свежим ббокс из арчрепы
прошу протестировать

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Re: Поддержка устройств типа nvme в initrd
« Ответ #26 : 27 Апрель 2022, 13:31:48 »
initrd-raf2-5.16.0-pf1-mg2-ui2.xz
этот работает.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #27 : 27 Апрель 2022, 14:12:39 »
отлично! Тогда попробуй этот
initrd-raf2-5.16.0-pf1-mg2-ui3.xz
Это initrd-raf2-5.16.0-pf1-mg2-fallback.xz - со свежим ббокс из арчрепы
И все станет ясно

Оффлайн Pro

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: Поддержка устройств типа nvme в initrd
« Ответ #29 : 27 Апрель 2022, 15:05:34 »
Тогда итог
Для поддержки загрузки с nvme в initrd необходимо
1. nvme-core.ko nvme.ko (в моих ядрах они монолитно)
2. busybox >=1.32

Протестировано с initrd-raf2-5.16.0-pf1-mg2-ui3.xz
и uird этого же ядра

С porteus-pra-initrd nvme работать не будет . Итог по нему
(см. п.2)
там еще busybox старый и на uclibc. Дядя Шурик - у вас нет такого свежего?
mount из busybox
Пересобрал с ним. initrd2.xz
Прошу проверить
Pro - спасибо+
обновил busybox 070-prar-full-2110-sf04.pfs
« Последнее редактирование: 05 Май 2022, 09:38:46 от sfs »