A bit of news, I got it all compiled and the new initramfs incorporated. So it is all ready, just need to put it on the SD card and fire it up. Hopefully today if I'm not too busy getting all those Black Friday "deals" ;>))
So here is an excerpt from my how-to on patching the kernel. Still a WIP:
Clone the 3DR kernel source repo from:
Don't use master, check out sololink_v1.3.0-5 This is the code with the proper commit ID:
Get the 3DR patches from their "open source" page
These are the ones 0001-0003.
This is the aufs code for 3.10 NOT 3.10.x (yes it does matter)
Copy the patches into the root of the kernel source directory
Then run the following commands:
patch -p1 < patch-3.10.17-rt12.patch
patch -p1 < aufs3-base.patch
patch -p1 < aufs3-kbuild.patch
patch -p1 < aufs3-mmap.patch
patch -p1 < aufs3-loopback.patch
patch -p1 < aufs3-standalone.patch
patch -p1 < 0001-dts-changes-to-add-uart5.patch
patch -p1 < 0001-fix-build.patch
patch -p1 < 0002-fix-build-with-rt-enabled.patch
patch -p1 < 0003-no-split-ptlocks.patch
patch -p1 < tmpfs-idr.patch
patch -p1 < vfs-ino.patch
Unfortunately, when 3DR patched the kernel to add RT, aufs, and other things they did not commit those to the repo so if you compile the kernel now, the version will come out as 3.10.17-rt12-1.0.0_ga-g4176d57-dirty
which is of course not the same as 3.10.17-rt12-1.0.0_ga-g4176d57. And if you commit those changes you get a completely different commit ID.
Catch 22? Well not quite.
So don't commit and do the "dirty trick" to /scripts/setlocalversion
Later when we move on from 3.10.17-rt12-1.0.0_ga-g4176d57 we can commit to our hearts content and remove the
"dirty trick". I don't know how 3DR handled this, but the commit ID 4176d5778007e557256a06c79e270e65cc753ffd
CANNOT BE ASSOCIATED WITH ANY OTHER VERSION OF THE CODE. This also may be related to Yocto and its' build system.
Replace: printf '%s' -dirty
With: printf '%s'
Next, find and clone the videoloopback repo. You want to be able to use this don't you?
It needs to be the latest code not some pre-compiled earlier version.
Since we are cross compiling here we will just integrate the code into the kernel.
We need to add this to /drivers/media/v4l2-core/Kconfig at the end.
tristate "V4L2 loopback device"
V4L2 loopback device
And also add this to /drivers/media/v4l2-core/Makefile at line 35.
obj-$(CONFIG_V4L2_LOOPBACK) += v4l2loopback.o
Then we add videoloopback.c and videoloopback_formats.h to /drivers/media/v4l2-core/