Skocz do zawartości
Karol Murawski

Kompilacja modułu kernela z biblioteką statyczną

Rekomendowane odpowiedzi

Witajcie.

 

Mam taki problem być może błachy ale niestety nie potrafię poradzić sobie z nim.

Przeszukałem już chyba cały internet ale niestety nie znalazłem rozwiązania swojego problemu.

 

Otóż przygotowuje kernel na urządzenie embeded. Do tej pory jądro mi się kompilowało bez żadnego problemu aż do momentu patcha.

 

Otóż patch aktualizuje jeden z driverów a do Makefile dorzuca bibliotekę statyczną o rozszerzeniu .a

 

Niestety podczas kompilacji otrzymuje błąd.

 

A teraz ze więcej.

Otóż patch nałożony na plik “/drivers/video/fbdev/mxc/mxc_hdmi.c” uzupełnia kod o odwołania

do dwóch funkcji o nazwie kill_firmiware oraz get_firmware.

 

Patch dodatkowo edytuje plik Makefile dodając tam bibliotekę statyczną.

-obj-$(CONFIG_FB_MXC_HDMI) += mxc_hdmi.o

+obj-$(CONFIG_FB_MXC_HDMI) += mxc_hdmi.o libfw.a

(tj. dopisuje na końcu libfw.a)

 

podczas kompilacji otrzymuje taki komunikat

scripts/Makefile.build:298: target 'drivers/video/fbdev/mxc/libfw.a' doesn't match the target pattern

Building modules, stage 2.

MODPOST 274 modules

ERROR: "kill_firmware" [drivers/video/fbdev/mxc/mxc_hdmi.ko] undefined!

ERROR: "get_firmware" [drivers/video/fbdev/mxc/mxc_hdmi.ko] undefined!

scripts/Makefile.modpost:91: recipe for target '__modpost' failed

make[1]: *** [__modpost] Error 1

Makefile:1205: recipe for target 'modules' failed

 

Plik z biblioteką wgrałem do wspólnego katalogu w którym znajdują się obydwa modyfikowane pliki tj. Makefile oraz driver mxc_hdmi.c.

 

Niestety nie wiem czy dobrze umiejscowiłem plik libfw.a :(. Wiem że jak usunę ten plik to dostaję komunikat, że nie może odnaleźć w ogole pliku z biblioteką. (więc tutaj chyba jest ok)

 

Czy biblioteka libfw.a może nie działać ponieważ jest skompilowana dla innej wersji linux??

Ale ale dla takiej samej architektury. Ba nawet na ten sam procesor.

 

Bardzo proszę o pomoc. :) Ponieważ utknąłem w pracy nad tym problemem i niestety

nie wiem co dalej z tym zrobić.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...