This project creates a custom uvcvideo.ko kernel driver patched with the changes needed to drive a geo camera. It is tailored to support the Resin image kernels.
- Update the Dockerfile with the architecure you intend to build for. It is defaulted to raspberrypi3
docker build -t myimagename .Docker run -it --rm -v $(pwd)/output:/output myimagename --version 1.0.0 --build
The image will paste the resulting module to file.io when run. It will display the url you can use to then download it. The image will also place the kernel and the deb package it creates in the /output folder which you can map to your local filesystem.
- You can build the image and then do a
docker run -it --rm myimagename --listto see all of the resin OS versions by platform. - You will need to create a new minimal application for the OS/Platform of interest and manually inspect it with
uname -ato find the kernel version that is used. - The version number is required, but you have to manage it. This is used by the debian installer.
Below steps will prepare and compile the uvc driver for current kernel:
-
Download Linux kernel source code version as per running on host platform. Kernel source can be downloaded from here: kernel.org
-
Extract (untar) kernel source tar ball and copy
<linux-x.x.x.>/drivers/media/usb/uvcdirectory to$GEOSW_ROOT/condorsw/host/lib/uvcvideo. -
cd $GEOSW_ROOT/condorsw/host/lib/uvcvideo. -
untar -xf linux-x.x.x.tar.xz -
cp -a <linux-x.x.x>/drivers/media/usb/uvc $GEOSW_ROOT/condorsw/host/lib/uvcvideo -
cd $GEOSW_ROOT/condorsw/host/lib/uvcvideo
-
-
Check
patches/under$GEOSW_ROOT/condorsw/host/lib/uvcvideoand choose patches as per kernel version of host platform.-
If the kernel version does not match, please choose nearest (lower than kernel version) patch and apply patches over
uvc/directory as following:-
patch -p4 < patches/uvcvideo-<version>.patch -
patch -p4 < patches/uvcvideo-make-<version>.patch -
NOTE: For 2.6.26 and 3.0 kernel patches, please use
-p1patch level in above
-
-
-
Build uvc driver kernel module, using:
cd $GEOSW_ROOT/condorsw/host/lib/uvcvideo/uvcmake