Mark David Dumlao <madum...@gmail.com> wrote:

> > > > the disk... OOPS.  This is a classic "chicken and egg" situation.
> > >
> > > On Solaris no problem with loadable modules - everything is
> > > dynamically loaded.  ***YOU NEED A GRUB THAT UNDERSTANDS ZFS AND THAT
> > > GIVES A ZFS INTERFACE TO THE KERNEL TO USE BEFORE ZFS WAS LOADED***.
>
> I'm confused as to what this means. Grub reads a filesystem, loads a kernel
> with options, and may give it an initrd. What happens from then on is none
> of grub's business. The filesystem it reads from and the one the kernel
> uses may be completely unrelated - this is why we have /boot filesystems.
>
> At what point does grub "present a zfs interface for the kernel to use"?

After it booted the kernel

You may not know dynamic kernels as Linux is a static kernel that just may load 
additional modules _after_ it mounted the root fs.

Solaris is dynamic from the beginning:

-       no static loading at all

-       no predefined data sizes - everything is allocated

-       no predefined major device numbers - numbers are assigned at first load

Grub works this way:

1)      It loads /platform/i86pc/kernel/$ISADIR/unix

2)      It checks the file "unix" and sees ELF dependencies.

        It loads the ELF dependencies (genunix and dtracestubs) listed
        in the ELF headers from "unix".

3)      It loads /platform/i86pc/$ISADIR/boot_archive

The Kernel then uses the filesystem callbacks in grub to load modules from the 
filesystem in the boot archive.

After the kernel did mount the root filesystem, it switches to the normal 
kernel drivers just loaded and frees the memory space used by grub before.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       j...@cs.tu-berlin.de                (uni)  
       joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

Reply via email to