Please Help! install_kernel not working on newly setup sd card.

First - I’d like to say the work done by Robert C Nelson, and others in this group is fantastic.

I created an SD card from Roberts site that looks something like this:
Linux arm 3.14.22-ti-r31 #1 SMP PREEMPT Fri Oct 24 20:50:46 UTC 2014 armv7l GNU/Linux

Is that PREEMPT_RT patched by default? Excellent.

The problem I’m having, is that I want to build a new kernel (3.14.4-bone4) from Robert’s git repo.

https://github.com/RobertCNelson/linux-dev/tree/3.14.4-bone4

I followed the instructions to get it, build it, modify system.sh, and install it to the SD card I’ve got.
It looks like it’s all working… here’s the output:


Trying: [/dev/sdb1]

Partition: [/dev/sdb1] trying: [vfat], [ext4]

Partition: [extX]

Installing 3.14.4-bone4 to /dev/sdb1

/home/mike/linux-dev-3.14.4-bone4/deploy/3.14.4-bone4.zImage' -> /home/mike/linux-dev-3.14.4-bone4/deploy/disk/boot/zImage’

Installing 3.14.4-bone4-dtbs.tar.gz to /dev/sdb1

Installing 3.14.4-bone4-modules.tar.gz to /dev/sdb1

Installing 3.14.4-bone4-firmware.tar.gz to /dev/sdb1

/home/mike/linux-dev-3.14.4-bone4/deploy/config-3.14.4-bone4' -> /home/mike/linux-dev-3.14.4-bone4/deploy/disk/boot/config-3.14.4-bone4’

/home/mike/linux-dev-3.14.4-bone4


This script has finished…

For verification, always test this media with your end device…

But, when I put the card in and boot holding down the button, it still boots with the original kernel on the card.

Anybody got a guess at why?

I mounted the SD Card on my #! machine and the file system isn’t what I expected.
I expected:

/dev/sdb1 ← some small vfat with boot/uboot
/dev/sdb2 ← everything else

It looks like it’s all on /dev/sdb1 as ext4.
and inside /boot, I see the zImage file that was copied over by install_kernel.sh, but there’s also a vmlinuz file.

I’m guessing the “install_me.sh” for the 3.x.x-ti kernel types sets up a different boot structure, and that’s why zImage is getting ignored.

Can somebody please clarify?

Wrong repo/branch... (the "3.14-bone" is eol..)

https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/ti-linux-3.14.y

I don't advertise it because it's in a solid state of re-basing
against ti's 3.14 tree..

It's best to just use:

https://github.com/beagleboard/linux/tree/3.14

Regards,

Thanks Robert!

Those scripts in your EOLd repo are so promising/helpful.

Due to some CAN bugs, I think I’m going to either have to patch 3.14.something, or go for a new kernel like 3.17.x

I noticed you’ve got 3.17 stuff here:

http://rcn-ee.net/deb/wheezy-armhf/v3.17.2-bone5/

But if I needed to get the source to patch/rebuild, how would you recommend I go about doing that?

So can on omap is getting a big push for v3.19-rc (as v3.18.0 should
be tagged this sunday) it'll still be a couple weeks before v3.19-rc0
will be bootable..

either use: v3.14.x
https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/ti-linux-3.14.y

or, v3.18-rc:
https://github.com/RobertCNelson/bb-kernel/tree/am33x-v3.18

Regards,

Excellent - thank you, Robert.

You mentioned OMAP… I’m still trying to figure out how to tell what commits end up in a given release.
For example:

https://git.kernel.org/cgit/linux/kernel/git/tmlind/linux-omap.git/log/drivers/net/can/c_can/c_can_platform.c

Latest Commit:

https://git.kernel.org/cgit/linux/kernel/git/tmlind/linux-omap.git/commit/drivers/net/can/c_can/c_can_platform.c?id=a7380db5f0d6dd94981e73da08d8fa863ee72235

Is that part of what’s getting pushed for v3.19-rc?
How do I look that up?

https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/log/?id=refs%2Ftags%2Fnext-20141205&qt=grep&q=dcan

Regards,

Robert,
Thank you for your help so far.

I see that you have 3.18-bone1 in your repo… I was able to cross compile it and put it on the beagle thanks to your scripts.

It looks like PREEMPT_RT is not patched?

Do you have recommendations on how to patch it?

Thanks,
Mike

PREEMPT_RT has funding issues, and right now they only go up to v3.14.x

https://www.kernel.org/pub/linux/kernel/projects/rt/

But you know, we have Xenomai for v3.14.x:

sudo apt-get update

sudo apt-get install linux-image-3.14.26-ti-xenomai-r41

Regards,

sudo apt-get install linux-image-3.14.26-ti-xenomai-r41

Hah, it’s never easy is it? If I go down to 3.14 I’ll have a fun time patching the CAN changes from 3.19-rc0.

I’ll give that a shot… perhaps I’ll setup a few different cards.

  • 3.18-bone1
  • 3.14 with preempt_rt
  • 3.14 with xeniomai (I’ll need the source to recompile with CAN changes)

Thanks for the tips.

sudo apt-get install linux-image-3.14.26-ti-xenomai-r41

Hah, it’s never easy is it? If I go down to 3.14 I’ll have a fun time patching the CAN changes from 3.19-rc0.

I’ll give that a shot… perhaps I’ll setup a few different cards.

  • 3.18-bone1
  • 3.14 with preempt_rt
  • 3.14 with xeniomai (I’ll need the source to recompile with CAN changes)

We should have all the can changes TI made to v3.19 in our 3.14-ti… :wink:

Excellent. I believe we’ve just come full circle…

So -
https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/3.14.26-ti-r41

Has the CAN changes, doesn’t have RT or Xenomai (ipipe) patches

https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/3.14.26-ti-xenomai-r41

Has the CAN changes, and Xenomai

https://github.com/beagleboard/linux/tree/3.14.26-ti-r41

TI’s kernel tree - doesn’t have your wrapper scripts/tools.

Sound about right?

Pretty much:

This is ti's git tree i'm using as a base:

http://git.ti.com/gitweb/?p=ti-linux-kernel/ti-linux-kernel.git;a=shortlog;h=refs/heads/ti-linux-3.14.y

The https://github.com/beagleboard/linux/ branch has that plus all
the local cape changes.

Regards,