help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nativedisk not working in 2.0.4


From: Andrei Borzenkov
Subject: Re: nativedisk not working in 2.0.4
Date: Fri, 4 Dec 2020 11:08:41 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]