I have picked up a lot from the moderators because of the in-depth knowledge and experience of you guys.
This post is just on the method of extending the /dev list which is the first time I have an interest to look into, mainly from a booting problem from Lilo. I wanted to find out why Lilo is such a poor performer when comparing with Grub in booting and so would do anything to get to the bottom. For sure I get a lot other information out of it.
You have confirmed what I have suspected all along with the following:-
Lilo is a boot loader that cannot operate outside Linux as it needs to be compiled whenever its configuration file lilo.conf is amended.
Grub is different as you has said
(Of course grub does it
at runtime, which is part of the reason you don't have to reinstall grub every time you change your config file.)
This implies Grub can operate outside the Linux, at least before kernel is booted.
Therefore Grub can enjoy the full range of hardware devices (in my case they are the hda21 to hda63) using the information from the Bios and not from the kernel.
Lilo on the other hand relies on the kernel exclusively. If a distro is using an older kernel for stability it may only detect a limited amount of hardware devices. For other stability reasons the disto could be unwilling to risk uncharted area of going into the newer devices because some internal software are not ready yet. Then the ability of Lilo to boot high-number devices (beyond the hda20 in my case) has been capped inadvertently.
I can report exactly the same thing is happening to Grub too after the Linux has bbeen booted and so Grub is fed by the kernel's information.
I have many feedbacks saying my proposal of restoring Grub in the mbr by grub-install /dev/hda inside partition hd(i,j) doesn't work. I then would tell them at the Grub's booting screen pressing "c" can get a Grub prompt and type
Code:
root (hd(i,j)
setup (hd0)
The success rate of the second alternative is much higer because in a Grub prompt the kernel is not yet booted and thus Grub gets the device list from the Bios and not from inside a Linux.
The grub-install is a Linux command on the other hand and suffers whatever limitation imposed by the kernel on the access of devces.
Linux is remarkably logical and many features can be "reason-out" if one pays attention to their characteristics. A few important pointers from the moderators can do magic in guiding the direction for those who wishes to learn.