LINUX.ORG.RU

Странное поведение ядра при загрузке с USB

 , , ,


0

1

Всем привет! Я собрал свой дистрибутив linux на основе LFS и уже часть программ поставил из BLFS. Проблема заключается в том, что когда я сделал на основе моего само сборного дистрибутива загрузочную флешку, она не захотела толком работать. Grub грузится, ядро загружается, а система нет. Говорит, что не видит раздел на флешке. Смотрю по логам ядра и вижу, что ядро видит только разделы с внутреннего HDD компьютера. Тоесть при загрузке флешка отрубается и ядро его не видит. С чем может быть связано отключение флешки при загрузке ядра? Флешка отключается на первой секунде загрузке(всего загрузка до kernel panic длится 4-5 секунд).

юсбшность то в ядре есть ?

юсбшность детектиться медленно. гуглить waiting root device

vel ★★★★★
()

Воткни флешку в компьютер перед установкой ядра ;)

arson ★★★★★
()

загружайся с параметром ядра rootwait

teod0r ★★★★★
()
Ответ на: комментарий от int13h

Никакого, флешка не видится ядром вообще после 0.20000 секунды(инликатор на флешке перестает мигать)

kipranator
() автор топика
Ответ на: комментарий от vel

Если под юсбишностью имеется ввиду поддержка usb, то в ядре она есть. Флешки монтируются на ура, даже usb wifi заработал. Waitroot пробовал, но просто система потом пишет «Жду рут партицию», и все, система с этого момента больше нечего не делает:(

kipranator
() автор топика
Ответ на: комментарий от int13h

А если как флешку видит груб - то он ее видит как hd0.

kipranator
() автор топика
Ответ на: комментарий от kipranator

1) машина всегда права

2) если машина не права см. п.1 :)

У тебя совсем монолитное ядро или часть модулями ?

initrd есть ? загрузиться с root=/dev/ram и посмотреть что и как. Скорее всего какой-то модуль не загружен (который напрямую с устройствами не связан типа sd_mod).

vel ★★★★★
()
Ответ на: комментарий от kipranator

поддержку usb вкомпилируй монолитно в ядро, и файловую систему которая на флешке тоже.

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

irton ★★★★★
()
Ответ на: комментарий от irton

Спасибо! Скомпилировал поддержку usb в само ядро, теперь флешка работает при загрузке) Только нормальная загрузка у меня только через uefi, а bios нормально не загружает. Тоесть как, загружает то загружает, если указать вместо PARTUUID нормальный адрес(/dev/sdb), и работает это только на одной машине. На другой, ни так, не так, одно и тоже - VFS не может подключить root раздел.

kipranator
() автор топика
Ответ на: комментарий от kipranator

ну так обычно вопросами доступности root занимается initrd, у тебя надо смотреть, чего там на другом компе получается, может что-то еще придется в ядро монолитно вкомпилировать

irton ★★★★★
()
Ответ на: комментарий от irton

Хм... Странно, при загрузке из Bios, система вили флешку, тоесть обнаруживает ее как USB Mass Storage, но как диск /dev/sdX почему-то не делает.

kipranator
() автор топика
Ответ на: комментарий от kipranator

еще одну флешку рядом воткни и смотри увидит ли ее, ну и пробуй монтировать эту вторую по всякому

irton ★★★★★
()
8 декабря 2015 г.
Ответ на: комментарий от irton

В конце концов, все решилось созданием initramfs по инструкции из BLFS. Думал, что костыль, а как оказывается жизнь с модулями упрощает, да и с загрузкою теперь меньше проблем. Из минусов - система грузится на 2-3 секунды дольше, не критично, но не приятно :)

kipranator
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.