LINUX.ORG.RU

USB3 bootable & mountable

 , ,


3

2

Привет всем! Нужен специалист по модулям ядра.

Я сделал аварийную мультизагрузочную USB-3 флэшку на Archlinux с загрузчиком grub и несколькими разделами. Загрузочный раздел (UEFI + legacy) в fat32, система установлена на разделе ext4. Загрузка прекрасно работает и в режиме UEFI и в легаси, но только когда флэшка в порту USB-2.

В порту USB-3 загружается grub, стартует ядро и останавливается из-за ошибки монтирования системного раздела в корень файловой системы. Ядро не видит раздел диска, подключенный через порт USB-3. Пробовал на разных компьютерах и ноутах - результат одинаковый.

Подскажите, кто в курсе, где можно найти информацию с описанием функционала подключаемых модулей ядра? Думаю, нужно просто грамотно добавить в initrd модуль поддержки интерфейса USB-3.

P.S. Решение:

Два модуля в initrd - «xhci-hcd» (USB-3) и «ehci-hcd» (USB-2), позволяют без проблем монтировать корневой раздел, размещенный в любом USB порту. Можно еще добавить «ohci-hcd», если ожидается использовать USB-1.1

В ArchLinux модули вносятся в файл «/etc/mkinitcpio.conf» как параметр: MODULES=(xhci_hcd ehci_hcd)


Подскажите пожалуйста, кто в курсе, где можно найти информацию по функционалу модулей ядра? Нужно добавить в ядро грамотную поддержку usb-3.

У вас получился прямо-таки бесполезный канцелярит. Пока дрова на usb-3 не будут универсальными придётся собирать все имеющиеся модули. Если ядро устарело, то дров в принципе может не оказаться. С корневым разделом надо решить - либо делать initrd, либо делать не модулями.

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 1)

Прочитал и ни черта не въехал в проблему. У меня флешки в порту USB3 нормально грузятся еще с Fedora 23 это точно. Какое там ядро было уже не помню. По моему 4.3. Такое ощущение что дело не в ядре а в загрузочной флешке. Может флешка не USB3 и отсюда проблемы возникают? Или просто флешка «приготовлена» не слишком «вкусно».:-)

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

Спасибо за ответ, за то что Вы уделили внимание моему посту. Но вынужден огорчить - Вы написали бесполезную чепуху. Если не разбираетесь в существе проблемы, зачем засираете топик?

В Archlinux всегда самое свежее ядро. То что сейчас на флэшке - «5.3.11-arch1-1 #1 SMP PREEMPT Tue, 12 Nov 2019».

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

Да, я не совсем точно сформулировал, извиняюсь. Правильно будет так: «Нужно грамотно добавить в initrd для ядра модуль поддержки usb-3.»

Анонимус подкинул ссылку 9-летней давности. Актуально. Я нашел модули, с которыми на USB-3 корневой раздел успешно монтируется, это «xhci-hcd» и «ehci-pci». Осталось разобраться с деталями.

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

раздел успешно монтируется, это «xhci-hcd» и «ehci-pci».

Это вообще желательно засунуть в само ядро.

Осталось разобраться с деталями.

initrd хорош, когда у вас много разнотипных машин с дисками. Когда у вас флешка, то терять место и память под initrd может и не совсем рационально. Если положить в ядро всё что надо для старта с usb, то есть дрова usb и fs, то можно обойтись без initrd, когда остальные модули типа сетевушек и дров scsi/рейдов и пр. уже брать из модулей со смонтированной корневой fs.

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vodz

положить в ядро

в каком смысле? Все уже продумано, не вижу смысла «изобретать велосипед»:

The initial ramdisk is in essence a very small environment (early userspace) which loads various kernel modules and sets up necessary things before handing over control to init. This makes it possible to have, for example, encrypted root file systems and root file systems on a software RAID array. mkinitcpio allows for easy extension with custom hooks, has autodetection at runtime, and many other features.

когда у вас флэшка, то терять место и память под initrd

Вы в каком веке застряли, простите? :)

bigov ()
Последнее исправление: bigov (всего исправлений: 1)
Ответ на: комментарий от bigov

в каком смысле? Все уже продумано, не вижу смысла «изобретать велосипед»:

У вас есть проблема — есть решение. Оно простое и работает.

encrypted root file systems and root file systems on a software RAID array.

Вы делаете флешку с известной «root file systems» и без всякого RAID. Если вам потом надо доступ к raid на машине, никто не запрещает подгружать потом модули. Ничего initrd кроме как траха, торможения и без гарантии работы (о чём вы лично убедились) для данной задачи не даёт.

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

Такое впечатление, что я общаюсь с ботами… У ЛОРа реально проблемы.

Проблема у вас, в голове. Вам все тут дали алгоритмы решения, но вместо таки решения проблемы вы решили всем хамить.

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 2)
Ответ на: комментарий от vodz

Спасибо за алгоритмы, без них я бы ни за что не нашел решения. И извините, если задел кого-то, указав ему на недостатки.

Осмелюсь-таки заметить, что если кто-то спрашивает, какого размера брать резину для авто, то как-то неуместно предлагать заменить двигатель.

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

Спасибо за алгоритмы, без них я бы ни за что не нашел решения.

Не хотите получать готовые рабочие решения — не спрашивайте.

И извините, если задел кого-то, указав ему на недостатки.

ЧТД. Хамло вульгарис.

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

Тут нет умных ботов - с задачей установления диалога прекрасно справляются тупые троли, которые заполняют топики бессмысленными наборами умных фраз. Забей, а то будут обзываться, если намекнуть им на тупость.

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