* Re: [make-initrd] Загрузка с USB
2025-07-28 11:38 ` Anton Midyukov
@ 2025-07-28 13:28 ` Leonid Krivoshein
2025-07-28 13:45 ` Alexey Gladkov
1 sibling, 0 replies; 5+ messages in thread
From: Leonid Krivoshein @ 2025-07-28 13:28 UTC (permalink / raw)
To: make-initrd
Добрый день!
On 7/28/25 14:38, Anton Midyukov wrote:
> 28.07.2025 14:31, Vladimir Mokrozub пишет:
>> Здравствуйте,
>>
>> есть Альт Линукс, установленный на SATA SSD. Задача: настроить загрузку с этого диска через внешний бокс SATA -> USB.
>>
>> Я добавил фичи usb и usb-storage, пересобрал initrd, но при загрузке initrd падает в шелл. В dmesg вижу такие ошибки:
>>
>> uas: Unknown symbol usb_stor_sense_invalidCDB (err -2)
>> uas: Unknown symbol usb_stor_adjust_quirks (err -2)
>>
>> В Интернете ничего вразумительного по этим ошибкам не нашел.
>>
> Такого набора должно быть достаточно, чтобы загрузить с любого usb:
>
> MODULES_TRY_ADD += kernel/drivers/scsi/sd_mod.ko
> MODULES_TRY_ADD += kernel/drivers/usb/core
> MODULES_TRY_ADD += kernel/drivers/usb/dwc2
> MODULES_TRY_ADD += kernel/drivers/usb/dwc3
> MODULES_TRY_ADD += kernel/drivers/usb/host
> MODULES_TRY_ADD += kernel/drivers/usb/phy
> MODULES_TRY_ADD += kernel/drivers/usb/storage
Ругается uas, он с некоторыми внешними USB ругается именно так. Здесь
есть описание обхода:
https://unix.stackexchange.com/questions/239782/connection-problem-with-usb3-external-storage-on-linux-uas-driver-problem
Можно начать с того, что без загрузки с него подключить диск и
посмотреть вывод lsmod и lsusb.
--
WBR, Leonid Krivoshein.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [make-initrd] Загрузка с USB
2025-07-28 11:38 ` Anton Midyukov
2025-07-28 13:28 ` Leonid Krivoshein
@ 2025-07-28 13:45 ` Alexey Gladkov
1 sibling, 0 replies; 5+ messages in thread
From: Alexey Gladkov @ 2025-07-28 13:45 UTC (permalink / raw)
To: make-initrd
On Mon, Jul 28, 2025 at 02:38:17PM +0300, Anton Midyukov wrote:
> 28.07.2025 14:31, Vladimir Mokrozub пишет:
> > Здравствуйте,
> >
> > есть Альт Линукс, установленный на SATA SSD. Задача: настроить загрузку с этого диска через внешний бокс SATA -> USB.
> >
> > Я добавил фичи usb и usb-storage, пересобрал initrd, но при загрузке initrd падает в шелл. В dmesg вижу такие ошибки:
> >
> > uas: Unknown symbol usb_stor_sense_invalidCDB (err -2)
> > uas: Unknown symbol usb_stor_adjust_quirks (err -2)
> >
> > В Интернете ничего вразумительного по этим ошибкам не нашел.
> >
>
> Такого набора должно быть достаточно, чтобы загрузить с любого usb:
>
> MODULES_TRY_ADD += kernel/drivers/scsi/sd_mod.ko
> MODULES_TRY_ADD += kernel/drivers/usb/core
> MODULES_TRY_ADD += kernel/drivers/usb/dwc2
> MODULES_TRY_ADD += kernel/drivers/usb/dwc3
> MODULES_TRY_ADD += kernel/drivers/usb/host
> MODULES_TRY_ADD += kernel/drivers/usb/phy
> MODULES_TRY_ADD += kernel/drivers/usb/storage
Вообще, это интересно. Фича usb пробует добавить uas и usb-storage.
$ git grep --show-function -w usb_stor_adjust_quirks
drivers/usb/storage/uas-detect.h=55=static int uas_use_uas_driver(struct usb_interface *intf,
drivers/usb/storage/uas-detect.h:132: usb_stor_adjust_quirks(udev, &flags);
drivers/usb/storage/usb.c=522=static int associate_dev(struct us_data *us, struct usb_interface *intf)
drivers/usb/storage/usb.c:557:void usb_stor_adjust_quirks(struct usb_device *udev, u64 *fflags)
drivers/usb/storage/usb.c:667:EXPORT_SYMBOL_GPL(usb_stor_adjust_quirks);
drivers/usb/storage/usb.c=670=static int get_device_info(struct us_data *us, const struct usb_device_id *id,
drivers/usb/storage/usb.c:687: usb_stor_adjust_quirks(us->pusb_dev, &us->fflags);
drivers/usb/storage/usb.h=192=extern void usb_stor_disconnect(struct usb_interface *intf);
drivers/usb/storage/usb.h:194:extern void usb_stor_adjust_quirks(struct usb_device *dev,
$ git grep -w uas_use_uas_driver
drivers/usb/storage/uas-detect.h:55:static int uas_use_uas_driver(struct usb_interface *intf,
drivers/usb/storage/uas.c:1005: if (!uas_use_uas_driver(intf, id, &dev_flags))
drivers/usb/storage/usb.c:1204: if (uas_use_uas_driver(intf, id, NULL))
$ git grep -F usb.o drivers/usb/storage/Makefile
drivers/usb/storage/Makefile:16:usb-storage-y := scsiglue.o protocol.o transport.o usb.o
Ну то есть usb_stor_adjust_quirks() находится в usb-storage.
Думаю, что стоит спросить, а действительно ли попали ли эти модули
в образ.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 5+ messages in thread