I have started to look into Yocto support for the i.MX6Q Sabre-lite, and I'm wondering how Freescale is managing their kernels. Is Freescale going to work with the community or continue to exclusively develop their kernels internally (with the exception of pulling updates from Linaro and Linus as needed).
I found this site:
https://github.com/Freescale/fsl-community-bsp-base
This claims to be a starting point for getting started with Yocto. When you look into it, it makes use of this metadata for i.MX:
https://github.com/Freescale/meta-fsl-arm
The kernel recipes are here:
https://github.com/Freescale/meta-fsl-arm/tree/master/recipes-kernel/linux
There only appears to be two recipes for i.MX6 - kernel 3.0.15 and Mainline. This is based on the "COMPATIBLE_MACHINE" line in the recipe.
The recipe for 3.0.15 uses the following repository:
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/
Given there is no branch or commit hash identified in the URI, I'm assuming that it will pull from branch master, which according to the repository was updated 9 months ago. This is pretty old, and I know it is not the latest because of this:
http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tag/?id=rel_imx_3.0.35_12.09.01
Which was just committed last week. This looks to be a source blob for the new kernels that FSL is working on, but not a source repository, per se.
So, I guess I'm wondering what the long-term approach is the Freescale is going to take?
Thanks,
John
Hello Otavio & John,
I was exploring how Free-scale is managing their kernels and how keeping sync with community and came across this discussion, but still look's like original question is not being answered as per above discussion.Do you know how frequently Free-scale open-source their fixes in community to align with Linus Tree ? If they do then, How they do this and any documentation would be really helpful.
Can we leverage both Linux community and Free-scale Fixes by taking eg. Kernel 3.14 as an Base from Freescale/linux-fslc at patches-3.14 · GitHub and then port all the Free scale fixes from FSL Bsp stable Branch http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/?h=imx_3.10.17_1.0.1_ga into it and then try to boot any Free-scale soc based reference board and verify all the features to make sure that we have sync with Linux community & Free-scale Bsp.
is Free-scale or someone else is also managing this type of tree which included both the mainline Feature and Free scale features.
Thanks in Advance !
San
Since this post from John, all the situation has improved quite a lot (but there is still a looooong way to go).
If you look at the release notes we publish (mainly the kernel related section[1]) you will see we do have a much richer environment nowadays.
1. FSL Community BSP Release Notes 1.7 documentation
It is possible to have the features ported, as has been proved by SolidRun's work doing the 3.14-based kernel which support most of features of i.MX6. However it is important to notice that this is an unofficial kernel and Freescale does not support it.
Thanks Otavio,
Are you referring richer environment in terms of supporting various sources of Linux Kernel to various Board ?
Do you have any idea How often Free-scale is releasing patches/bugfixes to mainline kernel version, so that It can help people to port only needed feature/Bug-fixes from the Free-scale BSP to stable Mainline Tree.Does anyone taking care/maintaining imx/soc & imx/dt branches separately so that we can simply merge into mainline kernel.
Beside that, I will try to understand the methodology of SolidRun's maintaining/ported most of features of i.MX6 over 3.14-based open-source kernel.
Thanks in Advance !
Yes; the community has a much larger support spectrum and keep doing a great job supporting 40+ different boards across different board vendors.
Freescale roadmap is not public so all information needs to come from them to you; I think you can ask your Freescale FAE or Sales contact to know more.
About SolidRun's kernel it provides a good base for work in a more up to date kernel. Good luck.
Thanks Otavio,
What about Shawn Guo's Kernel tree https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/refs/tags as compared to SolidRun's kernel ? Overall my intention is to run 3.14 kernel which should include Free-scale BSP feature/bugfixes on Nitrogen6x Board and after exploring I have learn that Solid Run's is targeting for CubeBox Board and may be required some effort to made compatible with Nitrogen6x Board.What is your opinion on Kernel Tree selection ?
Shawn's tree is the mainline integration branch as he is the i.MX maintainer on Linux kernel project.
Yes; SolidRun's is targeting their board of course and yes you will need to put some effort for this to work with another board. That's life :smileywink:
Hello,
I cannot talk per Freescale itself but meta-fsl-arm will be updated to last 3.0.35 version soon.
Until BSP is public available some parts won't be available in meta-fsl-arm but the public are included (and will be updated soon).
Hi Otavio –
I my thought is this: with other projects there is an open repository where both Freescale and the community of developers can contribute code. What I see here is Freescale doing a lot of contributing and not really asking for much help from the community. It seems that with projects like Sabre-lite and others that it would behoove Freescale to be more collaborative in their approach. Perhaps by doing that they can be even closer to the Mainline kernel than they are. And, others could fix bugs that Freescale doesn’t have time or desire to fix.
John
Hi John,
Kernel mainline support for iMX6 is good (I think VPU might not work, not sure) but it seems 3.0.x kernels done by Freescale are still being done internally and made public just when done.
Let's hope it improves in future :-) I am trying hard to work torvalds mainline and it in the end make all people life easier.
Regarding Yocto, we've been using U-Boot mainline by default for quite some time :-)