LINUX.ORG.RU
ФорумAdmin

Не определяется флешка - что включить в ядре?

 


0

1

Привет. Есть кастомная загрузочная флешка с кастомным ядром, где в целях экономии места выключены многие модули и параметры. Есть PC на материнке Gigabyte GA-990FXA-UD3 с процом AMD FX. Загрузочная флешка грузится на нём нормально, и все HDD диски и устройство флешки определяется нормально и имеют соответствующие ноды в /dev, и флешку соответственно можно смонтировать из загрузочного окружения. Есть второй компьютер с материнкой MSI H110M PRO-VD (Intel® H110 Chipset) и процом Intel Core i3. На нём можно загрузиться с этой флешки, но само устройство флешки не определяется. В /proc/partitions я вижу только устройства жёсткого диска (/dev/sda1,5,6). Вопрос - почему, и что нужно включить в ядре, чтобы на втором PC флешка получала /dev ноды?

У тебя только ведро на флешке?

Граб, насколько я понимаю, видит её нормально и всё грузится. Сравни загруженные модули ядра на двух компах: lsmod | sort и потом modprobe недостающие. А lsusb/lspci чего говорят? dmesg не ругается?

У меня сейчас воткнута флешка в 2.0 и хард в 3.0, используются вот эти модули:

$ lsmod | egrep 'usb'      
usbhid                 45056  0
hid                   114688  2 hid_generic,usbhid
usb_storage            61440  2 uas
scsi_mod              151552  6 ses,uas,scsi_transport_sas,usb_storage,libata,sd_mod
usbcore               196608  7 uas,usb_storage,ehci_hcd,ehci_pci,usbhid,xhci_hcd,xhci_pci
usb_common             16384  1 usbcore
anonymous
()
Ответ на: комментарий от anonymous

это какие-то общие модули, которые у меня тоже включены. Думаю, может поддержки каких-то мостов или чипсетов не хватает. Вопрос только каких. Потому что они скорее всего будут не модулями, и через lsmod их не найдёшь. В dmesg тишина. Если загрузиться с флешки, потом её вынуть/вставить, т на рабочей системе я вижу сообщение типа вставлено новое устройство на экране и в dmesg. На нерабочей системе ничего не происходит, вообще. Никаких сообщений или ошибок.

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

А если в другую дырку присунуть? Хохо. Ну ты понел.

А что lspci говорит? USB-контроллер есть в системе?

Странное дело, конечно. Возможно у твоей флешки какие-нибудь VID-PID «нестандартые». А скинь dmesg куда-нибудь, интересно посмотреть.

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

VID-PID стандартные, флешка работает везде о всех ОС. Я не могу скинуть dmesg, потому что его некуда скинуть. Сети там нет, и флешки не определяются.

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

В dmesg есть информация про usb «Host Controller»? Если есть возможность, сделайте другую флешку с нормальный ядром и посмотрите, как она ведёт себя на том компе.

mky ★★★★★
()

А ты пробовал подключать флешку через не usb3 порт?

expelled ★★
()

На нём можно загрузиться с этой флешки, но само устройство флешки не определяется

Что ты загружаешь с флешки? Тебя выкидывает в rescue-шелл initrd или у тебя какой-нибудь tinycore и вся система грузится в память?

это какие-то общие модули, которые у меня тоже включены.

Что ты подразумеваешь под подключены? Эти модули должны быть в initramfs/initrd, включая uas.

MSI H110M PRO-VD

Skylake. Какая версия ядра?

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

Что ты загружаешь с флешки?

свой скрипт, в котором нет ничего кроме поиска устройства флешки и её монтирование (для целей дебаггинга).

Skylake. Какая версия ядра?

3.4.112

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

свой скрипт,

Ну и что, ядро (монолитное без модулей) , загружает скрипт с флешки отформатированной в ... подробнее.

3.4.112

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

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

загружает скрипт с флешки отформатированной в ... подробнее.

ext2

Если это не ядро какого-нибудь дистрибутива, который занимается бекпортированием драйверов.

Ядро ванильное, просто свой .config для выключение лишнего. Видимо нужно ядро поновее типа 4.4?

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

ext2

Лучше объясни как ядро может грузить скрипт.

Видимо нужно ядро поновее типа 4.4?

Видимо. Я на skylake ниже 3.10 (из centos-а) ничего не запускал. Там проблемы только с видео (особо правда не тестировал).

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

В inittab просто написано

А inittab находится ... дай угадаю, вместе со скриптом на ext2 разделе. Ура, твое ядро видит флешку.

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

А inittab находится ...

вместе со скриптом в initrd. Именно поэтому вся эта хрень работает, потому что ядро/initrd читается и грузится грабом напрямую из флешки.

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

вместе со скриптом в initrd.

Ну наконец-то ты ответил на мой первый вопрос.
Где конфиг ядра? Что в initrd, кроме этих двух файлов?

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

не нужно тебе такое новое ядро. Бери 2.6.32 из 6-го centos-а, все видит (на skylake) и usb2 и usb3.

arson ★★★★★
()

Мне всё-таки кажется, что у тебя не хватает каких-то модулей в ядре. Есть у тебя failsafe вариант initrd?

Слушай, а udev у тебя там есть? Может всё-таки устройства-то и дровишки на месте? Поищи так: find /sys/devices -iname '*usb*'. Есть чё? В dmesg-то вообще есть упоминание USB или ehci_hcd/xhci_hcd?

anonymous
()
Ответ на: комментарий от former_anonymous

модули ядра

Что не покажешь? :)

Конфиг:

# CONFIG_USB_XHCI_HCD is not set
CentOS6 использует этот драйвер, если его выгрузить usb-диски пропадают

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

А вообще у меня на skylake даже на 4.5.2 проблемы.
Какие-то периодические мелкие фризы. VLC киношку проиграть гладко не может, периодические (несколько раз в час) фризы ~1сек. Диски разные, другой дисковой нагрузки нет, на старом компе такого не было.

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

Что не покажешь? :)

Это ванильное ядро, могу скинуть модули если надо. Просто там много чего включено в положении y а не m.

CONFIG_USB_XHCI_HCD

Попробую включить, спасибо.

Up. Хотя нет. На системе где флешка работает, она была вставлена в USB3 порт. Видимо он просто работает в режиме совместимости с USB 2.0. Так что думаю что включение XHCI не поможет.

former_anonymous ★★★
() автор топика
Последнее исправление: former_anonymous (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.