Upgrading from RH5.2 to kernel 2.2.5

Riley Williams (rhw@MemAlpha.CX)
Thu, 6 May 1999 18:02:49 +0100 (GMT)


Hi Mahesh.

> I am sorry to bother you, but after couple posting to the
> newsgroups, i did not get any replies. hence, i am sending you
> this mail. so please bear with me.

No problem - I help where I can. Since this appears to be a common
problem, I've forwarded my reply to one of the mailing lists I'm on as
well, and I'm sure there's people on there who will correct me if I'm
wrong.

> I have Official RH5.2 with 2.0.36 Kernel installed on my PC. All
> Scsi devices, cdrom and 4gig, dual pentiums, 64mb ram and 3com
> nic. It works well. The motherboard DK440LX Intel board, with
> AIC7895 scsi built in.

I'm assuming you're using the kernel supplied on the RH5.2 cd itself,
which is unfortunately a pre-release kernel. For this reason, I'll
suggest you first upgrade to the 2.0.36-3 kernel rpm by downloading
the following files:

kernel-2.0.36-3.i386.rpm
kernel-headers-2.0.36-3.i386.rpm
kernel-ibcs-2.0.36-3.i386.rpm
kernel-pcmcia-cs-2.0.36-3.i386.rpm
kernel-source-2.0.36-3.i386.rpm

When you've done so, and are still in the same directory they're in,
type the following lines:

Q> KNL=''
Q> for RPM in `rpm -qa | grep ^kernel` ; do \
Q> ME=`rpm -qp --queryformat '%{NAME}' ${RPM}` ; \
Q> KNL="${KNL} ${ME}-2.0.36-3.i386.rpm" ; \
Q> done
Q> rpm -Uvh ${KNL}

This will upgrade all currently installed kernel rpm's to the version
specified without installing any new ones.

> Recently I download 2.2.5 tarball. These are the following
> things that I did. I untared this file in /usr/src/linux-2.2.5.

Presumably 2.2.5 was the latest when you downloaded it, but I would
recommend going straight to 2.2.7 now. However, assuming you remain
with 2.2.5 instead...

> make xconfig (save and exit, i am assuming that it uses the
> kernel config from 2.0.36 that came with the cd)

Unfortunately, it doesn't, and you need to create the relevant file
using the old sources first. To create the .config file you'll need to
upgrade the kernel, type the following:

Q> cd /usr/src/linux-2.0.36
Q> make oldconfig
Q> cp .config ../linux-2.2.5
Q> cd ../linux-2.2.5
Q> make oldconfig

At this point, you will have the correct .config for the kernel in
question. However, there are known problems with `make xconfig` and it
is not recommended for use with the 2.2 series kernels, so I'd
recommend that you use `make menuconfig` instead at this stage, and
check the following options are set accordingly. These are my
recommendations:

Q> Processor type and features

Make sure the fields herein are set correctly for your system,
especially the "Processor family" field.

Q> Loadable module support

All options under this menu should be selected 'Y' (shows as [*] or
<*> on screen).

Q> Block devices
Q> :
Q> <M> Loopback device support
Q> :

Q> Filesystems

Under "Native Language Support" in that menu, select EVERY option as
<M> if you have the DOS FAT fs support selected, then go back and
select as <*> the codepages relating to your language.

> make dep
> make clean
> make zImage
> make modules
> make modules_install

In my experience, those should be done in a slightly different order,
with `make zImage` last rather than in the middle of the list. Also,
they can all be combined into one command which would then read as
follows:

Q> make dep clean modules modules_install zImage

In theory, that change of order won't make any difference, but I have
met occasions where it appeared to do so, and I've no idea why...

> all these worked very well. here is the problem.
> mkinitrd /boot/initrd-2.2.5.img 2.2.5
> mount: the kernel does not recognize /dev/loop0 as a block device
> (may be `insmod driver`)
> can't get a loopback device.

> i tried depmod -a 2.2.5 even this gave error mesgs, like
> <modulename> unresolved symbol(s)

> i am trying to study the script for instaling modules, but i cannot
> trace the exact steps.

> i ignored the mesgs. cp zImage to /boot/vmlinuz-2.2.5 and
> System.map to /boot/System.map-2.2.5 edited lilo.conf put the
> correct entries, moved the old kernel as backup, so if the new
> kernel does not boot I can to the old one (thank god, for this).
> ln -s System.map System.map-2.2.5 finally ran lilo -v. no
> complaints. but cannot boot into the new kernel, but i am able
> to boot into the old kernel.

> can you help me?

Basically, you've compiled a kernel configured for Linus's machine
rather than your own. Amongst other things, Linus apparently doesn't
use the loopback driver, as his config omits it.

To make sure you have that facility available, follow the instructions
above...

Best wishes from Riley.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/