Vesa Jääskeläinen wrote: > It is true that code is withing grub's i386 kernel. But other than that > same mechanism can be used to load kernel. After all kernel will take > over the computer after it has started and it is not returning back > anymore (eg. stack is not anymore there to be restored). > In this case my rmkern helper can use this mechanism but the problem is then that the rmkern should be able to choose where to put RM helper since some OS need specific places in memory to be filled with specific values > I would prefer that if we are going to give custom register > configurations for kernel then they all should use same structures for > storing registers. > > But anyway... Did you have some good examples where this functionaly > would be needed :) ? For now we have specialized loaders that prepare > system for any special OSes that needs to be supported. Especially how > do you know what registers to fill or better yet, how user will provide > this information so OS can be loaded. I thought that this function can be used as general helper for any kernel that needs to be launched in RM. In that cases RMkern functionality is used by OS-specific wrapper which knows what to put in the registers Usage cases: 1) chainloader 2) zbeos: BeOS and haiku. BeOS has a good functionality for booting from loopback but for this you need floppy, windows 9x/me or dos. On my laptop I have neither. But zbeos (BeOS and Haiku middle-loader) is really easy to load. 3) ecomstation: eCS is able to load from JFS but needs a specialized loader to be installed on its own primary active partition. I think GRUB should be able to load it directly. But perhaps also exporting of GRUB functions to ecomstation is needed (this is discussed in another thread, I'll write there later) 4) DOS/Win9x and freedos. Especially the second one. They use extended chainloader functionality found in grub4dos. With rmkern loading freedos kernel should be really easy. 5) Loading winnt (ntldr) and winvista (bootmgr) 6) Many other different proprietary and free OS. I don't know enough about them to say that this or that one can benefit from it but suppose many OS can be booted easier and more reliable with this functionality. 7) rmkern command. Experienced users, hobbysts and OS-developpers can enter manually the state in which they want their kernel to be loaded. May be handy also for reverse engineering > > If there is a need for specialized loader please provide some details > where those are needed and what is required from GRUB in order to > support that. If there is possibility to use multiboot then that would > supersede need for specialized loader. Some OS have their reasons not to support multiboot. E.g. haiku and freedos stick very near to their goal of reimplementation beos/dos and as such they don't want anything that would be better
Vladimir 'phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel