1Laitoin conf tiedostoon käytettävän kernel version:
# User Settings EDIT THESE TO MATCH YOUR CONFIGURATION!
# LINUX = /usr/src/linux # Linux is here
# OS_RELEASE=2.4.12 # Kernel version for module inst.
# INSTDIR=/sbin # Install tools here
# ROOTDIR=/ # Root for kernel module installation
# SMAC2=d211fw.bin # Firmware for the card
LINUX = /usr/src/linux
OS_RELEASE=2.6.15-27
ROOTDIR=/
SMAC2=d211fw.bin
# Compiler Settings
CROSS_COMPILE=
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CROSS_COMPILE)g++
AR = $(CROSS_COMPILE)ar
RANLIB = $(CROSS_COMPILE)ranlib
2jonka jälkeen tein linkityksen:
tt@tt-laptop:~$ cd /usr/src/d211
tt@tt-laptop:/usr/src/d211$ ln -s /usr/src/linux-headers-2.6.15-27 /usr/src/linux
/usr/src alle muodostui linux niminen linkki, kohteena /usr/src/linux-headers-2.6.15-27.
Kun katson hakemiston sisältöä tiedostoselaimella, niin näyttää tyypiksi linkki(rikki)
tt@tt-laptop:/usr/src$ ls
d211 linux nokia_d211-linux-1.06.tar.gz
3make all tulostaa:
tt@tt-laptop:/usr/src/d211$ make all
set -e; for d in src ui control; do make -C $d ; done
make[1]: Siirrytään hakemistoon "/usr/src/d211/src"
gcc -O2 -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe -D__KERNEL__ -DMODULE -I../include -I/usr/src/linux/include -c dllc.c
In file included from /usr/include/linux/sched.h:16,
from /usr/include/linux/module.h:9,
from nokia_info.h:41,
from dllc.c:29:
/usr/include/linux/signal.h:2:2: warning: #warning "You should include <signal.h>. This time I will do it for you."
In file included from /usr/include/linux/resource.h:4,
from /usr/include/linux/sched.h:79,
from /usr/include/linux/module.h:9,
from nokia_info.h:41,
from dllc.c:29:
/usr/include/linux/time.h:9: error: redefinition of ‘struct timespec’
/usr/include/linux/time.h:15: error: redefinition of ‘struct timeval’
/usr/include/linux/time.h:20: error: redefinition of ‘struct timezone’
/usr/include/linux/time.h:47: error: redefinition of ‘struct itimerval’
In file included from nokia_info.h:41,
from dllc.c:29:
/usr/include/linux/module.h:41: error: field ‘attr’ has incomplete type
/usr/include/linux/module.h:49: error: field ‘kobj’ has incomplete type
In file included from dllc.c:29:
nokia_info.h:48:25: error: linux/delay.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/asm-i386/hardirq.h:5,
from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/linux/irq.h:17:27: error: linux/cpumask.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/asm/irq.h:11,
from /usr/include/linux/irq.h:19,
from /usr/include/asm-i386/hardirq.h:5,
from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/asm-i386/irq.h:15:25: error: irq_vectors.h: Tiedostoa tai hakemistoa ei ole
/usr/include/asm-i386/irq.h:16:29: error: asm/thread_info.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/asm-i386/hardirq.h:5,
from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/linux/irq.h:47: error: syntax error before ‘cpumask_t’
/usr/include/linux/irq.h:67: error: syntax error before ‘spinlock_t’
/usr/include/linux/irq.h:68: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)
/usr/include/linux/irq.h:68: error: requested alignment is not a constant
/usr/include/linux/irq.h:70: error: syntax error before ‘irq_desc’
/usr/include/linux/irq.h:70: error: ‘NR_IRQS’ undeclared here (not in a function)
In file included from /usr/include/asm/hw_irq.h:11,
from /usr/include/linux/irq.h:72,
from /usr/include/asm-i386/hardirq.h:5,
from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/asm-i386/hw_irq.h:15:27: error: linux/profile.h: Tiedostoa tai hakemistoa ei ole
/usr/include/asm-i386/hw_irq.h:18:26: error: asm/sections.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/asm/hw_irq.h:11,
from /usr/include/linux/irq.h:72,
from /usr/include/asm-i386/hardirq.h:5,
from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/asm-i386/hw_irq.h:27: error: ‘NR_IRQ_VECTORS’ undeclared here (not in a function)
In file included from /usr/include/asm/hardirq.h:11,
from /usr/include/linux/interrupt.h:9,
from nokia_info.h:51,
from dllc.c:29:
/usr/include/asm-i386/hardirq.h:12: error: requested alignment is not a constantIn file included from nokia_info.h:51,
from dllc.c:29:
/usr/include/linux/interrupt.h:36: error: syntax error before ‘cpumask_t’
/usr/include/linux/interrupt.h:42: error: syntax error before ‘}’ token
/usr/include/linux/interrupt.h:61: error: syntax error before ‘cli’
/usr/include/linux/interrupt.h:65: error: syntax error before ‘sti’
/usr/include/linux/interrupt.h:69: error: syntax error before ‘save_flags’
/usr/include/linux/interrupt.h: In function ‘save_flags’:
/usr/include/linux/interrupt.h:71: error: syntax error before ‘unsigned’
/usr/include/linux/interrupt.h: At top level:
/usr/include/linux/interrupt.h:74: error: syntax error before ‘restore_flags’
/usr/include/linux/interrupt.h: In function ‘restore_flags’:
/usr/include/linux/interrupt.h:76: error: syntax error before ‘unsigned’
/usr/include/linux/interrupt.h: At top level:
/usr/include/linux/interrupt.h:79: error: syntax error before ‘save_and_cli’
In file included from dllc.c:29:
nokia_info.h:55:24: error: linux/slab.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:56:26: error: linux/string.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:57:25: error: linux/timer.h: Tiedostoa tai hakemistoa ei ole
In file included from /usr/include/asm/io.h:11,
from nokia_info.h:62,
from dllc.c:29:
/usr/include/asm-i386/io.h:1:2: warning: #warning "You should include <sys/io.h>. This time I will do it for you."
In file included from dllc.c:29:
nokia_info.h:69:31: error: linux/etherdevice.h: Tiedostoa tai hakemistoa ei ole
In file included from nokia_info.h:70,
from dllc.c:29:
/usr/include/linux/skbuff.h:24:26: error: net/checksum.h: Tiedostoa tai hakemistoa ei ole
In file included from nokia_info.h:70,
from dllc.c:29:
/usr/include/linux/skbuff.h:115: error: syntax error before ‘spinlock_t’
/usr/include/linux/skbuff.h:140: error: variable-size type declared outside of any function
In file included from dllc.c:29:
nokia_info.h:76:28: error: pcmcia/version.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:77:29: error: pcmcia/cs_types.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:78:27: error: pcmcia/cistpl.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:79:23: error: pcmcia/cs.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:80:27: error: pcmcia/cisreg.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:81:23: error: pcmcia/ds.h: Tiedostoa tai hakemistoa ei ole
nokia_info.h:82:28: error: pcmcia/ciscode.h: Tiedostoa tai hakemistoa ei ole
In file included from nokia_info.h:89,
from dllc.c:29:
dllc.h:47: error: field ‘timer’ has incomplete type
In file included from nokia_info.h:90,
from dllc.c:29:
dserial.h:53: error: syntax error before ‘spinlock_t’
dserial.h:53: warning: no semicolon at end of struct or union
dserial.h:54: warning: type defaults to ‘int’ in declaration of ‘dser_t’
dserial.h:54: warning: data definition has no type or storage class
In file included from dllc.c:29:
nokia_info.h:107: error: syntax error before ‘dev_link_t’
nokia_info.h:107: warning: no semicolon at end of struct or union
nokia_info.h:108: warning: type defaults to ‘int’ in declaration of ‘node’
nokia_info.h:108: warning: data definition has no type or storage class
nokia_info.h:113: error: syntax error before ‘wld_wait’
nokia_info.h:113: warning: type defaults to ‘int’ in declaration of ‘wld_wait’
nokia_info.h:113: warning: data definition has no type or storage class
nokia_info.h:117: error: syntax error before ‘}’ token
nokia_info.h:117: warning: type defaults to ‘int’ in declaration of ‘nokia_cs_t’nokia_info.h:117: warning: data definition has no type or storage class
dllc.c:50: error: syntax error before ‘tx_lock’
dllc.c:50: warning: type defaults to ‘int’ in declaration of ‘tx_lock’
dllc.c:50: error: ‘SPIN_LOCK_UNLOCKED’ undeclared here (not in a function)
dllc.c:50: warning: data definition has no type or storage class
dllc.c: In function ‘dllc_new’:
dllc.c:58: warning: implicit declaration of function ‘kmalloc’
dllc.c:58: error: ‘GFP_KERNEL’ undeclared (first use in this function)
dllc.c:58: error: (Each undeclared identifier is reported only once
dllc.c:58: error: for each function it appears in.)
dllc.c:58: warning: assignment makes pointer from integer without a cast
dllc.c:60: warning: implicit declaration of function ‘memset’
dllc.c:60: warning: incompatible implicit declaration of built-in function ‘memset’
dllc.c:68: warning: implicit declaration of function ‘init_timer’
dllc.c:76: error: invalid application of ‘sizeof’ to incomplete type ‘device_t’
dllc.c:76: warning: assignment makes pointer from integer without a cast
dllc.c:78: error: invalid application of ‘sizeof’ to incomplete type ‘device_t’
dllc.c:82: error: dereferencing pointer to incomplete type
dllc.c:85: error: dereferencing pointer to incomplete type
dllc.c:86: error: dereferencing pointer to incomplete type
dllc.c:87: error: dereferencing pointer to incomplete type
dllc.c:88: error: dereferencing pointer to incomplete type
dllc.c:89: error: dereferencing pointer to incomplete type
dllc.c:90: error: dereferencing pointer to incomplete type
dllc.c:91: error: dereferencing pointer to incomplete type
dllc.c: In function ‘dllc_register’:
dllc.c:107: warning: implicit declaration of function ‘ether_setup’
dllc.c:109: warning: implicit declaration of function ‘register_netdev’
dllc.c: In function ‘dllc_delete’:
dllc.c:125: warning: implicit declaration of function ‘del_timer_sync’
dllc.c:128: error: invalid application of ‘sizeof’ to incomplete type ‘device_t’
dllc.c: In function ‘dllc_unregister’:
dllc.c:138: warning: implicit declaration of function ‘unregister_netdev’
dllc.c: In function ‘dllc_devopen’:
dllc.c:155: warning: implicit declaration of function ‘netif_start_queue’
dllc.c: At top level:
dllc.c:162: error: syntax error before ‘stop_queue’
dllc.c:162: warning: type defaults to ‘int’ in declaration of ‘stop_queue’
dllc.c:162: warning: data definition has no type or storage class
dllc.c: In function ‘dllc_devstop’:
dllc.c:169: warning: implicit declaration of function ‘netif_stop_queue’
dllc.c:173: warning: implicit declaration of function ‘wake_up_interruptible’
dllc.c: In function ‘dllc_devhard_start_xmit’:
dllc.c:189: error: dereferencing pointer to incomplete type
dllc.c:196: warning: implicit declaration of function ‘netif_running’
dllc.c:199: warning: implicit declaration of function ‘spin_lock_bh’
dllc.c:201: error: dereferencing pointer to incomplete type
dllc.c:214: warning: implicit declaration of function ‘dev_kfree_skb’
dllc.c:230: warning: implicit declaration of function ‘mod_timer’
dllc.c:234: warning: implicit declaration of function ‘spin_unlock_bh’
dllc.c: In function ‘dllc_timer’:
dllc.c:268: warning: implicit declaration of function ‘netif_wake_queue’
dllc.c: In function ‘dllc_devgetstats’:
dllc.c:344: error: dereferencing pointer to incomplete type
dllc.c: In function ‘dllc_devset_multicast_list’:
dllc.c:368: error: dereferencing pointer to incomplete type
dllc.c:369: error: dereferencing pointer to incomplete type
dllc.c:375: error: dereferencing pointer to incomplete type
dllc.c:379: error: dereferencing pointer to incomplete type
dllc.c:379: error: dereferencing pointer to incomplete type
dllc.c:385: error: dereferencing pointer to incomplete type
dllc.c:388: error: dereferencing pointer to incomplete type
dllc.c:390: warning: implicit declaration of function ‘memcpy’
dllc.c:390: warning: incompatible implicit declaration of built-in function ‘memcpy’
dllc.c:390: error: dereferencing pointer to incomplete type
dllc.c:391: error: dereferencing pointer to incomplete type
dllc.c:394: error: dereferencing pointer to incomplete type
dllc.c:395: error: dereferencing pointer to incomplete type
dllc.c:398: error: dereferencing pointer to incomplete type
dllc.c: In function ‘dllc_rxframe’:
dllc.c:431: warning: implicit declaration of function ‘dev_alloc_skb’
dllc.c:431: warning: assignment makes pointer from integer without a cast
dllc.c:435: warning: implicit declaration of function ‘skb_reserve’
dllc.c:437: error: dereferencing pointer to incomplete type
dllc.c:443: warning: implicit declaration of function ‘skb_put’
dllc.c:445: warning: incompatible implicit declaration of built-in function ‘memcpy’
dllc.c:450: warning: implicit declaration of function ‘eth_type_trans’
dllc.c:455: warning: implicit declaration of function ‘netif_rx’
dllc.c: In function ‘dllc_get_my_mac_addr’:
dllc.c:464: warning: incompatible implicit declaration of built-in function ‘memcpy’
dllc.c:464: error: dereferencing pointer to incomplete type
dllc.c: In function ‘dllc_set_my_mac_addr’:
dllc.c:473: error: dereferencing pointer to incomplete type
dllc.c: In function ‘dllc_init_queue’:
dllc.c:530: error: ‘GFP_KERNEL’ undeclared (first use in this function)
dllc.c:530: warning: assignment makes pointer from integer without a cast
dllc.c: In function ‘dllc_close_queue’:
dllc.c:550: warning: implicit declaration of function ‘kfree’
make[1]: *** [dllc.o] Virhe 1
make[1]: Poistutaan hakemistosta "/usr/src/d211/src"
make: *** [all] Virhe 2
tt@tt-laptop:/usr/src/d211$
Keksiikö tästä mitä teen väärin, tai puuttuuko joitain kilkkeitä.
Jos viitsitte neuvoa, niin mielummin silleen, että ymmärtää tämmöinen vasta alkaja. Päätteen käyttökin melko outoa touhua vielä.