Problem with kernel build

Ken Moffat ken at kenmoffat.uklinux.net
Mon Feb 9 03:17:52 PST 2004


On Sun, 8 Feb 2004, J.Paul Rinehimer wrote:

> On Sun, 08 Feb 2004 22:35:14 +0000, Ken Moffat wrote:
> >
> >  So, you have enabled the kernel to load modules, and you have run `make
> > modules_install'.  But did you select anything as a module in your
> > config ?  My guess is you didn't, so trying to install non-existent
> > modules is bound to fail.  If I'm wrong with this guess, can you see
> > your modules in your build tree, and in /lib/modules/... ?
>
> I selected a number of modules actually, can't remember what they were off
> the top of my head (driver for 3com card, vfat, bunch of others).  Because
> the error occurs durning the modules_post phase of the install, they're
> residing in /lib/modules/..., so they have been moved into the correct
> directory and installed.
>

So, I guessed wrong.  This is weird.  Doesn't sound like a permissions
problem, the file was created, just didn't have any data.

System.map is created as a side-effect of creating vmlinux.  I don't
pretend to understand the command that does this, but I suggest you try
rerunning it: you have plenty of space, so

(i) cp -a linux-2.4.24 linux-2.4.24.orig
(backup under a different name, but you're best to work in the original
name)

(ii) cd linux-2.4.24 ; rm vmlinux ; rm System.map

(iii) make vmlinux >logfile 2>&1

Hopefully that won't take long, all the object files should already be
there.  Does it give you a non-empty System.map ?  If it does, retry
make modules_install.  If that succeeds, problem gone, no explanation.

If System.map is empty, look at the logfile and search for System.map
within to find any error messages.

>
> >  BTW, I think an empty modules.conf won't do what you've said.  For some
> > modules, the kernel knows what to look for (e.g. filesystems) and may
> > find them from modules.dep.  In any case, if a module was correctly
> > built and modules.dep knows about it, I would not be surprised if trying
> > to manually modprobe it succeeded.
> >
> > Ken
>
> Also, modules.dep does not exist. This is created with depmod, right? That
> would make sense b/c depmod is not properly executing during the make:
>

Yes

> (from Makefile for Linux-2.4.24)
> _modinst_post: _modinst_post_pcmcia
> 	if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts)
> 	$(KERNELRELEASE); fiif [ -r System.map ]; then $(DEPMOD) -ae -F
> 	System.map $(depmod_opts)
>
> Depmod runs because the file exists, but fails because System.map has no
> data.  If I patched this portion of the makefile to read from /proc/ksyms
> (within the chroot'd environment) would it work properly? I can't just get
> rid of the -F flag b/c the running kernel is a different version than the
> one being compiled.  Would /proc/ksyms be the appropriate set of symbols,
> or would it just be a copy from the host?
>
 Everything in /proc is the currently running kernel.

> I tried booting the system and it worked, except for an error about
> modules.dep not being around.  I didn't try loading any modules though.
>
> jpr
>

Ken
-- 
Brighton tops UK Jedi league
http://www.theregister.co.uk/content/28/35186.html




More information about the lfs-support mailing list