Yocto 3.10.65 with Intel Edison patches

I have to admit to being incredibly frustrated that my Edison would not boot a stock kernel; Intel’s Edison patches are apparently a must. Fine, but the Edison patches branched off of kernel 3.10.17, which expired back with the dinosaurs.

I’ve got a github repo up based on Yocto 3.10’s kernel version 3.10.65, with Intel Edison patches merged in, and it seems to work well: https://github.com/esialb/yocto-3.10-edison

I’ve been building new kernels by cross-compiling them on my desktop, and using dfu-util to load new firmware on the Edison with the new kernel. The github repo includes a script that modifies the disk images in an Edison dfu-util toFlash/ directory to install a kernel you have just built. Example:

$ git clone https://github.com/esialb/yocto-3.10-edison.git
<snipped>
$ cd yocto-3.10-edison
$ make xconfig
<snipped>
$ make clean; make
<snipped>
$ sudo ./EDISON/dfu-image-install.sh ../../ubilinux-robin-kernel/toFlash/
[sudo] password for robin: 
mounting filesystem images
copying kernel modules
copying kernel image
unmounting filesystem images
$ cd ../../ubilinux-robin-kernel/toFlash/
$ sudo ./flashall.sh
<snipped>

The image updater script needs to run sudo root, because it has to mount to filesystem images to modify them, but flashall.sh runs as root anyway.

I’ve also included a patch that fixes the kernel panic caused on 3.10.17 whenever a bluetooth rfcomm connection is closed, so I can run a login window on a bluetooth serial port now.

Anyway, I’m hoping people will find this useful, maybe even give suggestions. It was worth it for me to do just for myself.

It’s worth noting that this code builds a bcm4334x driver in addition to the stock yocto kernel, if you use the ```
EDISON/rebuild.sh

Upstream kernel supports Edison somehow, see <LINK_TEXT text="https://edison.internet-share.com/wiki/ … el_Edison
">https://edison.internet-share.com/wiki/Using_a_vanilla_Linux_kernel_with_Intel_Edison
</LINK_TEXT>