FW: Mainline Kernel Support for BeagleBoard/BeagleBone

Sorry to just throw in the public list without asking, but I'd like to
promote this approach as wide as possible and none of this information
seems private to me.

Do you know about http://github.com/beagleboard/kernel/tree/3.8? The
patch set against 3.8 will tell you how far BeagleBone is from being
supported in the mainline. Most all of the patches have already been
submitted to the upstream maintainers to land in 3.9 or 3.10.

I suggest making a fork of that tree and maintaining a branch with
Xenomai patches. It will both simplify your testing by enabling you to
bring in the latest patch sets as well as simplify integration done by
Koen and Robert into Angstrom, Ubuntu, Debian, etc. Because they
already support OMAP3, support on BeagleBoard and BeagleBoard-xM
should "just work" giving you an easy point of testing before moving
on to BeagleBone.

Because the xenomai patches aren't headed upstream, you might not ever
see them in the shipping Angstrom distro, but getting the patches into
the tree would make it easy to put an additional kernel, say, into the
Angstrom feeds for easy installation.

In any regards, I hope you see that patch-set tree as a useful way to
collaborate around the evolving BeagleBoard and BeagleBone kernels.

If a test farm for future Xenomai releases (or other project highly
valued by BeagleBoard.org community members) is interested in a
BeagleBoard/BeagleBone, please do contact me again.

________________________________________
From: Jason Kridner [jkridner@beagleboard.org]
Sent: Friday, February 15, 2013 9:09 AM
To: Gregory Perry
Cc: beagleboard@googlegroups.com
Subject: Re: FW: Mainline Kernel Support for BeagleBoard/BeagleBone

Sorry to just throw in the public list without asking, but I'd like to
promote this approach as wide as possible and none of this information
seems private to me.

Do you know about GitHub - beagleboard/kernel at 3.8? The
patch set against 3.8 will tell you how far BeagleBone is from being
supported in the mainline. Most all of the patches have already been
submitted to the upstream maintainers to land in 3.9 or 3.10.

I suggest making a fork of that tree and maintaining a branch with
Xenomai patches. It will both simplify your testing by enabling you to
bring in the latest patch sets as well as simplify integration done by
Koen and Robert into Angstrom, Ubuntu, Debian, etc. Because they
already support OMAP3, support on BeagleBoard and BeagleBoard-xM
should "just work" giving you an easy point of testing before moving
on to BeagleBone.

[snip]

I think this is where the main integration problem is. The Xenomai project maintainers are resolutely against the concept of maintaining a separate kernel branch with integrated Xenomai patches; their integration documentation mandates the use of pre and post patch sets with each kernel release, which in turn complicates support for Robert Nelson's BeagleBoard/BeagleBone patch process. It seems the process of patching the kernel for either Xenomai or Robert Nelson's patches is a straightforward process, but to get both in the same kernel... not so much.

Does that mean you've tried putting the Xenomai patches at the
beginning and at the end of patch.sh and you see conflicts? Perhaps
you can share some of the conflicts with the list and solicit help in
resolving them.

________________________________________
From: Jason Kridner [jkridner@beagleboard.org]
Sent: Friday, February 15, 2013 1:44 PM
To: Gregory Perry
Cc: beagleboard@googlegroups.com
Subject: Re: FW: Mainline Kernel Support for BeagleBoard/BeagleBone

[snip]

Does that mean you've tried putting the Xenomai patches at the
beginning and at the end of patch.sh and you see conflicts? Perhaps
you can share some of the conflicts with the list and solicit help in
resolving them.

That's the rub. As of now, Xenomai requires a 3.2.21 kernel. According to Robert Nelson, the only way to get to that kernel with the BeagleBone patches applied is to start with 3.2 and apply the BeagleBone patches with each release up to .21, at which point the Xenomai patch set can be applied.

I have not done that yet, and the suggestion from Robert Nelson was to work with 3.8... which does not have any Xenomai support. So back to square one with a unified kernel that has both Robert Nelson's and the Xenomai patch sets applied.

________________________________________
From: Jason Kridner [jkridner@beagleboard.org]
Sent: Friday, February 15, 2013 1:44 PM
To: Gregory Perry
Cc: beagleboard@googlegroups.com
Subject: Re: FW: Mainline Kernel Support for BeagleBoard/BeagleBone

[snip]

Does that mean you've tried putting the Xenomai patches at the
beginning and at the end of patch.sh and you see conflicts? Perhaps
you can share some of the conflicts with the list and solicit help in
resolving them.

That's the rub. As of now, Xenomai requires a 3.2.21 kernel. According to Robert Nelson, the only way to get to that kernel with the BeagleBone patches applied is to start with 3.2 and apply the BeagleBone patches with each release up to .21, at which point the Xenomai patch set can be applied.

Should point out, that's just the 'hand' of cards we as the
beagleboard.org community was dealt with for v3.2.x... Someone could
always take v3.2.21 and do a direct diff with out patchset to create a
mega-beaglebone.patch, would that work for you? But that's even less
maintainable then our already un-maintainable v3.2.x branch.

I have not done that yet, and the suggestion from Robert Nelson was to work with 3.8... which does not have any Xenomai support. So back to square one with a unified kernel that has both Robert Nelson's and the Xenomai patch sets applied.

Honestly, looking at how large the v3.8 patchset is at this point,
target v3.9-rc1 and then back port.. :wink:

Regards,

Yeah, I thought they had something that worked against a newer
mainline, such as 3.7 or the 3.8-rcX's. That 3.2 stuff is too old to
draw a lot of collaboration.

________________________________________
From: beagleboard@googlegroups.com [beagleboard@googlegroups.com] on behalf of Robert Nelson [robertcnelson@gmail.com]
Sent: Friday, February 15, 2013 2:09 PM
To: beagleboard@googlegroups.com
Subject: Re: [beagleboard] RE: FW: Mainline Kernel Support for BeagleBoard/BeagleBone

[snip]

Honestly, looking at how large the v3.8 patchset is at this point,
target v3.9-rc1 and then back port.. :wink:

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

Well, that's even better news. Guess I can't say that I wasn't warned :wink:

Hi Everybody,

Xeomai currently supports for ARM [1] 3.2.21, 3.4.6, 3.5.7 and for the bone there is a pre and post patch for 3.2.21 [2]

I don’t think that the problem is with Xenomai, but with the BeagleBone not being mainline. The reason I still use beagle-xm boards is, that they are mainline and as such Xenomai patches can be applied. The only thing, which is a bit messy is to get a kernel config, which behaves nicely with Xenomai.

Regarding the BeagleBone it’s on the way to mainline and 3.9/3.10 might be the first releases where the Bone works with mainline out of the box as well. It could have been mainline already, but laying off a few thousand people did certainly not accelerate the process.

Those who know me know that I’m a beagle fan from the early days on and that’s not easily going to change, but
semiconductor and board manufacturers have to understand that mainlining is the only way to go and to stay ahead of your competition.

If the board is not mainline out of tree patches like Xenomai or PREEMPT_RT are not easy to deal with.

Regards,

Robert

[1] http://git.xenomai.org/?p=xenomai-head.git;a=tree;f=ksrc/arch/arm/patches;h=cef13b8b6c3c99c4e592e7855cdf3a8b539c099a;hb=HEAD

[2] http://git.xenomai.org/?p=xenomai-head.git;a=tree;f=ksrc/arch/arm/patches/beaglebone;h=8284f8030154f5194a2a7c6b942c61edf428c8bd;hb=HEAD

If you’re looking for a way to get Xenomai on the beaglebone - check out the following:

yapatel.org/wiki/index.php/Installing_Xenomai_on_a_beaglebone