Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

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

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 3
    • 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ć.