[Streak 5 Q&A, Help & Troubleshooting] dmandic:
Need help with compiling modules for Dell Streak kernel.

Because i could not find cifs.ko module for mounting network shares for Dell Streak stock Froyo 318, i decided to make it on my own.

I did not have any clue how can it be done, but with lot of googling and reading forum posts on xda and modaco, i got vague idea how i can do it.

There was lots of trial-and-error attempts until i learned how to use all comands and tools, and here is final list of things id did to make it:

Already had VMWare workstation with Ubuntu 10.10 instalation, i got Android Froyo source tree from net, replaced kernel with Dell Streak 3.09 kernel (from opensource.dell.com) which is also Froyo, i think, and is closest to my kernel version (318).

Got toolchains from codesourcery.com

Extracted my phone config from /proc/config.gz, renamed to .config, uncommented and changed option for CONFIG_CIFS=m. Did same for tun.ko module which i did not need, but just for comparison. Placed .config file in kernel root.

Did comand:

make ARCH=arm CROSS_COMPILE=/path-to-toolchains/bin/arm-none-eabi- modules

after confirming some options (irellevant to this), and some compiling in terminal, all went ok without errors and did produce modules in fs/cifs and drivers/net

i also did some debugging to reduce filesize, bud also had tried module without debugging with same result (see below)

transferred modules to my phone in /system/lib/modules and tried to load them via insmod.

loaded tun.ko without problem (i dunno whteher is working because i have no means to try it and have no need for it). i compiled it just to see whether it will be loaded in phone kernel. it DID load without error messages.

when tried to load cifs.ko via insmod cifs.ko, got this error message:

insmod: init_module 'cifs.ko' failed (no such file or directory)

dmesg provided following errors:

cifs: Unknown symbol slow_work_register_user

cifs: Unknown symbol slow_work_enqueue

found in similar thread for Galaky Tab that i need to compile slow_work module and load it before because of that dependancies, Found another thread with instructions for compiling slow-work, followed them:

copied all slow-work files in cifs, Remove the calls to round_jiffies in fs/cifs/slow-work.c: round_jiffies(jiffies + SLOW_WORK_CULL_TIMEOUT)); changed to

jiffies + SLOW_WORK_CULL_TIMEOUT); AND round_jiffies(jiffies + SLOW_WORK_OOM_TIMEOUT)); TO jiffies + SLOW_WORK_OOM_TIMEOUT);

edited fs/cifs/Makefile and added slow-work.o to the obj-$(CONFIG_CIFS) += cifs.o line: obj-$(CONFIG_CIFS) += cifs.o slow-work.o.

Ran make command from above, got both modules (cifs.ko and slow-work.ko) in fs/cifs directory without errors.

Copied them to phone, done insmod and got error for slow-work:

insmod: init_module 'slow-work.ko' failed (no such file or directory)

dmesg provided following message:

slow_work: module licese "unspecified" taints kernel
slow_work: Unknown symbol mutex_lock_nested

Now i'm clueless (like i haven't been all the time :-D).

All modules compiled without errors, tun.ko will load, cifs.ko apparently need slow-work to run, slow-work compiled, but can't load.

So, if somebody can help, or point me where is possible error, i will be very grateful.