BBB running 3.14 kernel, EMMC driver bug

We are using a 3.14 kernel from a build that RCN supplied some 5-6 years ago, that runs on a Ti development board. The newest versions of the BBB use an EMMC device that doesn’t work with the 3.14 kernel due to a bug in the EMMC device driver. I had had a problem converting our Device Tree file to the newer style used in the 4.x kernels so we stayed with the 3.14 kernel. Here is a link to the change that needs to be done to fix the problem: mmc: Allow forward compatibility for eMMC · beagleboard/linux@166ab8c · GitHub.

My question is, can the 3.14 kernel be fixed and provided so that we can install it in our current images? If not, can you recommend some Linux kernel consultants that can update the Device Tree files so that we can use a newer version of your build system, I’m on another project that is consuming 100% of my time so don’t have the time to fix this issue. We are located in southern California.

Thanks in advance,
Greg Wilson-Lindberg

Hi @gwlindberg it’s been a funny week… I had the same question yesterday on the same issue, but 3.8.13…

So 3.14.x is easy to rebuild… Which version is it running (uname -r) and what distro are you using to “build” the kernel, as we will have to patch the build script again…

In general the fix is:

git clone https://github.com/RobertCNelson/yakbuild
cd ./yakbuild/
cp recipe.sh.v3.14.x.sample recipe.sh

#Open recipe.sh and change: 3.14.79-ti-r92 -> (or whatever kernel you are running)

#Copy the patches into ./patches/local_patches/

cp -v patches/eMMC/3.14.x/* patches/local_patches/

#run ./build_deb.sh

#if you run ./build_deb.sh, just copy the ./deploy/linux-image*.deb to your target and install via dpkg..
sudo dpkg -i linux-image*.deb

Regards,

Hi @RobertCNelson,
I’m not at work right now, I’ll try it once I get back. We’ve had the problem that the Seeed BBB’s are using the newer v5.1 EMMC chips and we had had a problem getting the GHI BBB’s that are still using the older 4.x chips.

Thanks for the tips, and I’ll let you know how well it works when I get a chance to test it.

Regards,
Greg Wilson-Lindberg

Hi @RobertCNelson,
I obviously haven’t done this kind of thing enough, how do I get a .patch file from the link that I included in the first message?

Am I going to have to pull all of the kernel files, or is there some magic git command that can produce it for me?

Thanks in advance,
Greg

Never mind, I was being blind, I didn’t realize that the patch I needed was already in the build system. If I had just really read your post.

Sorry for bothering you,
Greg

Hi @RobertCNelson,
I ran the build but then ran into a problem downloading a file, the path is: /deb/sid-armhf/v3.14.49-ti-r62/patch-3.14.49-ti-r62.diff.gz on your server. I can’t include the output of the build because the eewiki system won’t allow me to.

Is there some way to fix this? Or am I running a bad version of the kernel?

Greg

What are you actually running on that board? uname -r ?

git: [git clone -b 3.14.49-ti-r62 https://github.com/RobertCNelson/linux-stable-rcn-ee]
Cloning into '/opt/github/yakbuild/KERNEL'...
warning: Could not find remote branch 3.14.49-ti-r62 to clone.
fatal: Remote branch 3.14.49-ti-r62 not found in upstream origin
Sorry, 3.14.49-ti-r62 is not in git, trying via patch
git: [git clone -b v3.14.49 https://github.com/RobertCNelson/linux-stable-rcn-ee]

and

--2021-06-21 15:14:46--  https://rcn-ee.com/deb/sid-armhf/v3.14.49-ti-r62/patch-3.14.49-ti-r62.diff.gz
Resolving rcn-ee.com (rcn-ee.com)... 45.33.2.10, 2600:3c00::f03c:91ff:fe37:6ad5
Connecting to rcn-ee.com (rcn-ee.com)|45.33.2.10|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-06-21 15:14:46 ERROR 404: Not Found.

If we look at the server:

server

“r62” was : 3.14.40-ti*

and looking at the git log, 3.14.40-ti-r62 was my tag…

github

So, 3.14.49-ti-r62 is not MY kernel release…

Regards,

HI @RobertCNelson,
I re-checked the kernel version and I did copy it correctly, it turns out that it’s been so long that I had forgotten how I built and I’m using a TI kernel.

Sorry to have bothered you about this.

Greg