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 GNU/Linux" How reproducible: allways try to compile an external module, e.g. from http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2) 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 Actual results: modprobe mt2060 gives: FATAL: Error inserting mt2060 (/lib/modules/2.6.21-1.3228.fc7/kernel/drivers/media/dvb/frontends/mt2060.ko): Invalid module format and modinfo -F vermagic mt2060 2.6.21-1.3228.fc7 mod_unload (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 Expected results: load the module Additional info: this should work out of the box. At least with the config found in /boot/config-...
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: [updates64] name=Fedora $releasever - $basearch - Updates64 #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/ppc64/ mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=ppc64 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
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? Thanks.
argh. I fscking hate ppc(64) crap like this. Looking into fixing the multilib creation tool.
Actually, looking at the mash code, it seems it would select both kernel-devel.ppc32 and kernel-devel.ppc64 to be multilib. sending in reinforcements (notting).
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.