how to compile driver for Bananian?

13 7174
selqcir replied at Thu Jan 29, 2015 06:56
Hi all.

After long time building modules, "Module.symvers" has been created.


I believe your kernel version is not same as your compiled binary. The current release kernel version is 3.4.104+, but what I got from the repository was 3.4.104 only. The module compiled using 3.4.104 cannot be used on 3.4.104+. it gives "Invalid module format".

You may try to compile a new kernel with the source you got, and then insert your module again.

Thank you for you answer.
Could you explain me the method to compile a new kernel with the source i got ?
Should i go to "/lib/modules/3.4.104+/" and then "make modules" ?


I am not sure what kernel source you have. For me, I follow the topic: ... ht=Howto%3A%2BBuild  to build uImage. The steps in the link will show how to build the kernel.

BPi replied at Tue Jan 27, 2015 20:39

I'm a newbie too. I tried to git clone the source from the same link ( ...


I solved my problem. The current commit of the repository is 3.4.104 kernel.

For 3.4.104+ kernel, it needs to checkout with the previous commit.

After the git clone, I  

cd linux-bananapi
git checkout 927bb45085b36b96b50e977b57d36c43bf0f21a9

After make uImage, I got:

root@bpi:/Start/kernel/linux-bananapi# file arch/arm/boot/uImage
arch/arm/boot/uImage: u-boot legacy uImage, Linux-3.4.104+, Linux/ARM, OS Kernel Image (Not compressed), 4798048 bytes, Fri Jan 30 15:04:41 2015, Load Address: 0x40008000, Entry Point: 0x40008000, Header CRC: 0xE98546CF, Data CRC: 0x4883B660

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

Points Rules