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
This implies Grub can operate outside the Linux, at least before kernel is booted.
(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.)
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
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.
Last edited by saikee; 01-03-2007 at 08:09 AM.
no second ( , saikee... look at root (hd(i,j)
as a side note, lilo stands for linux loader. seems reasonable to rely on linux...
however, /dev/hd??? syntax is rather *nix, not linux only... I wouldn't call it reliance on linux. The thing is, lilo is designed to be as small as possible to fit on the mbr. naturally, these things get relegated to the executable, and since it is going to be static, reusing things done by the kernel is the way to go. grub was designed from scratch to be multiboot compliant ( and they defined multiboot too) and they meant to do the thing at runtime, so the difference.
and I agree that out mods are way too cool!
Come under the reign of the Idiot King...
Come to me ... I love linux!
Registered Linux user: Idiot King #350544
mknod is how you make devices under *NIX systems. read the man pages on it. its not to complexs. also if you cd into /dev there is usually a MAKEDEV script that you could run to create the devices you need.
"Software is like sex: it's better when its free."