2016-06-20 14 views
5

Próbuję zbudować prosty moduł jądra i uruchomić go na Raspberry Pi. Pobrałem źródła jądra z oficjalnej witryny malin, ale mają nieco inną wersję jądra niż mój raspbian na pokładzie. Czy jest konieczne posiadanie w pełni identycznej wersji jądra na maszynie źródłowej i docelowej, aby uruchomić moduł jądra? Mam to na moim Raspberry PiWersja jądra dla celu i dla modułu

$ uname -a 
Linux raspberrypi 4.4.11+ #888 Mon May 23 20:02:58 BST 2016 armv6l GNU/Linux 

I to o moim module

$ modinfo ./threads.ko 
filename:  /lib/modules/4.4.11+/kernel/mymodules/./threads.ko 
version:  0.0.1 
description: Kernel threads example 
author:   xxxxxx 
license:  GPL 
srcversion:  C906582EC824D2D8DA76BFB 
depends:   
vermagic:  4.4.13+ mod_unload modversions ARMv6 

Jak widać: "4.4.11+" vs "4.4.13 +" ... Dlaczego jestem pytasz? Mam błąd, gdy moduł Wkładka:

$ sudo insmod ./threads.ko 
insmod: ERROR: could not insert module ./threads.ko: Invalid module format 

i nie rozumiem, to jest cenna różnica w ostatnich kilku wersji jądra lub występuje inny problem.

Odpowiedz

5

Is it necessary to have fully identical version of kernel on source and target machine to run kernel module?

Tak.

+0

Dziękujemy! Jak mogę przejść do tej wersji? – artsin

+0

Zrobiłem 'git fetch', następnie' git checkout v4.4.11', ale mam błąd: "error: pathspec" v4.4.11 "nie pasuje do żadnego pliku (ów) znanego z git." – artsin

Powiązane problemy