Problem with kernel build
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
(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:
> (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.
Brighton tops UK Jedi league
More information about the lfs-support