Trimming the default /boot/device.hints

Garance A Drosehn gad at
Wed Jan 28 13:51:29 PST 2009

At 3:40 PM -0500 1/28/09, John Baldwin wrote:
>On Wednesday 28 January 2009 2:24:11 pm M. Warner Losh wrote:
>  > In message: <p06240807c5a64df6e188@[]>
>  >             Garance A Drosehn <gad at> writes:
>  > :
>>  : We could even install the LEGACY.hints file as /boot/legacy.hints,
>>  : and then if someone has a problem we can say  "go into the boot
>>  : loader, and type 'include /boot/legacy.hints'.  If that doesn't
>>  : solve your problem, then your problem is not related to this big
>>  : change to /boot/device.hints".  And if it *does* solve their problem,
>>  : they can just look at 'dmesg' after they boot up, and get a good idea
>>  : of what lines they need to add to /boot/device.hints.
>>  :
>>  : I don't see how this would cost us much (compared to *not* having a
>>  : legacy.hints file), and yet it might make things much easier if it
>>  : turns out that too many hints had been removed.
>>  Actually, that's a very clever idea you've stumbled into.  The boot
>>  loader already know if acpi is involved, and could trivially be
>>  augmented to know if there's PNP data.  If neither of them are in
>>  place, it could automatically load legacy.hints...
>>  But the cheap 'get the file there' is a good idea.
>What I'm worried about I guess is how long we have to maintain this.  Also,
>why do we have hints for ed0 but not ex0?  That is, the current list is
>rather arbitrary and only caters to certain rare hardware and not to other
>rare hardware.  I'd rather just do a simple clean break and drop all of the
>rare hardware.  I don't really think there will be anyone who actually
>_needs_ to include /boot/legacy.hints, but we will be stuck with this very
>arbitrary file forever.

I don't see why we would be stuck with it forever.  The only way the
user will *use* the file is if they explicitly type
   "include /boot/legacy.hints"
before 'boot' while in the boot loader.  Every time they boot, they
will have to go through these extra steps.  Nothing will automatically
use the file for them.

The proposal is to remove a lot of lines.  You then say "if this *does*
cause a problem, they can always type in the 5 lines of hints that they
need" -- assuming they know exactly which hints they need to type as
they reboot into 8.0-RELEASE for the first time (which is when we are
the most likely to see this hit non-developer users).  Once a non-
developer is in that situation, do you want to talk them through figuring
out which hints they need, and then having them type in those lines?
Or do you want to say:

   "Huh.  I'm not sure what your problem is, but trying typing in
    this one line to the boot loader.  If that works, then we can
    figure out what lines need to be added to your personal
    device.hints file for your specific hardware --- and you will
    never again have to type in 'include /boot/legacy.hints'".

I'm not saying we keep installing the legacy.hints file forever.  But
it might be awfully convenient to have it there for 8.0-release and
maybe 8.1-release (since we know many people won't really install
8.x-stable until 8.1-release).  After that, we simply stop installing
the file.

And if we do have this convenient file there, then we can justify
removing even more lines from default device.hints file, the one
which is always automatically sourced for all users.  A legacy.hints
file just seems to be an extremely low-cost safety measure as we make
the transition.

Btw, I do very much like the idea of making device.hints smaller.

Garance Alistair Drosehn     =               drosehn at
Senior Systems Programmer               or   gad at
Rensselaer Polytechnic Institute;             Troy, NY;  USA

More information about the freebsd-arch mailing list