On 16.06.2018 13:28, H. Nikolaus Schaller wrote:
Hi Patrick,
Am 16.06.2018 um 01:18 schrieb patrick patrick@wylight.de:
On 15.06.2018 17:42, H. Nikolaus Schaller wrote:
Am 15.06.2018 um 00:36 schrieb patrick patrick@wylight.de:
So this was a good point in time rebase and fix and extend the code. But then we did leave it as is. Especially because the config system was in the middle of being upgraded and there were experiments with device tree in u-boot. So we decided to "never touch a running system".
That's an interesting topic to discus, because my opinion is quite the
opposite. But I don't want to start an argument on my second day on this list so let's keep that discussion for the release party and in the mean time I try to persuade by action.
Yes, let's do it!
My argument is not a technical one but an organizational one... Or weighting usefulness vs. efforts.
And there I see that rebasing u-boot to every new release from upstream doesn't add many significant features, but takes a lot of testing time. Maybe I am a bit naive here but besides from booting, what do you have
to test? In the end the only u-boot feature you are using is one straight boot path.
Therefore, if we wait until a big set of new features have accumulated and then do the rebase and testing once, it is a much better improvement for the invested time.
In my personal experience I made a big mistake, waiting to long to rebase so that rebasing costs me a lot of time. Since all my code is mainline. All I do is compile and boot test once in a while. I don't have to ship new versions, but I know that if I had to I could immediately start without rebasing multiple iterations of u-boot first. Working on the latest version, has the same benefits as for the kernel: - you have community support - you can send your changes immediately to mainline While getting them accepted can sometimes be a real pain, it is worth it in the end. You get code review for free! And in my experience we reduced my initial code to 30%. Since my board is in mainline it received 7 commits. Only two of them are from me. The rest was bug-fixes and global cleanups made by the community. All for free!
For the kernel I see the reverse situation. Every new release brings significant improvements - either from upstream or by our own work to fill gaps (e.g. missing device drivers). For U-Boot we have almost no missing features because it does what it is designed for.
Therefore for the kernel, the rolling rebase scheme has turned out to be better manageable than taking a snapshot, develop and fix missing things the next years. But not be able to rebase it to a newer kernel because kernel APIs have diverged too much.
Any my final though is that u-boot belongs to the basis we want to build something on. So it should be stabilized - but not changed too often...
In my opinion every software is the same. They all have bugs. So all of them need to be update able. If I update software, I have to make sure the update isn't making anything worse. So I have to test. If I master my testcases I don't have to care about frequent updates anymore. If my test process is good, I don't have to make a distinction between small bugfix updates or big version upgrades. They are both best tested and fulfill the same quality standards.
Where I see the next good situation for upgrading u-boot source code is when there is no longer a (horrible) mixture of old u-boot config and Kconfig where it sometimes needs experimentation to find out what should be configured where. I don't know how the status of 2018.05 is but 2017 u-boot wasn't much better than 2016.
While getting into mainline, they will tell you exactly what config option you have to move to Kconfig, now. If you have your board in mainline the community will convert the rest of config files to Kconfig for you!
if you need write access at some point, please contact me.
or github
git://git.goldelico.com/gta04-uboot.git is mirrored to https://github.com/goldelico/gta04-uboot
I have a compiling tree, now. I am pretty sure it won't boot, but at least the compiler is happy.
I tried to login/register on https://dev.pyra-handheld.com but didn't got a mail till, now.
So I forked your repo on github and pushed a new branch with my rebase: https://github.com/bruenn/gta04-uboot/tree/v2018.05-pyra-v1
Nice. If I find time, I'll take a look into it.
Maybe we should pull it into http://git.goldelico.com/?p=gta04-uboot.git;a=heads so that it shows up as
letux-2018.05
Well, if that quick & dirty rebase is working for your other boards, sure take it.
or alternatively as
work/patrick/letux-2018.05 I would prefer this. Because my target is to ultimately get rid of any
out tree patches for the Pyra. To reach there I will have to remove everything not Pyra related from my intermediate branch and then regroup the changes in small commits which I can send upstream one by one. On that way I will create a lot of new branches and rebases. You can get an idea from the names. <u-boot-base-version>-pyra-<rebase-version>: f.e.: v2018.05-pyra-v1 -> v2018.05-pyra-v2... v2018.07-rc1-pyra-v1.... Today I begun divide and conquer and removed beagle and gta files from v2018.05-pyra-v2. so my diff was shrinked from: 197 files changed, 13598 insertions(+), 74 deletions(-) to: 56 files changed, 2335 insertions(+), 74 deletions(-)
To continue I have some questions: Which is the correct boot-scr/dtb/defconfig for the Pyra? uEnv-letux-cortex15+pyra.txt uEnv-letux-cortex15.txt uEnv-letux-cortex8.txt uEnv-omap5-uevm+pyra.txt uEnv-omap5-uevm.txt
OSD3358 is not relevant for the Pyra is it?
What is board/goldelico/cmd_monitor.c? I didn't found any reference within the u-boot repository.
and give you write access so that you can simply push.
For getting access, please register to http://projects.goldelico.com/p/gta04-uboot/ provide your public key in the user's settings and I can add you to the "Happy Crew" which gives you write access to the git repo.
Done. Small note: the webinterface doesn't except my ed25519 key. Maybe it's just a config option or upgrade away. For now, I generated a rsa one.
BR and thanks, Nikolaus