ソースを書き換える.orinocoドライバはカーネル 2.4.10 以降を仮定してい るが,arm-linux-kernel は2.4.9であるので,足りない関数を追加する.
/cerfcube/intrinsyc-linux/base/build/linux-2.4.9/linux/drivers/net/wireless/orinoco.h の中に,
/* * min()/max() macros that also do * strict type-checking.. See the * "unnecessary" pointer comparison. */ #define min(x,y) ({ \ const typeof(x) _x = (x); \ const typeof(y) _y = (y); \ (void) (&_x == &_y); \ _x < _y ? _x : _y; }) #define max(x,y) ({ \ const typeof(x) _x = (x); \ const typeof(y) _y = (y); \ (void) (&_x == &_y); \ _x > _y ? _x : _y; }) /* * ..and if you can't take the strict * types, you can specify one yourself. * * Or not use min/max at all, of course. */ #define min_t(type,x,y) \ ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) #define max_t(type,x,y) \ ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) #endif /* __KERNEL__ */ \end{berbatim} を,付けくわえる. Makefileを書きかえる. \begin{verbatim} KERNEL_VERSION = 2.4.9-ac10-rmk2-np1-cerf1 KERNEL_SRC = /home/leus/cerfcube/intrinsyc-linux/base/build/linux-2.4.9/linux
README.orinocoにあるように,ARMでは ``-mstructure-size-boundary=8''のオ プションをつけないと動かなかった.
CFLAGS = -O2 -Wall -Wstrict-prototypes -pipe -mstructure-size-boundary=8
makeする.
% make CC=arm-linux-gcc