28.11.2020 00:15, Brian J. Murrell пишет: > On Fri, 2020-11-27 at 06:01 +0000, Maksim Fomin wrote: >> >> Yes, the question is whether it is *supposed* to work and I am not >> sure the answer is yes. > > My feeling from what Andrei said earlier is that it is supposed to > work. nativedisk is supposed to load the whole usb stack including > usbms (USB Mass Storage) before activating any of the modules. That > means to me that by the time they are all done being activated, the > whole stack of modules necessary to communicate from USB storage > devices is loaded. >
There are at least two issues here 1. You automatically presume that loaded drivers are capable to work with your hardware. That is far from being guaranteed. Just look at the size of Linux kernel and number of quirks it has to maintain for various hardware. Nobody did this amount of work for GRUB. 2. Native drivers were never designed to be freely interchangeable with platform drivers. They were intended to be used on bare metal platforms, where GRUB is basically loaded by firmware *instead of* BIOS and has full control over hardware. When you first boot using conventional BIOS, firmware installs drivers to handle disk/USB/... etc IO. When you tell grub to switch to native drivers, BIOS drivers remain active. So now you have *two* independent sets of drivers that attempt to "drive" the same hardware. Chaos follows. In some cases it may be possible to make it work (e.g. USB has special protocol that allows OS - or GRUB in this case - to inform BIOS that OS takes control over device). In other cases - like AHCI controller - I am not sure it is even possible.
