Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: vadimo 18 Ledna 2007, 21:51:01
-
V linuxe nie som (myslím :)) nováčik. Viem si skompilovať jednoduché zdrojáky, ale kompiláciu modulu som ešte nerobil. Potrebujem prekompilovať opatchovaný driver na wifinu, aby mi podporovala packet injection.
Postupoval som takto: Stiahol som si linux-source-2.6.17 a rozbalil som ten tar.gz do /usr/src/ Taktiež mám nainštalované linux-headers a build-essential. Používam Ubuntu 6.10 386. Kompilácia zdrojákov mi funguje.
Výpis z terminálu pri pokuse o kompiláciu:
michal@ubuntu-laptop:/usr/src/linux-source-2.6.17/drivers/net/wireless/bcm43xx$ ls
bcm43xx_debugfs.c bcm43xx_ilt.h bcm43xx_pio.c bcm43xx_wx.c
bcm43xx_debugfs.h bcm43xx_leds.c bcm43xx_pio.h bcm43xx_wx.h
bcm43xx_dma.c bcm43xx_leds.h bcm43xx_power.c bcm43xx_xmit.c
bcm43xx_dma.h bcm43xx_main.c bcm43xx_power.h bcm43xx_xmit.h
bcm43xx_ethtool.c bcm43xx_main.c_ZALOHA bcm43xx_radio.c built-in.o
bcm43xx_ethtool.h bcm43xx_main.h bcm43xx_radio.h Kconfig
bcm43xx.h bcm43xx_phy.c bcm43xx_sysfs.c Makefile
bcm43xx_ilt.c bcm43xx_phy.h bcm43xx_sysfs.h README
michal@ubuntu-laptop:/usr/src/linux-source-2.6.17/drivers/net/wireless/bcm43xx$ make modules
make: *** No rule to make target `modules'. Stop.
michal@ubuntu-laptop:/usr/src/linux-source-2.6.17/drivers/net/wireless/bcm43xx$Viete mi prosím poradiť?
Ešte pridám výpis z /usr/src:
michal@ubuntu-laptop:~$ ls -p /usr/src/
linux-headers-2.6.17-10/ linux-source-2.6.17.tar.bz2
linux-headers-2.6.17-10-generic/ nvidia-kernel-source.tar.gz
linux-source-2.6.17/
michal@ubuntu-laptop:~$
-
Nevim, hadam, nemel byste byt ve strome nahore a spoustet make odtud ? Make dep, make modules.
-
No já vidím na výpisu soubor Makefile takže bude fungovat pouze make.
-
Staci len citat chybove hlasky. Make sa snazi povedat ze v Makefile nie je definovany target modules. Najjednoduchsie sa mi zda otvorit a precitat si README; bude tam navod. Kludne to moze byt make module, make, make install alebo make santa zalezi len na autorovi ako to nazve. V pripade ak by v README neboli instrukcie, da sa pozriet priamo do Makefilu - je to obycajny textovy subor - skript.
-
make modules se musi spoustet z /usr/src/linux/
-
V README je len nejaký ten link a bla bla, nič o kompilácii. Áno funguje to z /usr/src/linux-source-2.6.17/ ale skompiluje to iba zo pár modulov a ten ktorý potrebujem nie. Niekde som sa dočítal, že treba sem do linux-source skopírovať súbor .config z linux-headers. Potom to fungovalo.
Neviete mi ešte poradiť, ako skompilovať iba ten jeden modul? Lebo takýmto spôsobom to kompiluje všetky.
-
Vacsinou to funguje tak, ze sa staci presunut do adresara so zdrojakmi modulu a potom make && make install. Make modul skompiluje a make install ho skopiruje na svoje miesto a depmodne a modprobne. Zalezi to ale od toho ako je napisany Makefile. Prave preto by som sa pozrel do README. Ale ked tam nic nie je, tak sa da este pozriet priamo do Makefilu.
-
Doporucuji precist http://wiki.ubuntu.cz/Kompilace_kernelu?highlight=%28kernel%29
Je tam i pomerne dulezita zminka ohledne modulu