Rob Hudson wrote:

> #boot=/dev/hda
> default=0
> timeout=10
> splashimage=(hd0,0)/grub/splash.xpm.gz
> title Red Hat Linux (2.4.21)
>         root (hd0,0)
>         kernel /vmlinuz ro root=LABEL=/1
> title Red Hat Linux (2.4.20-18.9)
>         root (hd0,0)
>         kernel /vmlinuz-2.4.20-18.9 ro root=LABEL=/1
>         initrd /initrd-2.4.20-18.9.img
> 
> 
> It dies when it tries to mount root.  I wasn't sure what that
> 'root=LABEL=/1' thing was, so I left it.

There may be a patch or special config setting needed (I don't know
for sure) to enable booting by label.  Try replacing root=LABEL=/1
with root=/dev/hda3 or whatever.

> Also, remind me what initrd does?  Do I need it?  How do you make one?

Initrd is short for initial ram disk.  It is a ram disk image that the
boot loader loads into memory with the kernel.  If your distro
uses initrd, then you should too, because it's hard to second-guess
what their config files do.

To enable initrd, set CONFIG_BLK_DEV_INITRD in your kernel config.  Go
to the Block Devices page and enable "RAM disk support" and "Initial
RAM disk (initrd) support".

Then, after building your kernel, type this.

        mkinitrd -f /boot/initrd-2.4.21-rob.img

I've attached a shell script, makekern, that I use to build and
install new kernels for RedHat 7.2.  I recently used it to install
2.4.21, so it might be somewhat relevant.

-- 
Bob Miller                              K<bob>
kbobsoft software consulting
http://kbobsoft.com                     [EMAIL PROTECTED]
#!/bin/sh -ex

do_config=false
do_clean=false
do_dep=false
do_install=true
kerndir=-undefined-

for arg
do
    case "$arg" in
    --no-install)       do_install=false;;
    --config)           do_config=true; do_dep=true;;
    --clean)            do_clean=true; do_dep=true;;
    --dep)              do_dep=true;;
    -*)                 echo "Use: $0 [--flags] [top-directory]" >&2; exit 1;;
    *)                  case "$kerndir" in
                            -undefined-) kerndir="$arg";;
                            *)  echo "Use: $0 [--flags] [top-directory]" >&2
                                exit 1;;
                        esac
    esac
done

case "$kerndir" in
    -undefined-) kerndir="`kerndir`";;
esac

cd "$kerndir"

[ -z "$MK_RECURS" -a -x makekern ] && MK_RECURS=true exec ./makekern ${1+"$@"}

$do_install && sudo -v
$do_config  && make menuconfig
$do_clean   && make clean
$do_dep     && make dep
$do_install && sudo -v
make bzImage
$do_install && sudo -v
make modules

flags="`sed -n 's/^HOSTCFLAGS =//p' Makefile`"

VERSION="`sed -n 's/.*UTS_RELEASE \"\(.*\)\"/\1/p' include/linux/version.h`"
moddir="/lib/modules/$VERSION"

if $do_install
then
    if $do_clean
    then
        sudo rm -f  /boot/vmlinux-"$VERSION"
        sudo rm -f  /boot/vmlinuz-"$VERSION"
        sudo rm -f  /boot/System.map-"$VERSION"
        sudo rm -f  /boot/config-"$VERSION"
        sudo rm -f  /boot/initrd-"$VERSION".img
        sudo rm -rf /lib/modules/"$VERSION"
    fi
    sudo make modules_install
    sudo cp vmlinux                /boot/vmlinux-"$VERSION"
    sudo chmod 644                 /boot/vmlinux-"$VERSION"
    sudo cp arch/i386/boot/bzImage /boot/vmlinuz-"$VERSION"
    sudo chmod 644                 /boot/vmlinuz-"$VERSION"
    sudo cp System.map             /boot/System.map-"$VERSION"
    sudo chmod 644                 /boot/System.map-"$VERSION"
    sudo cp .config                /boot/config-"$VERSION"
    sudo chmod 644                 /boot/config-"$VERSION"
    sudo mkinitrd               -f /boot/initrd-"$VERSION".img "$VERSION"
    sudo chmod 644                 /boot/initrd-"$VERSION".img
    sudo depmod -a -F /boot/System.map-"$VERSION" "$VERSION"
    # GRUB!  sudo lilo
fi
#!/usr/bin/perl -- # -*-perl-*-

    chop($_ = `pwd`);
    while (! -e "$_/MAINTAINERS") {
        if (! s|/[^/]*$||) {
            $_ = "/usr/src/linux";
            last;
        }
    }
    print "$_\n";
_______________________________________________
EuG-LUG mailing list
[EMAIL PROTECTED]
http://mailman.efn.org/cgi-bin/listinfo/eug-lug

Reply via email to