Форум проекта PuppyRus Linux

Дистрибутивы проекта PuppyRus Linux => PuppyRus-A [PRA] => Тема начата: Ильфат от 25 Декабрь 2018, 14:55:22

Название: [Решено rootdelay=5]Arch-initrd не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 14:55:22
prar-1811-lxqt-01.iso
На реальном железе с флешки не загружается, не находит носитель. С этой же флешки в виртуалке загружается. Пробовал указывать /dev/sdb1, тоже не находит.
Пробовал на двух флешках. Создавал на разных компах и образ тоже скачивал на каждом компе отдельно.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: krasnyh от 25 Декабрь 2018, 16:37:21
На реальном железе с флешки не загружается
У меня загрузился с HDD. Распакован на sda3.
Код
title ▒▒ PRAR1811 LXQT FRUGAL. Тема оформления: Pop (зелено-синяя).
set d=prar1811-lxqt
set k=4.15.4-pf
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 root=/dev/sda3 dir=%d% rw quiet %l% %n% 
initrd  /%d%/boot/initrd-lf-pf-sf06.cpio.xz
Скриншот.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 16:59:41
У меня загрузился с HDD
На виртулабоксе у меня тоже загрузился. Там флешка получается тоже как HDD и единственный диск. А на ПК как флешка. Возможно что-то с дровами на usb storage. Если кто-нибудь еще на флешке бы проверил и на реальном железе было бы неплохо. Я также проверил на другом ПК, тоже не находит корневой раздел.

P.S. В Qemu тоже работает.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: knn от 25 Декабрь 2018, 18:54:20
На реальном железе с флешки
применительно к тому меню, что на данный момент(при загрузке с корня раздела c "развернутым" .iso):
--1. для "первых-фругал-пунктов-с-темами" - нужна Реальная метка флэшки (раздела) => достаточно --или прописать свою метку в кернель-строке (и наверное нужно чтоб она(метка у раздела флэшки) вообще была, т.к. "смонтировано" похоже "по LABLE"(по uuid-не монтируется); --или изменить метку флэшки на "какую просит").
--2. остальные 4 пункта - вроде d=lf, но у меня в корне .исо нет такого каталога (или может там "?вообще что-то другое"? ???); в имени initrd присутствует %i%, которой не увидел задания. --"Упоминается"  vmlinuz-4.11-x86_64, но не нашел.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 19:20:55
нужна Реальная метка флэшки (раздела) => достаточно --или прописать свою метку в кернель-строке (и наверное нужно чтоб она(метка у раздела флэшки) вообще была
У меня метка раздела PRAR1811. Указана в cmdline ядра.
Код
root=LABEL=PRAR1811
или изменить метку флэшки на "какую просит").
Да вродь ниче не просит
Если бы что-то не так было с cmdline, то и в виртуалке тоже бы не грузилось. Я думаю проблема как-то связана с USB.

Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: knn от 25 Декабрь 2018, 19:33:20
Если бы что-то не так было с cmdline
- в итоге грузился какими-то "~средними пунктами" (по началу не получалось - помогло только вышеупомянутое).
-----
p.s.-- если вдруг  есть на разных разделах одноименные(и с одинаковыми путями) - sgnfile или from=/dev/sdXY

p.p.s. возможно удалял строку "--файнд-сет-рут" - не помню(пробовал сделать разное - удалось загрузиться совсем не сразу)
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: knn от 25 Декабрь 2018, 19:35:52
Да вродь ниче не просит
root=LABEL=hybrid-iso (и если стереть параметр, то "просит"/"уведомляет")
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 19:48:32
--файнд-сет-рут
Это для загрузчика, чтоб нашел указанный раздел, где должны лежать ядро и инитрд. На этом этапе проблем нет.
root=LABEL=hybrid-iso
Это для загрузки из исо образа, потому что его метка hybrid-iso. У меня раздел с другой меткой.
Повторюсь, с cmdline все в порядке. Проблема в другом.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 19:50:06
и если стереть параметр, то "просит"/"уведомляет"
Я не стирал, я изменил на актуальное значение.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: krasnyh от 25 Декабрь 2018, 19:59:28
На реальном железе с флешки не загружается, не находит носитель
А каким способом записан образ на флешку? И как выглядит загрузочная запись?
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 20:20:50
А каким способом записан образ на флешку? И как выглядит загрузочная запись?
Проблема не в загрузчике, а в инитрд. Я же не говорю, что у меня загрузчик не грузится или не находит раздел с ядром.
Инитрд не находит корневой раздел. Загрузчик уже давно свое отработал.
Но если так интересно, то создал на флешке таблицу разделов msdos. Создал раздел c FAT32, задал метку PRAR1811. Скопировал на него содержимое исо образа LXQT, установил загрузчик c помощью bootlace, заменил в файле menu.lst все вхождения root=LABEL=hybrid-iso на root=LABEL=PRAR1811.
Еще раз повторюсь, в виртуалках грузится. Флешка там является жестким диском. В cmdline ошибок нет! Ждем экспертное мнение sfs, его инитрд :)
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 25 Декабрь 2018, 20:40:02
Собрал уирд и загрузился с ним. Правда до иксов дело не дошло, так как в юзера не входит, но это уже совсем другая история, даже разбираться не стал.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: krasnyh от 25 Декабрь 2018, 21:38:02
в виртуалках грузится. Флешка там является жестким диском
Да, проверил на  реал. железе, странная ситуация. С HDD грузит, с флешки нет. Причем одинаковые действия на обоих носителях.

Собрал уирд и загрузился с ним. Правда до иксов дело не дошло
В menu.lst если раскоментировать запись title ▒▒ PRAR1811 LXQT FRUGAL UIRD., то можно загрузиться с флешки. Правда жалуется на отсутствующее ядро 4.9.137 (похоже от magos) и соответственно ошибки с видеодровами. Но все же грузится.

P.s Вот что мне не нравится в uird - это привязка к своему ядру. Меняешь ядро - пересобирай uird.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 09:34:16
"смонтировано" похоже "по LABLE"(по uuid-не монтируется)
Ничего не менял. все должно быть стандартно http://wiki.puppyrus.org/soft/arch-initrd#root
Инитрд не находит корневой раздел
Загрузитесь со step (http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2#step) и посмотрите blkid
С этим же ядром и porteus-initrd (в прар1801) вроде никто не жаловался.
И там и тут без udev
Может флэшка или контроллер какие -то особенные, требующие доп. модулей ядра
У всех эта проблема?
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 09:54:15
Может флэшка или контроллер какие -то особенные, требующие доп. модулей ядра
Нет, так как грузится с уирд от другого ядра.
У всех эта проблема?
С HDD грузит, с флешки нет.
Как минимум не у меня одного
Загрузитесь со step и посмотрите blkid
Ок.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 10:13:47
Загрузитесь со step и посмотрите blkid
blkid показывет /dev/sdb1: LABEL=PRAR1811 UUID и т.д. и т.п.
Особенность контроллера исключается. Тем более я на двух флешках проверял, плюс одна флешка у krasnyh.
На PRAR 1811test01 и 1811test03 проблем не было.
На фотке, которое я выше прикладывал, что-то про sdb пишет, думаю надо в эту сторону смотреть. С поиском раздела проблем не должно быть, раз blkid его показывает.
Ничего не менял.
Что-то все-таки изменилось. Надо думать..
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 10:14:48
грузится с уирд от другого ядра.
В этом инитрд нет модулей используемого ядра и udev ?

Проверил с флэшки на ноуте - норм. На флэш ставил - скопировал папку с дистром и menu.lst
C root=/dev/sda1 тоже норм
Скорее всего :
флэшка или контроллер какие -то особенные, требующие доп. модулей ядра
Тогда пересобрать инитрд арч средствами (http://wiki.puppyrus.org/soft/arch-initrd#%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_initrd) с udev и если это не поможет - юзать fallback
Ну или заюзать ядро манджаро из prar1811test*.iso - там есть udev и fallback
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 10:26:33
В этом инитрд нет модулей используемого ядра и udev ?
В собранном мной есть конечно же, а в вашем врядли, так как ругается что версии уирд и ядра не совпадают, но все равно грузится. Он похоже вообще от МагОС. Насчет udev не знаю.
Проверил с флэшки на ноуте - норм.
ФС какая? Мы тестировали FAT32.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 10:48:02
На prar-1811-test03.iso с initrd-lf-sf06.cpio.xz проблем с загрузкой не было.
Разница получается в ядре.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 10:56:22
Насчет udev не знаю.
Если есть бинарник udevadm - значит есть
blkid показывет /dev/sdb1: LABEL=PRAR1811 UUID и т.д. и т.п.
Если видит - значит дело не в ядре
Надо step-ом пройти и понять - почему у меня норм, у вас - нет
Мы тестировали FAT32.
тоже
Мы - а разве у krasnuh плохо...
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 10:57:29
На prar-1811-test03.iso с initrd-lf-sf06.cpio.xz проблем с загрузкой не было.
Потому что там
Тогда пересобрать инитрд арч средствами с udev и если это не поможет - юзать fallback
Ну или заюзать ядро манджаро из prar1811test*.iso - там есть udev и fallback
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: krasnyh от 26 Декабрь 2018, 10:59:32
 Флешка fat32, root=/dev/sdb1 - ошибка как здесь http://forum.puppyrus.org/index.php?topic=21327.msg152072#msg152072

Но, если грузиться со step, то флешка прекрасно монтируется и грузится.
Код
$ cat /var/log/initrd.log
::::: Mounted: /dev/sdb1 on /run/archroot/root_ro type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=866,iocharset=utf8,shortname=mixed,utf8,errors=remount-ro)
:: rootaufs2 end

 Проблема похожа как в этой теме https://archlinux.org.ru/forum/topic/6942/?page=2
Что-то не успевает подгрузиться при обычной загрузке, но подгружается с командой step.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 11:01:46
не успевает подгрузиться при обычной загрузке, но подгружается с командой step.
Это теплее. У меня ноут не бодрый
Пробуйте http://wiki.puppyrus.org/soft/arch-initrd#rootdelay
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 11:01:49
Надо step-ом пройти и понять - почему у меня норм, у вас - нет
Степ останавливается на том, что у меня на фотке. Туплю  ::)
Мы - а разве у krasnuh плохо...
Плохо:
Да, проверил на  реал. железе, странная ситуация. С HDD грузит, с флешки нет. Причем одинаковые действия на обоих носителях.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 11:13:32
Да, со step грузится. Флешка значит не поспевает. Сделайте тогда циклы как в UIRD.
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 11:19:53
Пробуйте http://wiki.puppyrus.org/soft/arch-initrd#rootdelay
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 11:51:52
Пробуйте http://wiki.puppyrus.org/soft/arch-initrd#rootdelay
С rootdelay=5 работает. Значения меньше не стал пока проверять.
При загрузке со step заметил что ::Mounted /dev/sdb1 /run/archroot/root_ro два раза пишет. То есть на каком-то шаге это выдает, потом через пару тройку шагов еще раз. Это нормально?
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: Ильфат от 26 Декабрь 2018, 12:05:41
С rootdelay=5 работает
Оказалось достаточно rootdelay=1
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: krasnyh от 26 Декабрь 2018, 12:09:43
Оказалось достаточно rootdelay=1
Быстрая флешка. :)  У меня - rootdelay=2
Название: Re: prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 12:43:57
::Mounted /dev/sdb1 /run/archroot/root_ro два раза пишет.
Там сложно. Код изначально не мой. Есть над чем поработать
rootdelay=
Значит решили стандартными средствами. krasnyh+ за подвод к решению
Ильфат+ за активное участие
Дописал в вики (http://wiki.puppyrus.org/puppyrus/pra-roll?&#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
Название: Re: [Решено rootdelay=5]prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: DdShurick от 26 Декабрь 2018, 12:54:09
Код изначально не мой.
Напиши свой, делов то
Название: Re: [Решено rootdelay=5]prar-1811-lxqt-01.iso не грузится с флэшки
Отправлено: sfs от 26 Декабрь 2018, 12:57:03
Пока некогда
Если напишите мне хук для арча с modules optional load= noload= на базе своих наработок - было бы интересно
Название: Re: [Решено rootdelay=5]Arch-initrd не грузится с флэшки
Отправлено: sfs от 12 Январь 2019, 10:16:37
Если у них флешка чуть протупит, то они узнают какой у них инитрд. А с уирдом не узнают. Так как такого рода проблемы уирд решает сам, а не заставляет пользователя лазить по форуму и вики и искать почему же у него PRA не загружается. А оказывается каждый юзер под свою флешку должен свой rootdelay подбирать ;)
А как в юирд это реализовано? Думаю мне проще будет передрать. Идеально - отдельным хуком
Странно , почему в арче для этой проблемы только такое решение...
Название: Re: [Решено rootdelay=5]Arch-initrd не грузится с флэшки
Отправлено: betcher от 12 Январь 2019, 10:29:11
Смотря в каком месте тупит. В уирд есть проверка в начале уирд-инит на появление файлов устройств и подключение каждого источника делается с нескольких попыток с секундным интервалом.
Название: Re: [Решено rootdelay=5]Arch-initrd не грузится с флэшки
Отправлено: sfs от 12 Январь 2019, 10:40:06
Код не мой https://sources.archlinux.org/other/mkinitcpio/
Код
poll_device() {
    local device=$1 seconds=${2//[!0-9]}

    [ "${seconds:-x}" = x ] && seconds=10
    deciseconds=$(( seconds * 10 ))
 
    # tenths of a second
    sleepinterval=1

    [ -b "$device" ] && return 0

    if [ "$udevd_running" -eq 1 ]; then
        msg "Waiting $seconds seconds for device $device ..." >&2
        while [ ! -b "$device" -a "$deciseconds" -gt 0 ]; do
            if [ "$sleepinterval" -ge 10 ]; then
                sleep 1
                deciseconds=$(( deciseconds - 10 ))
            else
                sleep .$sleepinterval
                deciseconds=$(( deciseconds - sleepinterval ))
                sleepinterval=$(( sleepinterval * 2 ))
            fi
        done
    fi

    [ -b "$device" ]
}
$2 - здесь это наш rootdelay= , который помогает
Название: Re: [Решено rootdelay=5]Arch-initrd не грузится с флэшки
Отправлено: betcher от 12 Январь 2019, 11:01:04
#Waits partitions initialization. It need for  cardreaders with some empty slots
while [ $(cat /proc/partitions | tail -n1 | awk '{print $1}') -eq 1 ]; do
   sleep 0.3
done

Это проверка на инициализацию.

А цикл на подключение источнико не смысла показывать.  Типа.
until mount  bla bla ; do
sleep 1
done
ну и выход из цикла через несколько попыток, чтоб не вечный был.