Portál AbcLinuxu, 26. dubna 2024 03:30


Dotaz: Nejde mi preklad modulu pro jadro

25.11.2002 06:21 pavep
Nejde mi preklad modulu pro jadro
Přečteno: 98×
Odpovědět | Admin
Nemohu prelozit modul.o pro jadro porad mi to haze parse errory a tak dal, viz dole vypis.
gcc -I /usr/include/linux -o lzdev.o -c lzdev.c -D MODULE -D__KERNEL__

In file included from /usr/include/linux/prefetch.h:13, from /usr/include/linux/list.h:6,
from /usr/include/linux/module.h:11,
from lzdev.c:11:
/usr/include/asm/processor.h:55: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
/usr/include/asm/processor.h:55: requested alignment is not a constant
In file included from /usr/include/linux/module.h:296, from lzdev.c:11:
/usr/include/linux/version.h:2:2: #error "======================================================="
/usr/include/linux/version.h:3:2: #error "You should not include /usr/include/{linux,asm}/ header"
/usr/include/linux/version.h:4:2: #error "files directly for the compilation of kernel modules."
/usr/include/linux/version.h:5:2: #error ""
/usr/include/linux/version.h:6:2: #error "glibc now uses kernel header files from a well-defined"
/usr/include/linux/version.h:7:2: #error "working kernel version (as recommended by Linus Torvalds)"
/usr/include/linux/version.h:8:2: #error "These files are glibc internal and may not match the"
/usr/include/linux/version.h:9:2: #error "currently running kernel. They should only be"
/usr/include/linux/version.h:10:2: #error "included via other system header files - user space"
/usr/include/linux/version.h:11:2: #error "programs should not directly include or" /usr/include/linux/version.h:12:2: #error " as well." /usr/include/linux/version.h:13:2: #error "" /usr/include/linux/version.h:14:2: #error "To build kernel modules please do the following:" /usr/include/linux/version.h:15:2: #error "" /usr/include/linux/version.h:16:2: #error " o Have the kernel sources installed" /usr/include/linux/version.h:17:2: #error "" /usr/include/linux/version.h:18:2: #error " o Make sure that the symbolic link" /usr/include/linux/version.h:19:2: #error " /lib/modules/`uname -r`/build exists and points to" /usr/include/linux/version.h:20:2: #error " the matching kernel source directory" /usr/include/linux/version.h:21:2: #error "" /usr/include/linux/version.h:22:2: #error " o Now copy /boot/vmlinuz.version.h to" /usr/include/linux/version.h:23:2: #error " /lib/modules/`uname -r`/build/include/linux/version.h" /usr/include/linux/version.h:24:2: #error "" /usr/include/linux/version.h:25:2: #error " o When compiling, make sure to use the following" /usr/include/linux/version.h:26:2: #error " compiler option to use the correct include files:" /usr/include/linux/version.h:27:2: #error "" /usr/include/linux/version.h:28:2: #error " -I/lib/modules/`uname -r`/build/include" /usr/include/linux/version.h:29:2: #error "" /usr/include/linux/version.h:30:2: #error " instead of" /usr/include/linux/version.h:31:2: #error "" /usr/include/linux/version.h:32:2: #error " -I/usr/include/linux" /usr/include/linux/version.h:33:2: #error "" /usr/include/linux/version.h:34:2: #error " Please adjust the Makefile accordingly." /usr/include/linux/version.h:35:2: #error "======================================================="

In file included from lzdev.c:11: /usr/include/linux/module.h:298: parse error before "UTS_RELEASE"
lzdev.c:30: parse error before "majorchar"
lzdev.c:31: parse error before "majorDesc"
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.11.2002 06:06 pavep
Rozbalit Rozbalit vše Nejde mi preklad modulu pro jadro
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zjistil jsem ale ze
gcc -o hello.o -c hello.c -DMODULE -D__KERNEL__
haze chyby ale
gcc -o hello-fail.o -c hello.c -D__KERNEL__
se mi prelozit podarilo v pohode akorat soubor makefile hlasi ze nezna
29.11.2002 16:59 Beda
Rozbalit Rozbalit vše Nejde mi preklad modulu pro jadro
nedochazi mi smysl vaseho pocinani, ale co jsem si vsiml:
  • /usr/include = hlavicky proti kterym byla kompilovana (g)libc, tedy to nejsou nejspis hlavickovy soubory, ktery ma vse aktualni jadro na kterem bezite
  • CONFIG_..._L1_SHIFT ci jak se to jmenovalo neni v tech souborech definovany. jak by taky mohlo, kdyz se bere z .config ktery se neinstaluje do do /usr/include, ale je pouze pro potreby prekladu jadra/modulu v korenu stromu jadra.
to co pravdepodobne chcete je:
 -I/usr/src/MojeNaprostoSkveleJadroProKterePisu\
TendleModulSNaprostoSkvelymiparametryATakySNaprosto\
UzasnymiHlavickovymiSouboryKtereTenModulChce

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.