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