kernel upgrade problems

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: der.hans
Date:  
Subject: kernel upgrade problems
Am 18. Mar, 2002 schwätzte Craig S. so:

I think there's a 'make install' that does the following for you.

> the book says to do the following:
> mv /vmlinuz /vmlinuz.old
> cat arch/i386/boot/bzImage > /vmlinuz


Why cat rather than cp?

> mv /boot/System.map /boot/System.map.old
> cp System.map /boot/System.map


Use 'cp -p' to preserve time stamps. It helps you verify the two files are
the same without having to do checksums on them.

> What I did:
> cat arch/i386/boot/bzImage > /2.4.18
> mv /boot/System.map /boot/System.map.old
> cp System.map /boot/System.map


'make install', I believe, moves /vmlinuz to /vmlinuz.old and copies the new
kernel to /vmlinuz. It also takes care of System.map and maybe some other
stuff. Then you just have to make sure lilo is setup properly. Lilo will
boot the first kernel described, but you can override that with the
'default' directive. When you run lilo the default boot kernel will have an
asterix ( * ) after it.

> When I ran modprobe I got the following error:
>
> can't open dependencies file /lib/modules/2.4.18/modules.dep (no such
> file or directory).


Use 'depmod -a'. From the depmod man page:

       The normal use of depmod is to include the line


       /sbin/depmod -a


       somewhere  in  the rc-files in /etc/rc.d, so that the cor­
       rect module dependencies  will  be  available  immediately
       after  booting the system.  Note that the option -a is now
       optional.  For boot-up purposes, the option  -q  might  be
       more  appropriate  since  that  makes  depmod silent about
       unresolved symbols.


I presume, though, that slack does that, so maybe your /lib/modules/2.4.18
directory doesn't exist. See below for further info about it probably not
existing.

> When I read the modules howto it says that when running make modules
> that a directory called /usr/src/linux/modules is created and the kernel
> modules are placed in it. This directory is not present and doesn't show
> up when I run make modules in /usr/src/linux.


You need to either run 'make modules_install' or copy the modules to
/lib/modules/<kernel_version> by hand. The modules_install target is what
builds that directory.

If you use EXTRA_VERSION ( or something like that ), you can keep all of
your kernel builds unique such that your next build of 2.4.18 doesn't stomp
on this build of 2.4.18.

ciao,

der.hans
--
# http://home.pages.de/~lufthans/ http://www.<ThisSpaceAvailable>.com/
# Only wimps use tape backup: _real_ men just upload their important
# stuff on ftp, and let the rest of the world mirror it. -- Linus Torvalds