Compiling kernel modules for F series
Posted: Sun Aug 18, 2013 5:47 pm
juuso, help with kernel modules compilation please.
I spent 2 days with Cygwin and Sourcery CodeBench but built nothing. Samsung's toolchain is unusable on Windows, with ARM Linux Toolchain for Cygwin I got and didn't solve EABI errors, with Sourcery CodeBench - errors with paths and symlinks.
Then I installed CentOS 5.9 and tried to use original Samsung's toolchain:
With last 2 make commands I got errors and building stopped:
Then I decided to build single modules:
Same text, but only warning, not error now. And desired modules were built.
Then I stripped my modules of unnecessary symbols:
Then I tried to install modules on TV:
I tried to rebuild everything 2 or 3 times, result was the same. What am I doing wrong?
And one more question. Is it possible to enable normal command output in telnet? I don't get any information or error messages with such commands:
I have to use something like this to get the command result:
I spent 2 days with Cygwin and Sourcery CodeBench but built nothing. Samsung's toolchain is unusable on Windows, with ARM Linux Toolchain for Cygwin I got and didn't solve EABI errors, with Sourcery CodeBench - errors with paths and symlinks.
Then I installed CentOS 5.9 and tried to use original Samsung's toolchain:
Code: Select all
tar -xvzf VDLinux-ARMv7-4.4-202-toolchain-v2r2-20110630.tgz
tar -xzvf VDLinux_3.0.20.tgz
export PATH=$PATH:/root/src/VDLinux-ARMv7-4.4-202-toolchain-v2r2-20110630/bin
export ARCH=arm
export CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi-
cd /root/src/VDLinux_3.0.20/linux-3.0.20
cp -ar arch/arm/configs/X12_defconfig_release .config
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- oldconfig
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- prepare
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- prepare scripts
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- Image
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- prepare modules
make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- modules
Code: Select all
[root@localhost linux-3.0.20]# make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- modules
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' ?? ??????? ??????????.
CALL scripts/checksyscalls.sh
Building modules, stage 2.
MODPOST 62 modules
ERROR: "authnull_ops" [fs/nfs/nfs.ko] undefined!
Code: Select all
[root@localhost linux-3.0.20]# make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- M=fs/cifs
Building modules, stage 2.
MODPOST 1 modules
CC fs/cifs/cifs.mod.o
LD [M] fs/cifs/cifs.ko
[root@localhost linux-3.0.20]# make ARCH=arm CROSS_COMPILE=arm-v7a8v2r2-linux-gnueabi- M=fs/nfs
Building modules, stage 2.
MODPOST 1 modules
WARNING: "authnull_ops" [fs/nfs/nfs.ko] undefined!
CC fs/nfs/nfs.mod.o
LD [M] fs/nfs/nfs.ko
Then I stripped my modules of unnecessary symbols:
Code: Select all
arm-v7a8v2r2-linux-gnueabi-strip -g fs/nfs/nfs.ko
arm-v7a8v2r2-linux-gnueabi-strip -g fs/cifs/cifs.ko
Code: Select all
insmod: can't insert '/dtv/usb/sda1/nfs.ko': invalid module format
And one more question. Is it possible to enable normal command output in telnet? I don't get any information or error messages with such commands:
Code: Select all
insmod /dtv/usb/sda1/nfs.ko
mount -o soft,tcp,nolock -t nfs 192.168.253.3:/nfs /dtv/usb/sda1/nfs
Code: Select all
insmod /dtv/usb/sda1/nfs.ko >/dtv/usb/sda1/log.txt 2>/dtv/usb/sda1/err.txt
mount -o soft,tcp,nolock -t nfs 192.168.253.3:/nfs /dtv/usb/sda1/nfs >/dtv/usb/sda1/log.txt 2>/dtv/usb/sda1/err.txt