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"
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
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.