Portál AbcLinuxu, 27. dubna 2024 18:14


Dotaz: Kompilácia modulu ext2

14.10.2010 23:18 Mystic Playboy
Kompilácia modulu ext2
Přečteno: 327×
Odpovědět | Admin
Chcem skompilovať modul ext2, nie pre kernel ktorým mam v PC. Ten modul potom potrebujem použiť inde. Stiahol som si zdrojáky jadra 2.6.29. Na kopíroval som si ich do /home/playboy/Stiahnuté/linux-2.6.29. Keď spustím make vyhodí mi hlášku
make
make: *** No targets specified and no makefile found.  Stop.
Ďaľšie moje pokusy :(
make -f Makefile -C /home/playboy/Stiahnuté/linux-2.6.29/fs/ext2 modules
make: Entering directory `/home/playboy/Stiahnuté/linux-2.6.29/fs/ext2'
make: *** No rule to make target `modules'.  Stop.
make: Leaving directory `/home/playboy/Stiahnuté/linux-2.6.29/fs/ext2'
make -C /home/playboy/Stiahnuté/linux-2.6.29/fs/ext2/ M=$(PWD) modules
PWD: command not found
make: Entering directory `/home/playboy/Stiahnuté/linux-2.6.29/fs/ext2'
make: *** No rule to make target `modules'.  Stop.
make: Leaving directory `/home/playboy/Stiahnuté/linux-2.6.29/fs/ext2'
Za pomôc už vopred moc ďakujem.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

vencour avatar 14.10.2010 23:37 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co koukam, tak je v /usr/src/linux soubor README ... vy ho tam nemáte, že nejdete přímo k cíli?

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
15.10.2010 00:06 Mystic Playboy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Nejak mi nepomôhlo, asi som tupý.
vencour avatar 15.10.2010 10:15 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2

A tohle ...

BUILD directory for the kernel:

   When compiling the kernel all output files will per default be
   stored together with the kernel source code.
   Using the option "make O=output/dir" allow you to specify an alternate
   place for the output files (including .config).
   Example:
     kernel source code:        /usr/src/linux-2.6.N
     build directory:           /home/name/build/kernel

   To configure and build the kernel use:
   cd /usr/src/linux-2.6.N
   make O=/home/name/build/kernel menuconfig
   make O=/home/name/build/kernel
   sudo make O=/home/name/build/kernel modules_install install

   Please note: If the 'O=output/dir' option is used then it must be
   used for all invocations of make.
nepomůže?

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
15.10.2010 10:36 Mystic Playboy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
To som skúšal, ale hádzalo to tuším rovnakú chybu. Bol som už unavený, možno som urobil nejaký preklep. Keď prídem domov skúsim, zatiaľ dík.
16.10.2010 01:45 Mystic Playboy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Toto mi vyhodilo:
make: *** No targets.  Stop.
15.10.2010 11:02 Sten
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Odpovědět | | Sbalit | Link | Blokovat | Admin
V adresáři s moduly nejsou potřebné Makefily, je potřeba to spustit z kořenového adresáře zdrojáků a jako parametr uvést jméno modulu, který chcete zkompilovat (i s cestou).
make -C /home/playboy/Stiahnuté/linux-2.6.29/ fs/ext2/ext2.ko
A předtím potřebujete ono jádro nastavit tak, jak je nastavené jádro na onom druhém počítači (zkopírovat /boot/config-2.6.29 do .config) a povolit ext2 jako modul (make menuconfig, tam File Systems a tam ext2 nastavit na M).
16.10.2010 01:39 Mystic Playboy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Ja som z toho tuhý, to musím mať skompilované jadro aby som môhol kompilovať modul?
make -C /home/playboy/Stiahnuté/linux-2.6.29/ fs/ext2/ext2.ko
make: Entering directory `/home/playboy/Stiahnuté/linux-2.6.29'
scripts/kconfig/conf -s arch/x86/Kconfig
***
*** You have not yet configured your kernel!
*** (missing kernel .config file)
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[2]: *** [silentoldconfig] Chyba 1
make[1]: *** [silentoldconfig] Chyba 2
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make: Leaving directory `/home/playboy/Stiahnuté/linux-2.6.29'
vencour avatar 16.10.2010 10:24 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2

Trochu teorie: sám kompiluju aktuální kernel jako

make && make modules_install install
a pokud chci jen přidat nějaký modul, tak upravim konfiguraci (make menuconfig třeba) a modul mam po té mé konstrukci k dispozici.

Pokud jsem kdysi zkoušel zkompilovat kernel pro druhý komp, tak jsem vlez do /usr/src, upravil symlink, vlez do linux, upravil konfiguraci, dal "make -O ...", pak to přetáh na druhej komp a stačilo.

A jinak pokud chcete samotný modul, google radí takhle ...

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
17.10.2010 09:28 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
musím mať skompilované jadro aby som môhol kompilovať modul?

Ne, jen musíte mít soubor .config. V něm jsou nastavení které ovlivňují ten modul. Ta nastavení by měla být stejná jako na cílovém systému jinak modul skompilujete ale nepůjde natáhnout.
In Ada the typical infinite loop would normally be terminated by detonation.
17.10.2010 19:09 Mystic Playboy
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
Tak ja som tam predtým nedal medzeru pred fs, teraz mi ho skompilovalo, ale len do ext2.o a nie ext2.ko
18.10.2010 06:37 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Kompilácia modulu ext2
To je, samozřejmě, špatně.
In Ada the typical infinite loop would normally be terminated by detonation.

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.