Portál AbcLinuxu, 13. května 2024 03:48


Dotaz: Kompilácia jediného modulu

12.9.2007 15:41 Peter
Kompilácia jediného modulu
Přečteno: 357×
Odpovědět | Admin
Dobrý deň Vám prajem.

Na servery mám CentOS 5.0 ktorého distribučné jadro ale nepodporuje IPX. Tak som sa ten modul rozhodol skompilovať samotný (kompletná rekompilácia jadra prichádza do úvahy až keď zlyhajú všetky ostatné možnosti).

Zobral som zo zdrojákov jadra (samozrejme zdrojáky prislúchajúce k tomu distribučnému jadru) adresár net/ipx, upravil som Makefile na:
obj-m += ipx.o
ipx-y := af_ipx.o ipx_route.o ipx_proc.o sysctl_net_ipx.o

all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

a spustil som make ktoré síce skompilovalo ipx.ko ale vypľulo to na mňa

bash-3.1# make
make -C /lib/modules/2.6.18-8.el5/build M=/home/temporary/ipx modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.el5-x86_64'
  CC [M]  /home/temporary/ipx/af_ipx.o
  CC [M]  /home/temporary/ipx/ipx_route.o
  CC [M]  /home/temporary/ipx/ipx_proc.o
  CC [M]  /home/temporary/ipx/sysctl_net_ipx.o
  LD [M]  /home/temporary/ipx/ipx.o
  Building modules, stage 2.
  MODPOST
WARNING: "destroy_EII_client" [/home/temporary/ipx/ipx.ko] undefined!
WARNING: "destroy_8023_client" [/home/temporary/ipx/ipx.ko] undefined!
WARNING: "make_8023_client" [/home/temporary/ipx/ipx.ko] undefined!
WARNING: "make_EII_client" [/home/temporary/ipx/ipx.ko] undefined!
  CC      /home/temporary/ipx/ipx.mod.o
  LD [M]  /home/temporary/ipx/ipx.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.el5-x86_64'
bash-3.1#

Potom som ten súbor ipx.ko skopíroval do aktuálneho jadra, zadal depmod -a a pokusil som sa ho natiahnuť, ale:

bash-3.1# /sbin/modprobe ipx
FATAL: Error inserting ipx (/lib/modules/2.6.18-8.el5/extra/ipx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
bash-3.1#

pričom dmesg papuľuje asi takto:

bash-3.1# dmesg
...........
ipx: Unknown symbol make_EII_client
ipx: Unknown symbol make_8023_client
ipx: Unknown symbol destroy_8023_client
ipx: Unknown symbol destroy_EII_client
bash-3.1#

a ja už neviem, že čo s tým ďalej. Komplet kompilovať vlastné jadro (kde by to fungovalo, čo mám overené, odskúšané) fakt nechcem - tak Vás chcem poprosiť - pomôžte ;-)

Vopred veľmi pekne ďakujem.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

stativ avatar 12.9.2007 15:56 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Kompilácia jediného modulu
Odpovědět | | Sbalit | Link | Blokovat | Admin
No, je dost možné, že k běhu potřebuje ještě něco dalšího, osobně bych rovnou kompiloval celé jádro. Rozhodně jste ale zapomněl na depmod -a
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
12.9.2007 16:01 Peter
Rozbalit Rozbalit vše Re: Kompilácia jediného modulu
Rozhodně jste ale zapomněl na depmod -a
Nezabudol: Potom som ten súbor ipx.ko skopíroval do aktuálneho jadra, zadal depmod -a a pokusil som sa ho natiahnuť, ...
No, je dost možné, že k běhu potřebuje ještě něco dalšího, osobně bych rovnou kompiloval celé jádro.
No - ja viem, že mu asi niečo chýba - ale nedá sa nejako zistiť, že čo? Ja vážne nechcem kompilovať vlastné jadro ak existuje hocijaká iná možnosť ako skompilovať výlučne ten modul.
stativ avatar 12.9.2007 16:50 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Kompilácia jediného modulu
Potom som ten súbor ipx.ko skopíroval do aktuálneho jadra, zadal depmod -a a pokusil som sa ho natiahnuť

Pardon, toho jsem si nevšiml

Tak asi nejschůdnější cesta bude použít konfiguraci současného jádra, pomocí make {,menu,x}config nastavit navíc kompilaci modulu a pak pomocí make modules zkompilovat jenom moduly.

Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
12.9.2007 17:09 xxl | skóre: 25
Rozbalit Rozbalit vše Re: Kompilácia jediného modulu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co takhle ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.