kernel modules cross compiling

Vangelis Pothos vp at enet.gr
Fri May 23 13:54:06 EEST 2008


Καλημέρα

Προσπαθώ να κάνω cross compile τον TUN/TAP device driver για ένα Western 
Digital MyBook (NAS είναι) με arm cpu που τρέχει Linux, έτσι ώστε να μπορέσω 
να τρέξω το Openvpn.
Αφού έχω κατεβάσει το GPL source code pack που δίνει η WD, το οποίο 
περιλαμβάνει kernel source code και crosstool, αφού πείραξα λίγο με το χέρι 
το .config και το Makefile, έκανα compile τα modules μόνο και πήρα το 
παραγώμενο tun.ko και το έφερα στο MyBook.

Αφού έβαλα το path του module στο modules.dep, δοκίμασα να κάνω insmod, το 
οποίο απέτυχε:

[root at MyBookWorld 2.6.17.14]# modprobe tun
insmod: cannot insert `/lib/modules/2.6.17.14/kernel/drivers/net/tun.ko': 
Invalid module format (-1): Exec format error


To gcc version που έχει γίνει compile το module δείχνει να είναι ίδιο με το 
gcc version του kernel του mybook.

vsuse:/tmp/tun # modinfo tun.ko
filename:       tun.ko
description:    Universal TUN/TAP device driver
author:         (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
license:        GPL
alias:          char-major-10-200
vermagic:       2.6.17.14 mod_unload ARMv4 gcc-4.1
depends:

[root at MyBookWorld ~]# cat /proc/version
Linux version 2.6.17.14 (clarke at mccoy.oxsemi.com.asic.oxsemi.com) (gcc 
version 4.1.0) #1 PREEMPT Mon Mar 26 12:36:33 BST 2007


Προφανώς κάτι δεν έχω καταλάβει σωστά για τη διαδικασία...

Έχει κανεις καμια ιδέα?

Ευχαριστώ,
Βαγγέλης 




More information about the Linux-greek-users mailing list