1 |
Mark David Dumlao <madumlao@×××××.com> wrote: |
2 |
|
3 |
> > > > the disk... OOPS. This is a classic "chicken and egg" situation. |
4 |
> > > |
5 |
> > > On Solaris no problem with loadable modules - everything is |
6 |
> > > dynamically loaded. ***YOU NEED A GRUB THAT UNDERSTANDS ZFS AND THAT |
7 |
> > > GIVES A ZFS INTERFACE TO THE KERNEL TO USE BEFORE ZFS WAS LOADED***. |
8 |
> |
9 |
> I'm confused as to what this means. Grub reads a filesystem, loads a kernel |
10 |
> with options, and may give it an initrd. What happens from then on is none |
11 |
> of grub's business. The filesystem it reads from and the one the kernel |
12 |
> uses may be completely unrelated - this is why we have /boot filesystems. |
13 |
> |
14 |
> At what point does grub "present a zfs interface for the kernel to use"? |
15 |
|
16 |
After it booted the kernel |
17 |
|
18 |
You may not know dynamic kernels as Linux is a static kernel that just may load |
19 |
additional modules _after_ it mounted the root fs. |
20 |
|
21 |
Solaris is dynamic from the beginning: |
22 |
|
23 |
- no static loading at all |
24 |
|
25 |
- no predefined data sizes - everything is allocated |
26 |
|
27 |
- no predefined major device numbers - numbers are assigned at first load |
28 |
|
29 |
Grub works this way: |
30 |
|
31 |
1) It loads /platform/i86pc/kernel/$ISADIR/unix |
32 |
|
33 |
2) It checks the file "unix" and sees ELF dependencies. |
34 |
|
35 |
It loads the ELF dependencies (genunix and dtracestubs) listed |
36 |
in the ELF headers from "unix". |
37 |
|
38 |
3) It loads /platform/i86pc/$ISADIR/boot_archive |
39 |
|
40 |
The Kernel then uses the filesystem callbacks in grub to load modules from the |
41 |
filesystem in the boot archive. |
42 |
|
43 |
After the kernel did mount the root filesystem, it switches to the normal |
44 |
kernel drivers just loaded and frees the memory space used by grub before. |
45 |
|
46 |
Jörg |
47 |
|
48 |
-- |
49 |
EMail:joerg@××××××××××××××××××××××××.de (home) Jörg Schilling D-13353 Berlin |
50 |
js@××××××××××××.de (uni) |
51 |
joerg.schilling@××××××××××××××××.de (work) Blog: http://schily.blogspot.com/ |
52 |
URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily |