The 1st step was building the dreambox image:
The next step was getting the source from http://linuxtv.org/hg/~anttip/af9015/ with
Insert these lines at the beginning of the Makefile in /af9015:
Code
export KERNELRELEASE := 2.6.18-r7.0
export SRCDIR := ~/dreambox/dm8000/build/tmp/work/dm8000-oe-linux/linux-dm8000-2.6.18-r7.0/linux-2.6.18
export OUTDIR := ~/dreambox/dm8000/build/tmp/work/dm8000-oe-linux/linux-dm8000-2.6.18-r7.0/linux-2.6.18
export DESTDIR := /tmp
export LANG := C
export AS := /home/dreambox/dreambox/dm8000/build/tmp/cross/mipsel/bin/mipsel-oe-linux-as
export CC := /home/dreambox/dreambox/dm8000/build/tmp/cross/mipsel/bin/mipsel-oe-linux-gcc
export LD := /home/dreambox/dreambox/dm8000/build/tmp/cross/mipsel/bin/mipsel-oe-linux-ld
Next step is to edit the Makefile in /af9015/v4l:
Edit line 17:
Edit line 182:
Code
MYCFLAGS := CFLAGS="-mips32 -I../linux/include -D__KERNEL__ -I$(KDIR)/include -DEXPORT_SYMTAB -I/home/dreambox/dreambox/dm8000/build/tmp/staging/dm8000-oe-linux/kernel/include/asm-mips/mach-generic -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fPIC -mno-abicalls -G 0"
af9015/v4l/compat.h line 251:
Code
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
#ifndef _LINUX_TYPES_H
typedef unsigned long uintptr_t;
#endif
#endif
Whenever the compiler had a problem with list_entry (e.g. v4l2-event.c, v4l2-mem2mem.c) functions, I inserted:
Code
/**
* list_first_entry - get the first element from a list
* @ptr: the list head to take the element from.
* @type: the type of the struct this is embedded in.
* @member: the name of the list_struct within the struct.
*
* Note, that list is expected to be not empty.
*/
#define list_first_entry(ptr, type, member) list_entry((ptr)->next, type, member)
Before starting the make, I set up the terminal with:
and I also built only the modules I really needed: So before making the modules:
Then
Then
There have been some more changes (I think a typedef with bool), but I think you should start and try to see how far you come.