Nowe posty

xx Iptables podział łącza (1)
Dzisiaj o 18:05:09
xx Libreboot i 100% libre dystrybucja (2)
Dzisiaj o 17:07:34
xx Libreboot i 100% libre dystrybucja (0)
Dzisiaj o 13:41:04
xx Swap w serwerach http (1)
Wczoraj o 18:50:33
xx Czy mój ls to malware, czy nie malware (15)
Wczoraj o 12:24:59
xx Linux mint na Panasonic CF-53 (5)
2019-11-20, 12:56:05
xx Problem z uruchomieniem Kali Linux! (9)
2019-11-18, 22:40:25
xx postfix otrzymane emaile from z mojej domeny (2)
2019-11-18, 07:59:13
xx Zmiana części pliku tekstowego (sed?) (5)
2019-11-17, 16:31:07
xx Prawy przycisk myszy - > Nowy plik (4)
2019-11-14, 21:35:55

Autor Wątek: Kompilacja jądra z biblioteką statyczną.  (Przeczytany 118 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ć.