Request: Upstreaming of U-Boot and Linux changes

Forum about Parallella boot process, linux kernel, distros, SD-cards, etc.

Request: Upstreaming of U-Boot and Linux changes

Postby afy » Sun Feb 09, 2014 12:42 am

Hello,

Reminding of an issue here that I already raised in response to Andreas O.'s Dec 3 email, now that Update #49 is asking for "Linux Kernel Feedback":

The parallella.org website points to forked GitHub repositories for U-Boot and Linux kernel. That's better than throwing just some tarballs at us, thanks. However, I am still not seeing any of this work go into the respective upstream projects, and the lack of Signed-off-by lines on your Git commits is keeping other people from helping out on that front. And asking for pull requests from people outside of Adapteva (Update #49) without requiring the Developer's Certificate of Origin (DCO) will only complicate getting things upstream even more...

parallella-uboot is at v2012.10 and contains a file
https://github.com/parallella/parallella-uboot/blob/parallella-gen1/include/configs/parallella.h
Current is v2014.01 and contains no Parallella config file yet:
http://git.denx.de/?p=u-boot.git;a=tree;f=include/configs;h=4c74c08eb1d77fb7e1445189b812489d24eda2aa;hb=HEAD

parallella-linux was at v3.6.0
parallella-linux-adi is at v3.12.0 and includes a file
https://github.com/parallella/parallella-linux-adi/blob/xcomm_zynq/arch/arm/boot/dts/zynq-parallella.dts
Current is v3.14-rc1 and it contains no Parallella .dts file yet:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts

People in this forum have been asking for Adapteva to provide Ubuntu, Debian and whatever distribution images. That shows a misunderstanding of the Linux development model: It would be Adapteva's job to get their board support into Linus' mainline kernel, then Ubuntu, Debian and my preferred distro will automatically inherit this hardware support for their official releases. That will not only offer users the desired choice of recent distributions, it will also save Adapteva from having to repeatedly rebase their downstream changes.

MAINTAINERS wrote:ARM/ZYNQ ARCHITECTURE
M: Michal Simek <michal.simek@xilinx.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://wiki.xilinx.com
T: git git://git.xilinx.com/linux-xlnx.git
S: Supported
F: arch/arm/mach-zynq/
F: drivers/cpuidle/cpuidle-zynq.c
N: zynq
N: xilinx
F: drivers/clocksource/cadence_ttc_timer.c
F: drivers/mmc/host/sdhci-of-arasan.c

http://lists.infradead.org/pipermail/linux-arm-kernel/ shows no "parallella" patch submissions the last three months. Clearly kernel development does not depend on lead times for hardware parts delivery... so why has there been no progress and are there ways that we can help?

Thanks in advance.

Regards,
Andreas

P.S.: Since Adapteva will be at Embedded World later this month, you may be interested in "Linux Mainlining: benefits and process?" at Embedded World Conference (Session 12; not affiliated with them, but giving a talk on similar issues from a Linux distribution porting perspective there).
afy
 
Posts: 6
Joined: Sat Feb 08, 2014 9:32 pm

Re: Request: Upstreaming of U-Boot and Linux changes

Postby ed2k » Sun Feb 09, 2014 4:37 am

parallella is using zynq platform. nothing is worth upstream yet. that is what I see. Also I don't think parallella has the bandwidth to deal with the upstream.
ed2k
 
Posts: 113
Joined: Mon Dec 17, 2012 3:27 am

Re: Request: Upstreaming of U-Boot and Linux changes

Postby 9600 » Sun Feb 09, 2014 2:31 pm

Hi Andreas,

afy wrote:http://lists.infradead.org/pipermail/linux-arm-kernel/ shows no "parallella" patch submissions the last three months. Clearly kernel development does not depend on lead times for hardware parts delivery... so why has there been no progress and are there ways that we can help?


You will have seen from the updates that resources were stretched incredibly thin and given that Adapteva lost two key team members, I think it is understandable that there has been no visible progress on upstreaming. However, I fully agree that this is important, it is something that Andreas O. and discussed last year and will look into.

The offer of help is very much appreciated and we may take you up on this!

One question, though: how we would handle Xilinx/ADI patch dependencies that are not upstream?

Cheers,

Andrew
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: Request: Upstreaming of U-Boot and Linux changes

Postby aolofsson » Tue Feb 11, 2014 4:29 am

afy wrote:Hello,

Reminding of an issue here that I already raised in response to Andreas O.'s Dec 3 email, now that Update #49 is asking for "Linux Kernel Feedback":

The parallella.org website points to forked GitHub repositories for U-Boot and Linux kernel. That's better than throwing just some tarballs at us, thanks. However, I am still not seeing any of this work go into the respective upstream projects, and the lack of Signed-off-by lines on your Git commits is keeping other people from helping out on that front. And asking for pull requests from people outside of Adapteva (Update #49) without requiring the Developer's Certificate of Origin (DCO) will only complicate getting things upstream even more...

parallella-uboot is at v2012.10 and contains a file
https://github.com/parallella/parallella-uboot/blob/parallella-gen1/include/configs/parallella.h
Current is v2014.01 and contains no Parallella config file yet:
http://git.denx.de/?p=u-boot.git;a=tree;f=include/configs;h=4c74c08eb1d77fb7e1445189b812489d24eda2aa;hb=HEAD

parallella-linux was at v3.6.0
parallella-linux-adi is at v3.12.0 and includes a file
https://github.com/parallella/parallella-linux-adi/blob/xcomm_zynq/arch/arm/boot/dts/zynq-parallella.dts
Current is v3.14-rc1 and it contains no Parallella .dts file yet:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts

People in this forum have been asking for Adapteva to provide Ubuntu, Debian and whatever distribution images. That shows a misunderstanding of the Linux development model: It would be Adapteva's job to get their board support into Linus' mainline kernel, then Ubuntu, Debian and my preferred distro will automatically inherit this hardware support for their official releases. That will not only offer users the desired choice of recent distributions, it will also save Adapteva from having to repeatedly rebase their downstream changes.

MAINTAINERS wrote:ARM/ZYNQ ARCHITECTURE
M: Michal Simek <michal.simek@xilinx.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://wiki.xilinx.com
T: git git://git.xilinx.com/linux-xlnx.git
S: Supported
F: arch/arm/mach-zynq/
F: drivers/cpuidle/cpuidle-zynq.c
N: zynq
N: xilinx
F: drivers/clocksource/cadence_ttc_timer.c
F: drivers/mmc/host/sdhci-of-arasan.c

http://lists.infradead.org/pipermail/linux-arm-kernel/ shows no "parallella" patch submissions the last three months. Clearly kernel development does not depend on lead times for hardware parts delivery... so why has there been no progress and are there ways that we can help?

Thanks in advance.

Regards,
Andreas

P.S.: Since Adapteva will be at Embedded World later this month, you may be interested in "Linux Mainlining: benefits and process?" at Embedded World Conference (Session 12; not affiliated with them, but giving a talk on similar issues from a Linux distribution porting perspective there).


Andreas,

Thanks for the feedback! Note that we have really changed very little in the u-boot and and linux repos that we forked (from Xilinx and ADI respectively). We definitely have some homework to do to figure out how we get our files included in the mainline.Not sure I understood your comment about sign off on commit?

As a comparison, with GCC it was quite a process to get included in FSF and we were lucky that Embecosm knew what to do and took care of it. Will it be a similarly exhausting process for Linux given that we really have not modified any essential core files? (really only the device tree and config)

If you will you be at Embedded World it would be great to meet.

Cheers,
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: Request: Upstreaming of U-Boot and Linux changes

Postby afy » Sat Feb 15, 2014 6:31 pm

Hi Andrew and Andreas,

Thanks for taking this request seriously.

Let me assure you that both U-Boot and Linux are much less formal than FSF and require no paperwork to be signed first. :-)
The formalism they both employ is this Signed-off-by or short Sob (see the DCO link above for details). The executive summary is, it records through whose hands a patch went and everyone along the chain certifying that they did not steal the code from some proprietary code base but either wrote it themselves or received it from a person that certified the same.

https://github.com/parallella/parallell ... lella-gen1
https://github.com/parallella/parallell ... xcomm_zynq
are lacking such Signed-off-by: Name <email> lines, so that I can't take them, rebase them and submit them upstream, as I can't certify myself how those patches were created; and a patch without any Signed-off-by will be rejected.
I believe that Andreas as CEO or the respective commit authors could retroactively declare those changes to be signed off via a textual reply, e.g. here, with the line to be used in a submission process by external people such as me. An alternative would be for you to rewrite Git history using git rebase -i and rewording each of your commit messages to end in such a line (not necessary if they rewrite patches against upstream changes on a different branch themselves anyway). For new commits your employees should please use git commit -s to automate adding the Signed-off-by line to the commit message; and if people send you patches or pull requests you should keep an eye on them carrying a Signed-off-by - otherwise you will start facing this same issue yourself.

Personally I am still waiting for my pre-order, so I can't test beyond compilation at this point, and I have no previous experiences with other Zynq-based boards (it has been a stony path for the Raspberry Pi among others, trying to spare you that!). Both U-Boot and Linux have a tree-like maintenance model, i.e. to submit your Linux fdt/config changes you would rebase them onto the Zynq maintainer's tree, send them via git-format-patch and/or git-send-email to the indicated person and mailing list (quoted from MAINTAINERS file above); the Zynq maintainer will review and, possibly after requesting cleanups, apply them to his tree and send a pull request to the ARM SoC tree at some point, from where its maintainer will send a pull request to Linus when the next merge window opens. Your job in that process is done once the first maintainer accepts your patches.
For U-Boot, Custodians and trees are listed on their Wiki. I spot no Zynq/Xilinx-specific tree there, so that would probably mean using the generic ARM tree. Cf. http://www.denx.de/wiki/U-Boot/Patches

I do not know which exactly are your dependencies in the ADI/Xilinx Linux trees, but I would hope that Xilinx changes are in the Zynq staging tree and on their way upstream (if not, remind the Xilinx guys like I reminded you!). There is no requirement for patches to be feature-complete with regards to hardware support, so you could split the device tree patch into an upstream-ready and an ADI-dependent part if necessary (hint: git checkout -p). That will be easier to discuss looking at actual code rather than theory though. One difference I spotted between your Linux tree and Linus' one is that a zynq-7000.dtsi file is now being used for the SoC itself so that the board .dts file itself just has to indicate which of the chipset features are actually soldered to connectors, etc. and what external components are on the board (cf. zynq-zed.dts), making it even smaller and thus less code duplication to maintain long-term.

I just replied to Graham and will be looking forward to meeting you in Nuremberg.

Cheers,
Andreas
afy
 
Posts: 6
Joined: Sat Feb 08, 2014 9:32 pm

Re: Request: Upstreaming of U-Boot and Linux changes

Postby teo80 » Sun Jun 08, 2014 5:15 pm

Hello,
has there been any progress about this topic? Now that the bakers have received their boards maybe it will be easier to find support in the community.

Matteo
teo80
 
Posts: 4
Joined: Mon Dec 17, 2012 3:25 am
Location: Cambridge, UK

Re: Request: Upstreaming of U-Boot and Linux changes

Postby afy » Sat Jun 28, 2014 11:50 pm

Hi Matteo,

teo80 wrote:has there been any progress about this topic?


Andreas and me had briefly talked in February after his presentation at Embedded World Conference (the slides don't appear to be on adapteva.com yet btw), but arranging a follow-up meeting failed. Afterwards, aolofsson and kgugala continued to push parallella-linux-adi.git commits without Signed-off-by line in the commit message, and I didn't notice any kernel upstreaming results either. :-(

Good news is, earlier this week I finally received my board, got openSUSE Factory working with the 3.12 based parallella-linux-adi.git kernel (note: the parallella_defconfig is missing some systemd-related options such as FHANDLE and FANOTIFY), and today I succeeded in booting upstream v3.16-rc2 with a .dts file of my own.
As Andreas feared, the ADI stuff (ADV7513) doesn't appear to be upstream - I use the serial console for now. No Ethernet yet nor USB or QSPI. My plan is to further investigate whether I can get Ethernet to work and then to submit what I have working upstream, for the 3.17 merge window.

My work-in-progress: https://github.com/afaerber/linux/commi ... lella-next

Regards,
Andreas
afy
 
Posts: 6
Joined: Sat Feb 08, 2014 9:32 pm

Re: Request: Upstreaming of U-Boot and Linux changes

Postby 9600 » Sun Jun 29, 2014 12:46 pm

afy wrote:As Andreas feared, the ADI stuff (ADV7513) doesn't appear to be upstream - I use the serial console for now.


In such cases what options are available? My guess would be: petition those concerned to upstream, or else take it on yourself. The latter not seeming like an attractive option!

Cheers,

Andrew
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: Request: Upstreaming of U-Boot and Linux changes

Postby afy » Sun Jun 29, 2014 10:18 pm

9600 wrote:In such cases what options are available? My guess would be: petition those concerned to upstream, or else take it on yourself.


Yes, the former is what I recommended to Andreas, i.e. lobbying ADI and Xilinx to upstream whatever code he relies on. His team must know best what exactly their dependencies are in those repositories.

But judging by ADI's adv7511_core.c file history, the authors were disciplined in signing off their changes, so one could in theory forward-port and submit their driver upstream, if necessary.
Don't know of course whether that was attempted at some point and got not-yet-resolved review feedback or was just not yet submitted (the previously linked ADI page shows "Work in progress" for mainlining status, but it's more than four kernel releases later without results, bad sign). No hits on Patchwork: https://patchwork.kernel.org/project/LK ... ?q=adv7511

Same about commits goes for Xilinx in their 3.14 based tree AFAICT, but not familiar with FPGAs and how all these bits fit together to know what parts of code to look at right now. Some help will be needed there.

Of course I agree, Andrew, that the system is most efficient if everyone takes care of upstreaming its own share, but in practice priorities differ between stakeholders, and the costs of a few review rounds short-term vs. quality of code and less maintenance costs long-term are not immediately obvious to every company...

Anyway, I got Ethernet working and submitted my device tree upstream, that's a start:
http://www.spinics.net/lists/kernel/msg1773982.html
https://patchwork.kernel.org/patch/4445121/

Cheers,
Andreas
afy
 
Posts: 6
Joined: Sat Feb 08, 2014 9:32 pm

Re: Request: Upstreaming of U-Boot and Linux changes

Postby aolofsson » Mon Jun 30, 2014 12:31 am

Andreas,
Thanks for your continued effort to drive us upstream. You are 100% right. With production issues FINALLY out of the way, this is indeed becoming an important issue.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Next

Return to Linux/U-Boot

Who is online

Users browsing this forum: No registered users and 5 guests

cron