Nowe posty

xx postfix otrzymane emaile from z mojej domeny (1)
Dzisiaj o 13:27:39
xx Prawy przycisk myszy - > Nowy plik (4)
Wczoraj o 21:35:55
xx Konto root i crontab backupu (2)
2019-11-13, 22:51:23
xx Najlepsze gry na Androida według Was (3)
2019-11-13, 14:04:31
xx jak w C++ robić operacje na pieniądzach (7)
2019-11-13, 14:00:35
xx [C++] Do czego potrzebny jest czas kompilacji (1)
2019-11-13, 13:57:53
xx chrome - urządzenie audio (4)
2019-11-10, 12:33:43
xx PORADNIK ! [Poszukiwanie bledow] (1)
2019-11-09, 17:54:50
xx debian 10, problem z instalacją MySQLa (8)
2019-11-08, 21:55:38
xx Wynik skryptu do txt (3)
2019-11-08, 12:41:55

Autor Wątek: Kompilacja jądra z biblioteką statyczną.  (Przeczytany 115 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
Kompilacja jądra z biblioteką statyczną.
« dnia: 2019-10-23, 11:53:01 »
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ć.