а в initrd есть поддержка устройств типа nvme0?В догонку для sfs:
я тут обычную манджаро с крысой поставил на ссд. Странный результат - скорость сложно отличить от ЛФА с ЛФД, Скорее всего из-за того, что их так и не сумел с ссд запускать.Раз уж большие спецы спрашивают, то возможно там не просто дело в неумении...
ядро 5.13 вроде последнее у нас?5.16.0-pf1-mg2 (https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.16.0-pf1-mg2/)
Я даже mg3 поставил - не помоглоядро 5.13 вроде последнее у нас?5.16.0-pf1-mg2 (https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.16.0-pf1-mg2/)
Почти все iso от sfs, теперь имеют строку запуска с uird. Если с ним запускается nvme, это может дать дополнительную полезную инфу разработчику.?
live@roll2110 ~/.cache/zzzfm/prar21.10-x86_64-04.iso % grep -m1 uird menu.lst
title ▒▒ UIRD initrd https://github.com/neobht/uird \n Собран dracut (есть под любой Linux)\n Расширенный набор FRUGAL и \n FULL (системный ini конфиг, сохранения на любой раздел, в img, в pfs и проч.) функционала
Уважаемый, я сообщаю о проблеме с конкретным initrd, ненужно наваливать все в одну кучу. Не стоит сообщать какая инфа будет полезна для разработчика - я сам бывший разработчик.Почти все iso от sfs, теперь имеют строку запуска с uird. Если с ним запускается nvme, это может дать дополнительную полезную инфу разработчику.?
linuxrc |grep nvm и ничего не нашлосьlinuxrc = porteus-initrd рассчитан на работу только с монолитными ядрами
в prar.iso mg2 поставить : полумонолитный - загрузка с ext ntfs3 fat разделов HDD SSD. C DVD USBflash и пр. FS загрузится только с initrd-raf2 или uird .А какие модули ядра нужны для nvme? - давайте с этим определимся - тогда станет ясно где чего не хватает.
возможно busybox старыйУ меня нет nvm - с тестами надежда только на тебя
в моем uird для этого ядра - нетВ родном uird.magos.cpio.xz (https://mirror.yandex.ru/mirrors/magos/netlive/2021/MagOS/uird.magos.cpio.xz) присутствуют nvme.ko, nvme-core.ko. Наверно uird.lfa.cpio.xz собирался с исключениями (-e):
$ grep nvme mkuird.cfg
KM_dev="nbd zram mptspi mptfc mptsas nvme vmw_pvscsi"
Пересобери инитрд со свежим. Достаточно просто бинарник busybox в инитрд заменить. (хотя возможно и glibc) - короче - с этим могу помочь...у тебя скрипт linuxrc не сможет ничего увидеть т.к. парсит sd* устройства!!!
В родном uird.magos.cpio.xz присутствуют nvme.ko, nvme-core.ko
В kernel 5.16.0-pf1-mg2 : nvme-core.ko nvme.ko - монолитноВ 5.15.0-pf5-pt14 так же
с initrd-uird я загрузил системуА с initrd-raf2-5.16.0-pf1-mg2-fallback.xz нет? Можешь пересобрать с busybox из uird?
linuxrc не сможет ничего увидеть т.к. парсит sd* устройства!!!Нет там такого парсинга. Там хитрее. Но там еще busybox старый и на uclibc. Дядя Шурик - у вас нет такого свежего?
Этих 2х модулей достаточно?
в моем uird для этого ядра - нет
с initrd-uird я загрузил системуПолучается, что и так работает, без nvme*.ko?
busybox обновлять придетсяЕсли упомянутый initrd-uird это и есть uird.lfa.cpio.xz из prar*.iso, то busybox в нем действительно крайней версии. При сборке uird он качается с github и пересобирается. Так что, может причина незапуска nvme с родным initrd в старой версии busybox. Почему нет.
Получается, что и так работает, без nvme*.ko?Вряд ли. Они ведь монолитно в моем ядре . Если этого достаточно - проблема в скриптах и (или) BusyBox
может причина незапуска nvme с родным initrd в старой версии busybox. Почему нет.
пересобрать с busybox из uird
какие модули ядра нужны для nvme? - давайте с этим определимся - тогда станет ясно где чего не хватает.Этого достаточно?
В kernel 5.16.0-pf1-mg2 : nvme-core.ko nvme.ko - монолитно
в этом нет. доп. nvm*.koпричем тут .ko блин, проблема была в том что монтирует как-то непонятно. Я же сказал - ядро nvme видит нормально.
Этого достаточно?Я же сказал - ядро nvme видит нормально.
initrd-raf2-5.16.0-pf1-mg2.xzМожешь
пересобрать с busybox из uirdИли еще интереснее со свежим busybox из арчрепы
у тебя скрипт linuxrc не сможет ничего увидеть т.к. парсит sd* устройства!!!
# Source functions
. ./finit
# Create /etc/fstab and mount devices:
fstab
# 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 }
Сам сделаешь или помочь?это не помогло.
в 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
Может найду эти комменты.Тред отсюда (https://forum.puppyrus.org/index.php?topic=23499.msg182237#msg182237) и ниже. Информации много, сложно выделить важное зерно, краеугольный камень проблемы.
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-ui3.xzэтот работает
Пересобрал с ним. initrd2.xzне работает
Прошу проверить
mount из busybox
Пересобрал с ним. initrd2.xz
Для поддержки загрузки с nvme в initrd необходимоНе соблюдение своих собственных установок. ) Не достаточно свежей версии busybox, нужны и nvme.ko. Наверно.
1. nvme-core.ko nvme.ko
В initrd от gumanzoy (doglinux), полноценная директория с модулями *.ko ( lib/modules/5.10.0-11-amd64/ ). В классическом initrd из сборок sfs, там только ссылка lib/modules --> /usr/lib/modules.Это потому что в DogLinux могут и используются не монолитные ядра. По умолчанию штатные от Debian.
А можно ссылку на такой initrd, где нет модулей, но при этом работает с nvme.В теории должно работать. Лет 10 назад пользовался Gentoo без initrd вообще. На SATA конечно.
Если все нужное собрано монолитно то не нужны модули.
Протестировано с initrd-raf2-5.16.0-pf1-mg2-ui3.xzМожно было бы попытаться вычленить конкретного виновника, раз уж nvme.ko и nvme-core.ko монолитно в ядре и не могут влиять на незапуск.
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
не работаетc обновленным ббокс от gumanzoy
Так то, поиском по nvme в initrd-raf2-5.16.0-pf1-mg2-ui3.xz получаемТ.к. в initrd-raf2-5.16.0-pf1-mg2-ui2.xz этих .ko не было и он работал. Эти .ko не нужны
хочется верить, что до лета проблема окончательно устаканитсяУ вас есть nvme? Чем не устраивает решение выше?
У вас есть nvme?
В догонку для sfs:я тут обычную манджаро с крысой поставил на ссд. Странный результат - скорость сложно отличить от ЛФА с ЛФД, Скорее всего из-за того, что их так и не сумел с ссд запускать.Раз уж большие спецы спрашивают, то возможно там не просто дело в неумении...
Чем не устраивает решение выше?Все же надо понимать, когда такие вопросы следует задавать, а когда нет. В данном случае, пользователь просто желает, чтобы из коробки все работало.
так и не сумел с ссд запускать.Это скорее индивидуальная проблема
пользователь просто желает, чтобы из коробки все работало.Я тоже за все хорошее против всего плохого
решить вопрос с классическим initrd - или убрать его из сборокДумаю, убрать только из прар. В остальных
сделать поясняющую надпись, что он не работает с nvme
классическим initrdЭто что вы считаете за классику?
что вы считаете за классику?Initrd, а-ля PuppyLinux от Барри Каулера, который работает только с монолитным ядром (нет полноценной директории /lib/modules/ с модулями *.ko). Плюс, за счет этого имеет самый маленький размер (сравнить с uird или с initrd-raf2 от sfs, или initrd от gumanzoy...).
initrd, а-ля PuppyLinux от Барри КаулераВот его init я и переписал для Richy. Выходит я тоже "классик" :)
что вы считаете за классику?В контексте этой темы pra-porteus initrd (старый скрипт porteus c моими доработками). С PuppyLinux там никакой связи нет
собственный initrd стал уже неподконтрольнымКакой имеешь ввиду и что понимаешь под контролем?
Прикольно, конечно, читать что я специалист в линуксеМой коммент был под вопросом Pro и отсылка, соответственно, была к нему. )
я не представляю как можно запустить ЛФ с нмве если инитрд с ним не работаетВыше ссылка на рабочий инитдр
Выше ссылка на рабочий инитдрУ тебя этих initrd развелось, на каждый случай, запутаться можно. А смысл? Чужие ядра тырить? Так у них всё равно aufs нет, пересобирать приходится. Тогда уж лучше сразу пересобрать ядро как надо, с поддержкой всех носителей. И будет, как говорил Владимир Ильич "лучше меньше, да лучше".
А смысл?Наличие системы сборки инитрд под любую задачу
оформлено в виде hook - можно самостоятельно собирать инитрд нужной конфигурации стандартными арч средствами
пересобрать ядро как надо, с поддержкой всех носителейИзбыточно большое получается. Постоянно в памяти держать такое накладно
полумонолитный - загрузка с ext ntfs3 fat разделов HDD SSD. C DVD USBflash и пр. FS загрузится только с initrd-raf2 или uirdМного развелось фс и носителей...
Постоянно в памяти держать такое накладноКак ты любишь говорить: "особенно по сравнению с браузером". Не смеши мои тапочки.. :)
Наличие системы сборки инитрд под любую задачуНо initrd получится жёстко привязанным к ядру. Ну и ...?
Ну и ...?Ну и поэтому золотая середина
полумонолитный - загрузка с ext ntfs3 fat разделов HDD SSD. C DVD USBflash и пр. FS загрузится только с initrd-raf2 или uirdЧастоиспользуемые в монолит. Остальное в .ko
В LFD10 будет маленький монолитный 5.15.0-pf5-pt14,
поэтому золотая серединаС ядрами понятно, но я про initrd, жёстко привязанный к ядру, не получится легко менять ядра. Да и сомнение меня гложет насчёт твоих скриптов, оптимально ли? Посмотри TinyCore, init всего несколько строк, а работает. Классический init от B.K. я переписал именно по причине ненужности большинства кода и его неоптимальности. В init всё должно быть нацелено на сборку aufs и ничего более.
насчёт твоих скриптов, оптимально ли?Вряд ли. Рождалось в муках. Но обязательно нужно под какую-то систему сборки инитрд
Если сделаете прощеМного лет назад уже сделано, и тишина...
с base module ... load= noload=Именно так.
готов тестироватьСозрел? Раньше не готов был?
обязательно нужно под какую-то систему сборки инитрдУ вас под какую?
готов тестироватьНу раз так, давай начнём изучать эту кухню. Глядишь и любознательные подтянутя. Только на "золотые горы" не рассчитывай, я болею.
Под какую будете делать?обязательно нужно под какую-то систему сборки инитрдУ вас под какую?
Под какую будете делать?Тебе опять план по валу надо гнать? Я не жалую системы сборки, когда что-то собираешь, надо думать головой, а не мышкой кликать. Я могу только рассказзать, как написать init для сборки aufs. Если тащить в initrd модули ядра, то надо их чем-то подгружать, а это дополнительный размер и время.
Я не жалую системы сборкиБез этого вообще не интересно
могу только рассказзать, как написать init для сборки aufsЯ пока не готов участвовать в написании. Максимум правки моего rootaufs2
Без этого вообще не интересноЛентяй :)
Я пока не готов участвовать в написании.Я не собираюсь писать новое.
Там больше половины кода одинаковыеВообще-то должна отличатья только одна строка
mount -t overlay overlay -o lowerdir=${SAVE}${UMNTRO}${KERNEL}/base,upperdir=/changes/upper,workdir=/changes/work /pup_new
mount -t aufs -o udba=reval,diropq=w,dirs=/changes=rw:${SAVEXZM}${UMNTRO}${KERNEL}/base=ro aufs /pup_new
должна отличатья только одна строкаПримерно так. Пока rootofs сделано методом правки rootaufs2. Из-за невостребованности не окультуривал
инитрд делается для экономностиНет. Сейчас это общепринятый способ загрузки. Старые ядра 2.* умели без initrd.
с разными... нюансами.Для систем с aufs | overlayfs надо сначала найти модули и собрать их в слои. После этого запускается собранная система.
для разных компов, нужны вариантыДля разного железа нужны разные ядра, а если модули ядра включены в initrd, то initrd работает только в комплекте со своим ядром. Лично я против включения модулей ядра в initrd.
Сейчас это общепринятый способ загрузки.вы не поняли смысл вопроса. Главная мысль была в том, что из экономии делают разные инитрд, как минимум, для использования при загрузке с нмве и без такой возможности (по умолчанию). Может, и еще какие варианты есть - я ведь не очень тщательно слежу за ситуацией. А вдруг мне это очень надо - а я и не знал?
при загрузке с нмвеЕсли поддержка nvme вкомпилирована в ядро монолитно, то поддерживать будет, если модулем ядра, то специальный initrd, а экономии практически никакой.
для загрузки модулей в initrd не обязательно включать udev и kmodдумаю - лучше оставить как есть : в pra-porteus - только монолитные ядра.
желания нетКак хочешь :(
Какой initrd качать?https://forum.puppyrus.org/index.php?topic=23847.msg183659#msg183659
есть готовая сборка лф для суперкомпьютеров?Поддержка prar21.10 закончена.
Prar2110 не запустился ни в каких вариациях, перебрал все initrd и uirdМожет запустить с носителя , с которого запускается и посмотреть - видно ли nvme...
Сегодня постараюсь выложить аналогичные для ядра 6.0В initrd-raf2-6.0.0-pf2-mg3_64-fallback.xz - busybox 1.35. nwme монолитно в ядре. Пробовали?
Какой initrd качать?скачал, но есть нюансы - почему-то делл7577 не работает с ядром 5.16, только со старым. Ну, тут я, может, просто не копнул поглубже.
https://forum.puppyrus.org/index.php?topic=23847.msg183659#msg183659
Может запустить с носителя , с которого запускается и посмотреть - видно ли nvme...это ничего не дает. После запуска лф в любом виде nvme видны. Не видно только при загрузке.
на hdd с mbrВ этом случае нужно ставить г4д - мой самый любимый загрузчик. Уефи при этом нужно отключать, включать режим легаци. Кстати, с флешки не грузился, скорее всего потому, что на нее тоже нужно ставить г4д. Хотя при загрузке с уефи должно грузиться и так. Я бы посмотрел, что у вас получается чисто по вайберу или ватсапу. Вы ролики по установке, на которые ссылка вверху, внимательно смотрели?
После запуска лф в любом виде nvme видны. Не видно только при загрузке.Какое инитрд используете? С pra-porteus nwme работать не будет (подробнее в шапке темы)
Наконец-то правильный финансовый подходСпасибо за подписку!
прар я до сих пор не осилил.Все свежее скоро будет по подписке
в роликах описаны простые действия по установке ПРА на флешку и диск, но куда более сложные действия по установке ПРАР совсем ничего нетРолик по установке от sewar? Там нет ничего по EFI . В MBR все мои дистры ставятся одинаково
https://mirror.yandex.ru/puppyrus/puppyrus-a/kernel/initrd-lf-pf-sf16.cpio.xz - i686 (будет работать и на x86_64) со свежим busybox для маленьких монолитных ядер - т.е. nwme должно работать. Не проверял - не на чем
Я сам не умею делать ролики.Собственно, уметь ничего не нужно. Надо просто записать на видеокамеру, да хоть на телефон, процесс установки ПРАР на жесткий диск. Если нужны будут какие-то комментарии - можете прислать мне видео, я наложу нужный звук.