Пытаюсь скомпилить модуль ядра из пакета выше.
В лоб не получилось поправил исходник
зкоментировал
//#include <linux/smp_lock.h>
и заменил все вхождения lock_kernel() =>lock_flocks() и unlock_kernel() =>unlock_flocks()
Компиляция проходит но с предупреждениями
DKMS make.log for traceboard-1.0 for kernel 3.0.24-std-def-alt0.M60P.2 (i586)
Вск Фев 10 03:41:30 NOVT 2013
make: Entering directory `/usr/src/linux-3.0.24-std-def-alt0.M60P.2'
LD /var/lib/dkms/traceboard/1.0/build/built-in.o
CC [M] /var/lib/dkms/traceboard/1.0/build/tb.o
/var/lib/dkms/traceboard/1.0/build/tb.c: In function ‘traceboard_init’:
/var/lib/dkms/traceboard/1.0/build/tb.c:746:23: warning: ignoring return value of ‘input_register_device’, declared with attribute warn_unused_result
LD [M] /var/lib/dkms/traceboard/1.0/build/traceboard.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /var/lib/dkms/traceboard/1.0/build/.lib.cmd for /var/lib/dkms/traceboard/1.0/build/lib
WARNING: "mcount" [/var/lib/dkms/traceboard/1.0/build/traceboard.ko] undefined!
WARNING: "__stack_chk_fail" [/var/lib/dkms/traceboard/1.0/build/traceboard.ko] undefined!
CC /var/lib/dkms/traceboard/1.0/build/traceboard.mod.o
LD [M] /var/lib/dkms/traceboard/1.0/build/traceboard.ko
make: Leaving directory `/usr/src/linux-3.0.24-std-def-alt0.M60P.2'
компилирую так
dkms remove -m traceboard -v 1.0 --all
dkms ldtarball --archive ./traceboard.tar
dkms build -m traceboard -v 1.0
dkms install -m traceboard -v 1.0
в результате модуль не загружается ругаясь
Jan 26 15:54:21 comp-celeron-cpu-2966fe kernel: [ 4521.950735] traceboard: Unknown symbol __stack_chk_fail (err 0)
Jan 26 15:54:21 comp-celeron-cpu-2966fe kernel: [ 4521.950755] traceboard: Unknown symbol mcount (err 0)
Подскажите как сделать правильно, у самого опыта не хватает...
Попробовал с ядром 2.6.32 el-smp Исходник не менял..
DKMS make.log for traceboard-1.0 for kernel 2.6.32-el-smp-alt31 (i586)
Вск Фев 10 19:37:25 NOVT 2013
/bin/sh: /usr/src/linux-2.6.32-el-smp-alt31/scripts/gcc-x86_32-has-stack-protector.sh: Нет такого файла или каталога
make: Entering directory `/usr/src/linux-2.6.32-el-smp-alt31'
/usr/src/linux-2.6.32-el-smp-alt31/arch/x86/Makefile:81: stack protector enabled but no compiler support
LD /var/lib/dkms/traceboard/1.0/build/built-in.o
CC [M] /var/lib/dkms/traceboard/1.0/build/tb.o
/var/lib/dkms/traceboard/1.0/build/tb.c: In function ‘traceboard_init’:
/var/lib/dkms/traceboard/1.0/build/tb.c:744: warning: ignoring return value of ‘input_register_device’, declared with attribute warn_unused_result
LD [M] /var/lib/dkms/traceboard/1.0/build/traceboard.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /var/lib/dkms/traceboard/1.0/build/.lib.cmd for /var/lib/dkms/traceboard/1.0/build/lib
WARNING: "mcount" [/var/lib/dkms/traceboard/1.0/build/traceboard.ko] undefined!
CC /var/lib/dkms/traceboard/1.0/build/traceboard.mod.o
LD [M] /var/lib/dkms/traceboard/1.0/build/traceboard.ko.unsigned
NO SIGN [M] /var/lib/dkms/traceboard/1.0/build/traceboard.ko
make: Leaving directory `/usr/src/linux-2.6.32-el-smp-alt31