-   Linux - Newbie (
-   -   UVC Cross Compile (

beyern 04-20-2010 10:54 AM

UVC Cross Compile
Hello everyone,

I am trying to compile a uvc driver for my Embedded ARM TS-7800 and I have a few questions. First of all I am trying to cross compile on my suse pc and the board runs Debian. I got the uvc driver here
and I am using the cross tool
ts7800-crosstool-linux-gnueabi-2005q3-2. I also have the kernel source
linux-2.6.21-ts-src-latest. I have extracted all of these in the same
directory. I do the command

ben@linux-pruk:/uvcvideo-553dfd853cba> make

and I get this:

make -C /uvcvideo-553dfd853cba/v4l
make[1]: Entering directory `/uvcvideo-553dfd853cba/v4l'
Updating/Creating .config
Preparing to compile for kernel version 2.6.31
File not found: /lib/modules/ at
./scripts/ line 32, <IN> line 4.
make[1]: *** No rule to make target `.myconfig', needed by `config-compat.h'.
make[1]: Leaving directory `/uvcvideo-553dfd853cba/v4l'
make: *** [all] Error 2

It is trying to make it for 2.6.31 (kernel on suse box)and I am not sure how to get it to make for the TS-7800's kernl 2.6.21. Do I need to change something in the makefile to point to the kernel source? If so what would need to be changed?

In that uvc tar file there is a lot of documentation that I have read but it is still not really clear what I need to do. There is also v4l2-apps, v4l, media-specs, v4l_experimental, and linux in the uvc tar. The uvc source files are in the directory linux/drivers/media/video/uvc. Do I just need compile this or do I need to compile everything from the uvcvideo-553dfd853cba directory?

Does anyone know what I am doing wrong? Sorry if it is
something simple I am new to linux and I have never cross compiled anything before. I have been doing research on cross compiling but it is not very clear to me what I need to do. If anyone could help me out I would really appreciate



bsat 04-21-2010 08:30 AM

I am not very sure but I think in the makefile there will be a variable that will point to the kernel directory, I guess you will have to change that path to where ever your new kernel is.

swtvdg 05-01-2010 06:17 PM

RE: UVC Cross Compile (on TS-7800)
Hello -

I'm attempting the exact same thing for the TS-7800 (nice to know I'm not the only one trying this :^)). I've made it a little further but now I'm hitting against some missing members on structures. I'm being to think that the 2.6.21 kernel is too old for the current uvcvideo, but I may be wrong.

Here is what I've done to get a little further:

1) In the top level Makefile i've added the following line to the top of the Makefile:

CROSS_COMPILE=~/arm-non-linux-gnueabi/bin/arm-none-linux-gnueabi -

This is where my TS-7800 vendor supplied tool-chain resides.

2) In the v4l/Makefile I changed the following:

OUTDIR ?= ~/linux-2.6.21-ts/
SRCDIR ?= ~/linux-2.6.21-ts/

I've already compiled the vendor supplied 2.6.21-ts source tree and used other modules on the TS-7800. I'm now hitting against missing structure members and saw some warnings about the old kernel version.

My current plan of attack is isolate just what I need for the Logitech quick cam Orbit AF and try to compile that only. I may attempt to compile a current kernel tree, which should have the new uvc to support the orbit af.

I'd love to hear of any thoughts on how to get this compiled and working.

Hope this helps ...and I hope to hear more. Thanks!

All times are GMT -5. The time now is 07:52 PM.