Trouble

Please provide Module.symvers

10 7949
maxwell  
Hello,
could someone from the Lemaker team, probably Tony, please provide the Module.symvers file matching the available BPi images?

I am cross compiling out of tree modules (with .config from BPi) while using the original kernel from the BPi and always get "format exec errors" when I modprobe those modules (yes, I can force them, but I don't like that). With a cross compiled kernel I don't get the error, fine, but I don't want to coompile my own kernel just to use some out of tree modules, I would like to keep running the shipped kernel.

And as far as I can see, the missing original Module.symvers could make everything work.

Please provide the file. Thanks.

Cheers
Maxwell
Reply 1# maxwell

Module.symvers.tar.gz (145.43 KB, Downloads: 494)

This is for all latest images.

maxwell  
Thank you very much for providing the file! Highly appreciated.

Best regards
Maxwell

Please pay attention that, the file is for all latest images. For example , Lubuntu 3.1.1

maxwell  
Yes, of course. My setup will be a fresh install on the BPi with Lubuntu 3.1.1 and a fresh git of Linux sources and so on. Results probably today.

maxwell  
Post Last Edited by maxwell at 2014-8-12 07:56

Ok, Module.symvers didn't help with the format exec error, sadly. I can make those modules work easily when forcing them or using the cross compiled kernel, its modules plus the cross compiled DVB modules.

Yes, you can say, just use the whole cross compiled stuff then. But I hoped to make it work without a cross compiled kernel, like compiling those damn to compile DVB modules and share them with others, without needing them to force the modules or use a whole new kernel and so on.

I will post my way of compiling from the beginning. Maybe you can spot the problem.

Compiling System: VM in Virtualbox, Lubuntu 14.04.1 32 bit
Target System: BPi with Lubuntu image 3.1.1

Kompiling Kernel:

  1. mkdir somedir
  2. cd /somedir
  3. git clone https://github.com/LeMaker/linux-bananapi.git
  4. cd /somedir/linux-bananapi

  5. //I don't want localversion to be set, I just rename the .git folder
  6. mv .git dot_git

  7. //See if localversion is really not set. If output is blank, it is fine
  8. scripts/setlocalversion

  9. //Extract the .config (which I put in "somedir" before) from my running BPi into the linux-bananapi folder
  10. zcat ../config.gz  > .config

  11. //Do not set default kernel configuration like in the wiki. We want the config from our running BPi
  12. // So do not do: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun7i_defconfig

  13. //Tweak config if you want, but we don't want. You can check if settings are correctly loaded though.
  14. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

  15. //Did read on the net to do prepare_modules
  16. ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_prepare

  17. //Building uImage and modules:
  18. ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j5 uImage
  19. ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j5 modules

  20. //Overwriting newly created Module.symvers with supplied one from Tony
  21. //I tested both ways, using the created one to compile DVB modules against it and Tony's one.
  22. //No difference it ssems.
Copy the Code
Kernel stuff is built, we can compile DVB modules now and point to "linux-banapi" now

  1. //Changing to directory with derivate from Technotrend of media_build (pretty similar to the normal thing from linuxtv.org)
  2. cd /media_build-bst

  3. //start fresh
  4. make clean

  5. //copy sit2.o into v4l dir. That's the precompiled closed source driver from Technotrend.
  6. cp ../sit2.o ./v4l

  7. //Removing the originila .myconfig with my own, because 2 modules just cannot compile for ARM.
  8. rm ./v4l/.myconfig
  9. cp ./.myconfig ./v4l/.myconfig

  10. //Make release and point to the linux sources
  11. ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- DIR=/somedir/linux-bananapi/ make release
  12. //Compile modules
  13. ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH=/home/pi/compile/bpi/output/ make -j5
Copy the Code
Now I tar the "media_build-bst" folder and transfer it to the BPi.
Untar on BPi and change to that extracted directory.
Let's install those modules. It includes demod aneverything. Runs totally clean.
  1. sudo make install
Copy the Code
That's it.

After that, those new modules can only be forced to work. Otherwise I get "format exec error".
If I put cross compiled uImage on BPi, error for new modules are gone, the old ones throw that error now.
If I put cross compiled uImage on BPi and cross compiled modules from Kernel (install with "make install") AND do "make install" with new modules, everything works.

That's the situation. If you have any suggestions, ideas, comments, please respond, thank you.

Maxwell

yy5000  
thanks  ,hahaha

hjoe  
yy5000 replied at Sun Nov 16, 2014 03:13
thanks  ,hahaha

May be Lemaker can pack the Module.symvers file always with the OS image?
Regards.

selqcir  
Hello.

Is it possible to have the latest Module.symvers for the Bananian (Updated : 2015-01-11) ?

Thanks.

You have to log in before you can reply Login | Sign Up

Points Rules