Hi, On Thu, Aug 19, 2010 at 3:27 AM, Lennart Sorensen <[email protected]> wrote: > On Thu, Aug 19, 2010 at 03:18:53AM +0930, Brendan Trotter wrote: >> Um, what? > > Well at least update-grub reads from /etc to generate the final config > (which is still /boot/grub/grub.cfg, so it does go in /boot, but since > it is generated (at least on my debian system), I don't consider it > config anymore). > >> Imagine you've got 3 OSs: Hiaku, FreeDOS and ReactOS. Given that none >> of these OSs normally have an "/etc" directory, which "/etc" should be >> used to store GRUB's configuration? > > Well whichever one is responsible for generating the grub.cfg could > store the files wherever is normal on that OS. > >> Perhaps you're saying that GRUB should be useless for anything that >> isn't a Unix clone. In that case, imagine you've got 3 Unix clones. Of >> course all of them want to automatically update their boot loader's >> configuration when their kernel is updated, and they can't all share >> the same "/etc". Does the user nominate one Unix clone as "working" >> and let the other 2 OSs fail? > > I honestly don't personally care at all about any OS that isn't a unix > clone anymore. Fortunately, I am only a grub user and not one of the > developers. They seem to care.
You missed my point - it doesn't work for Unix clones either. You could even have 2 copies of the exact same OS (something like Ubuntu) installed on the same computer (in different partitions), and it fails because both copies of the OS can't share the same "/etc". Any changes to "/etc" done by one copy won't be seen by the other copy. >> Using a separate partition for "/boot" that contains GRUB's >> configuration for all OSs worked (at least in theory) because all OSs >> that are installed could mount that partition without conflicts (as >> long as you use a file system that all OSs understand). > > grub2 certainly has no issue with that. The default is to use grub.cfg > in the /boot/grub directory. > >> I was talking about boot managers, not boot loaders. > > Why should there be a difference? A few sayings come to mind: - "Write programs that do one thing and do it well" ( http://en.wikipedia.org/wiki/Unix_philosophy ) - "jack of all trades" ( http://en.wikipedia.org/wiki/Jack_of_all_trades,_master_of_none ) A boot manager can be very simple to install and very simple to configure. You should probably take a look at a few (I created a list including URLs earlier). A few of them even claimed to have "single click configuration" because they automatically detect installed OSs. A pure boot loader (something without "boot manager" features, that is designed specifically for one OS only) typically needs a single command to install and doesn't need any configuration. >> Conceptually you have a boot manager (to select which OS to boot) that >> doesn't really need to care about any of the details for any >> particular OS; plus a boot loader for each OS which is designed >> specifically for that OS (and doesn't really need to care about other >> file systems, etc). The difference between them often gets blurred >> because feature creep is tempting (for example, a lot of the boot >> managers I looked at earlier had features for creating/removing >> partitions, even though this is normally done using separate utilities >> designed for the purpose, like fdisk, parted, etc; and a lot of boot >> loaders are probably able to chainload). >> >> GRUB is different in that it's intended to be a boot manager and a >> boot loader for many OSs (and isn't primarily intended for a single >> role); and I'd guess that is the reason it has to be too complex to be >> "user friendly" for any specific role. > > Almost every x86 boot loader for linux has also been a boot manager > (through chainloading if nothing else). Even the ntldr can do that. It > seems to me that a boot manager is a stripped down boot loader that > doens't do very much. Seems like a completely useless piece of software > to me. I don't get it. SYSLINUX is a collection of pure boot loaders. ELILO is a pure boot loader too. In the old days so was loadlin. If I remember correctly, early versions of Linux also had a boot loader built directly into the kernel (but I think that was only for booting from floppies). GRUB, LILO, SILO and PALO are a mixture. I can't think of any other Linux loaders. Cheers, Brendan _______________________________________________ Grub-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/grub-devel
