On 4/25/05, Jaap Hoetmer <jaaphoetmer@xxxxxxxxx> wrote: > As I happened to have purchased a PCMCIA wireless card > needing Ndiswrapper, I tried to install this. The > build of Ndiswrapper warns about the kernel probably > needing more than 4k stack space. This kernel hacking > option can be unset, allowing 8k stack space. > > When unsetting this CONFIG_4KSTACK option and building > the 2.6.11-1.14_FC3 kernel, the build ultimately > fails, complaining about : > > arch/i386/kernel/built-in.o(.init.text+0x1a47): In > function `init_IRQ': > arch/i386/kernel/i8259.c:429: undefined reference to > `irq_ctx_init' > arch/i386/kernel/built-in.o(.init.text+0x1a5e):arch/i386/kernel/i8259.c:429: > undefined reference to `irq_ctx_init' > make: *** [.tmp_vmlinux1] Error 1 > > Can someone explain what goes wrong here, and how this > can be resolved? Very interesting. Simply, the linker has found a function call, namely 'irq_ctx_init' but it cannot find the code that should make up that function. That's what it means by "undefined reference." Looks like it is failing in the i8259.c file. If you can figure out what module i8259 corresponds to, you can choose to not build it. What changes did you make to the config file? How are you building (with rpmbuild or make)? Generally, though, building the kernel should not fail. Something else is wrong, but I have no idea what. > Do I really need more stackspace if > using Ndiswrapper and NDIS drivers? Possibly not. What chipset is your card? Broadcom chipset devices seem to function fine with only 4k stacks (at least some do) so it is possible to use 4k stacks. I suggest that you give it a try and then if it doesn't work, you can pursue the custom kernel further (unless of course you have other customizations that you want to make). If all else fails, you can download a pre-built kernel with 16k stacks from Linuxant: http://www.linuxant.com/driverloader/wlan/full/downloads.php > Any help greatly appreciated! > > Regards, > Jaap Jonathan