FAQ

Cannot load kernel object file adadio.ko
We are running Ubuntu 2.6.31-11. The computer was running a program to read from an analog-to-digital conversion board called the ADADIO by General Standards Corp. The windows environment was acting sporadically so we reset the platform. After rebooting the computer, we could no longer run the file that reads from the ADADIO board. The error message "cannot load adadio.ko" is displayed. We replaced the ADADIO driver board; so, we believe this is a software issue / operating system issue associated with a forced reset.

Have you tried reinstalling the driver yet? Download the adadio.tar.gz file and follow the steps from this manual, when you want to try this opportunity: http://www.generalstandards.com/driver-manuals/adadio_linux_driver_user_manual.pdf



How to create .ko files in Linux

ifneq ($(KERNELRELEASE),)
obj-m   := mymodule.o
else
KDIR    := /lib/modules/$(shell uname -r)/build
PWD     := $(shell pwd)
all:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
install:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
%:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $@
endif

When window gives you an error message saying that it cannot open .ko files, this means either:
  1. You need to identify a program that can open the file or
  2. Your registry may be damaged.

JetDroid partition did not create .ko file:
.ko = modules so copy them to modules folder then edit init.rc and either add each by name that you want to load or 
insmod /system/lib/modules/*.ko
or force load a specific one or all.

insmod --help
Force load should be insmod -fkr check the --help output and adjust.

You can use a 2.6.29 kernel and 2.6.3* modules provided you did not select the is kernel "make menuconfig" page option that make a specific kernel name + number for both kernel and modules. It should still work but would complain this is not from the same number kernel if you added this specific numbering option.

Then build the modules / .ko files in 2.6.3* and force load or make your 2.6.29 kernel with the same name of the modules as modules in 2.6.3* so dhd.ko is modules in both 2.6.29 and in 2.6.3* kernel config + the problems something like this can cause. 



The optimizer script has a ext2.ko, but problem is, with a class 2 or 4 SD card, which is very slow, non-journalled filesystem is a big headache.  
Please see following modules for it (also you can install it use clockworkmod) from http://dateno1.egloos.com/category/%EB%A1%AC%ED%82%A4%EC%B9%9C%20for%20motoroi
also it support ext3 if you copy jbd.ko and ext3.ko on /system/lib/modules

So I copied the .ko files and loaded them. Already I had my SD partitioned, and second partition is ext3 already, and I could successfully mount the same:

insmod jbd.ko
insmod ext3.ko
mount -t ext3 /dev/block/mmcblk0p2 /data/sdext




The optimizer script has a ext2.ko, but problem is, with a class 2 or 4 SD card, which is very slow, non-journalled filesystem is a big headache. Several times I managed to corrupt the ext2 filesystem -- and though later repaired by linux, it resulted in lost files. So if I get a ext3.ko I'll format the other partition of SD card in ext3 minimizing the risk of filesystem corruption.

Regarding corruption of the filesystem, why dont you check it before mount?  For example, relevant entries in mot_boot_mode are:


#load ext and mount sdcard
insmod /system/lib/modules/ext2.ko
/system/xbin/e2fsck-or -p /dev/block/mmcblk0p2 > /cache/dalvik-cache/ext2check.log
/system/xbin/busybox mount -t ext2 -o noatime,nodiratime /dev/block/mmcblk0p2 /system/sd
/system/sdremount.sh


as far as i remember i get the e2fsck-or from some openrecovery:)

if you are curious here is the /system/sdremount.sh


/system/bin/mount -o remount,noatime /dev/block/mtdblock9 /data
/system/bin/mount -o remount,noatime tmpfs /tmp
echo 0 > /sys/block/mtdblock9/queue/rotational
echo 0 > /sys/block/mtdblock7/queue/rotational







I keep getting an error of 'r8168.ko' no such file or directory
cgp@cgp-System-Product-Name:~/r8168-8.012.00$ make clean modules
make -C src/ clean
make[1]: Entering directory `/home/cgp/r8168-8.012.00/src'
rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers Module.markers *.order
rm: cannot remove `.tmp_versions': Permission denied
make[1]: *** [clean] Error 1
make[1]: Leaving directory `/home/cgp/r8168-8.012.00/src'
make: *** [clean] Error 2

It just didn't remove a temp file. Then I do this.....

cgp@cgp-System-Product-Name:~/r8168-8.012.00$ make install
make -C src/ install
make[1]: Entering directory `/home/cgp/r8168-8.012.00/src'
install -m 744 -c r8168.ko /lib/modules/2.6.38-11-generic/kernel/drivers/net/
install: cannot stat `r8168.ko': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/cgp/r8168-8.012.00/src'
make: *** [install] Error 2




Problem building kernel modules (where are the .ko files?)

I'm using a 6467 EVM and following the instructions to build the kernel and modules. Everything appears to succeed but I don't see any .ko object files. This is also a problem when I get around to building the cmemk module.
Am I missing something? I'm using DVSDK 1.40.00.31. I followed the instructions from section 4.5 of spruf88b.pdf.  Thanks for any clues.

csmith@localhost->~/workdir/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082 [65] make ARCH=arm CROSS_COMPILE=arm_v5t_le- modules
  CHK     include/linux/version.h
  SPLIT   include/linux/autoconf.h -> include/config/*
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-davinci
make[1]: `arch/arm/kernel/asm-offsets.s' is up to date.
make[1]: `include/asm-arm/mach-types.h' is up to date.
  Building modules, stage 2.
  MODPOST
csmith@localhost->~/workdir/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082 [66]
csmith@localhost->~/workdir/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082 [66]
csmith@localhost->~/workdir/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082 [66] find . -name "*.ko"
<<< where are the .ko files?!?!?! >>>
csmith@localhost->~/workdir/lsp/ti-davinci/linux-2.6.10_mvl401_LSP_01_30_00_082 [67]