Description of problem:
I'm trying to compile an external module (v4l-dvb to be exact) on my ps3. The
module compiles, but does not load, because of the .config (provided with
kernel-devel) mismatch, which is configured for ppc32/non smp. Even copying
the /boot/config-... into the kernel source, doing make oldconfig, make
modules_prepare does not solve the problem.
Version-Release number of selected component (if applicable):
Current kernel is kernel-2.6.21-1.3228.fc7. I have installed
kernel-devel-2.6.21-1.3228.fc7. uname -a gives "Linux localhost
2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 14:37:12 EDT 2007 ppc64 ppc64 ppc64
try to compile an external module, e.g. from
Steps to Reproduce:
1. get a ppc64 machine with 64-bit kernel installed, userspace is 32-bit.
2. get the v4l-dvb tree from http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2
and unpack it.
3. cd to the build directory and fire make; make install; modprobe mt2060
modprobe mt2060 gives:
FATAL: Error inserting mt2060
Invalid module format
and modinfo -F vermagic mt2060
(neither smp nor ppc64)
using the supplied config in /boot/config-2.6.21-1.3228.fc7 cause the same
modprobe error and modinfo gives
2.6.21-1.3228.fc7 SMP mod_unload
file v4l/mt2060.ko gives
v4l/mt2060.ko: ELF 64-bit MSB relocatable, 64-bit PowerPC or cisco 7500,
version 1 (SYSV), not stripped
load the module
this should work out of the box. At least with the config found
I don't have a clue how to build kernel modules on a PS3. Adding David Woodhouse
to the cc:, maybe he can help.
There's absolutely nothing special about building kernel modules on the PS3. As
always, you need to make sure you have the right kernel-devel package installed.
Sounds like you have the ppc.rpm installed, not ppc64.rpm.
yes you are right. IMHO this should be automatical choosen. I installed the
ppc64 package manually and the module loads. Is there a way to tell yum about
the ppc64 repo? Why is this not choosen automatically?
I have also encountered this while trying to build DRM modules on ppc64. The
problem seems to be that there is no kernel-devel.ppc64 package. I replaced
/usr/src/kernels/$(uname -r)/.config with a symlink to /boot/config-$(uname -r)
and I can build.
I'd swear that this worked out-of-the box on FC6.
Just to be clear, I'm on a vanilla PowerMac G5, not a PS3, pSeries, or anything
else out of the ordinary.
Hmm...I take that back. My build still didn't work. After doing a little more
poking around, I found that there is a kernel-devel.ppc64 package, but, for
reasons I can't fathom, it's a different repo than all the rest of the ppc
pages. In fact, it's in a non $basearch repo. Whose genius idea was *that*?!?
To respond to comment #3:
Add the following to /etc/yum.repos.d/fedora-updates.repo:
name=Fedora $releasever - $basearch - Updates64
After discussing with dwmw2 on IRC, he mentioned this bug should be re-filed
against distribution. kernel-devel.ppc64 should be available via yum
repository, presently this is still not available when you do a `yum search
kernel-devel`. Any ETA on when this will be fixed?
argh. I fscking hate ppc(64) crap like this. Looking into fixing the multilib
Actually, looking at the mash code, it seems it would select both
kernel-devel.ppc32 and kernel-devel.ppc64 to be multilib. sending in
Should be fixed in mash-0.2.2. Will see about backporting to F-7.
mash-0.1.18-2.fc7 has been pushed to the Fedora 7 testing repository. If problems still persist, please make note of it in this bug report.
Should be fixed for updates now.
mash-0.1.18-2.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.