[vox-tech] Grub question
Mike Simons
vox-tech@lists.lugod.org
Wed, 26 Feb 2003 12:25:45 -0500
On Wed, Feb 26, 2003 at 01:29:16AM -0800, Ryan wrote:
> I kept getting errors during the boot up, some of which included "no
> ext3 support"
yes you need to compile in ext3 into the kernel, not a module.
(unless you have the right modules in your initial ram disk (initrd),
you should be able to do something fancy, and not have ext compiled in)
> title Red Hat Linux (2.4.18-24.7.x)
> root (hd0,0)
> kernel /boot/vmlinuz-2.4.18-24.7.x ro root=/dev/hda1
> initrd /boot/initrd-2.4.18-24.7.x.img
>
> I want to add my new kernel /boot/bzImage
> I was wondering what the last line with the initrd does. I couldn't find
> anywhere online that was particularly useful about what this does.
I've not created a initrd before, but it's basically a root filesystem
that gets mounted before your _real_ root filesystem to supply modules
and other special boot time support for lots of different hardware...
shortly after the initrd is mounted and some things from it are loaded
it gets replaced as '/' by whatever your read root partition is, and
bootup continues from there.
I've not made my own initrd before... only used the ones supplied
by install disks. Since they often are full of boot time critical
kernel modules I think that a new disk image needs to be built to
match any newer kernel (e.g. you would not use a 2.4.18 initrd with a
2.4.20 kernel).
> title Red Hat Linux (mine)
> root (hd0,0)
> kernel /boot/bzImage ro root=/dev/hda1
If you get the right things compiled into your bzImage that should
work. Keep in mind that you should rename /boot/bzImage to something
more descriptive like:
/boot/vmlinuz-2.4.20
there are a few advantages:
- when you upgrade to the next kernel and copy it into /boot
you won't wipe out the one you are running.
- if you try to troubleshoot some problem months later you'll know
which versions you have available for boot.
also, if you use something like EXTRAVERSION=-foo when compiling the
kernel and modules, you'll be able to have multiple copies of 2.4.20
around, without using that flag when you make modules_install a different
configuration of 2.4.20 those modules will overwrite your existing
modules, if you turned off module support for some things the old
files will not be removed and if you changed some important options
like non-SMP to SMP, the new modules will not work with the previous
kernel.
it can be a mess compiling two editions of the same kernel version
without using EXTRAVERSION...
TTFN,
Mike