I'm in the process of loading the ext3 kernel onto a laptop. My first step
was to install the 10-31-2000 kernel build. This is what I got:
[root@laptop /root]# rpm -i kernel-2.2.17-6.i586.rpm
depmod: depmod.c:575: addksyms: Assertion `n_syms < 10000' failed.
var/tmp/rpm-tmp.80957: line 5: 1017 Aborted (core dumped)
depmod -a -i -m /boot/System.map-2.2.17-6 2.2.17-6
The kernel RPM did install, but depmod failed. This was the depmod from
the 7.0 modutils-2.3.14-3. I manually upgraded modutils next, then I took
a look at rpm -q --scripts kernel-2.2.17-6, and picked up where it left
[root@laptop /boot]# depmod -a -i -m /boot/System.map-2.2.17-6 2.2.17-6
depmod: not an ELF file
This appears to be a spurious message, because depmod did exit with 0.
There does not appear to be anything else remaining in the script that I
care about. I do not have conf.modules, and I do not have any scsi
adapters on this laptop.
This is still an upgrade issue, though. When upgrading from 2.2.16, it
looks like it is necessary to upgrade modutils first, before kernel.
I straced depmod, trying to pick up where that spurious message comes from, this
is what I got:
open("/lib/modules/2.2.17-6/.rhkmvtag", O_RDONLY) = 4
lseek(4, 0, SEEK_SET) = 0
read(4, "Linux version 2.2.17-6 (root@por"..., 52) = 52
write(2, "depmod: ", 8) = 8
write(2, "not an ELF file", 15) = 15
write(2, "\n", 1) = 1
Does depmod think that .rhkmvtag is a module???
You need a more recent modutils, indeed. I'm using 2.3.11-1 on 6.2 and 2.3.17-3
The "depmod: not an ELF file" is a warning that you can safely ignore, and has
to do with the way depmod deals with the various files recent kernels leave in
/lib/modules rather than ext3 itself.
Unfortunately I can't do a dependency on modutils in the kernel RPM, because the
existing modutils don't always supply an appropriately versioned "provides"
symbol to key on.
Assigned to our brave kernel builder, who knows far more than I about what
tricks RPM can play to make sure that we have modutils running correctly.
Is this still a problem?