Hi all,
so this is the first outcome of my quest for booting from the nand, and i tought it would be nice (and useful for others) to share: http://makeplaylive.com/~notmart/Improv/eoma68-A20-nand-bare.raw.bz2
This is a dd of the nand in the following situation:
* it has two partitions: "boot" 16 megabytes long and "root" that is everything else
* "root" only contains /lib/modules, all the rest is empty (nicely zero-ed, so it compresses nicely)
* Boot0 and Boot1 come from https://github.com/hno/allwinner-boot , revision d29c34b , modified to *not* search for a "boot" partition starting with "ANDROID!" magic. An open issue here is that version will need to be GPL'd (latest and gpl revision won't work, i suspect is for a different kind of hardware)
* U-boot comes from https://github.com/linux-sunxi/u-boot-sunxi/tree/lichee-dev-a20 , default boot arguments modified in sun7i.h
* the kernel uImage and modules, as well as script.bin come from my Mer OBS repository: https://build.merproject.org/project/show?project=home%3Anotmart%3Anemo%3Ade...
this image can just be dd-ed on /dev/nand then the kernel will boot.
It won't do much else because there isn't any root filesystem, but that's kinda the point, this image can be used as a start for any distributin image
Cheers, Marco Martin
Marco Martin notmart@gmail.com writes: ...
- Boot0 and Boot1 come from https://github.com/hno/allwinner-boot , revision
d29c34b , modified to *not* search for a "boot" partition starting with "ANDROID!" magic. An open issue here is that version will need to be GPL'd (latest and gpl revision won't work, i suspect is for a different kind of hardware)
Sorry, what are you saying here? Is the version you've modified not under the GPL? If so, what license is it under, and are you allowed to modify and redistribute binaries built from it without source? (or are the sources to your modified version published somewhere?)
Cheers, Phil.
On Wednesday 11 December 2013, Philip Hands wrote:
Marco Martin notmart@gmail.com writes: ...
- Boot0 and Boot1 come from https://github.com/hno/allwinner-boot ,
revision d29c34b , modified to *not* search for a "boot" partition starting with "ANDROID!" magic. An open issue here is that version will need to be GPL'd (latest and gpl revision won't work, i suspect is for a different kind of hardware)
Sorry, what are you saying here? Is the version you've modified not under the GPL? If so, what license is it under, and are you allowed to modify and redistribute binaries built from it without source? (or are the sources to your modified version published somewhere?)
Cheers, Phil.
That's the version I modified.
https://github.com/hno/allwinner-boot/tree/d29c34b7f221979724275b4861c50de3b...
the full source is available, but most files gained a gpl header only revisions after, so yeah, the situation is not completely clear (trying to clear it out)
Marco Martin notmart@gmail.com writes:
On Wednesday 11 December 2013, Philip Hands wrote:
Marco Martin notmart@gmail.com writes: ...
- Boot0 and Boot1 come from https://github.com/hno/allwinner-boot ,
revision d29c34b , modified to *not* search for a "boot" partition starting with "ANDROID!" magic. An open issue here is that version will need to be GPL'd (latest and gpl revision won't work, i suspect is for a different kind of hardware)
Sorry, what are you saying here? Is the version you've modified not under the GPL? If so, what license is it under, and are you allowed to modify and redistribute binaries built from it without source? (or are the sources to your modified version published somewhere?)
Cheers, Phil.
That's the version I modified.
https://github.com/hno/allwinner-boot/tree/d29c34b7f221979724275b4861c50de3b...
the full source is available, but most files gained a gpl header only revisions after, so yeah, the situation is not completely clear (trying to clear it out)
OK, so following on from Luke's assertion that this already is GPLed (which makes sense if later versions have had the GPL notices restored, and is good news for you as otherwise you'd almost certainly be violating someone's copyright by distributing modified versions) that then leads us to the next obvious question, which is:
Where are you publishing your modifications to the source?
Cheers, Phil.
On Thursday 12 December 2013, Philip Hands wrote:
the full source is available, but most files gained a gpl header only revisions after, so yeah, the situation is not completely clear (trying to clear it out)
OK, so following on from Luke's assertion that this already is GPLed (which makes sense if later versions have had the GPL notices restored, and is good news for you as otherwise you'd almost certainly be violating someone's copyright by distributing modified versions) that then leads us to the next obvious question, which is:
Where are you publishing your modifications to the source?
Here we go (it's pretty much an one liner so far): https://github.com/notmart/allwinner-boot/tree/lichee-a20-dev-eoma68
Cheers, Marco Martin
On Thursday 12 December 2013, Marco Martin wrote:
then leads us to the next obvious question, which is: Where are you publishing your modifications to the source?
Here we go (it's pretty much an one liner so far): https://github.com/notmart/allwinner-boot/tree/lichee-a20-dev-eoma68
And the modified u-boot: https://github.com/notmart/u-boot-sunxi/tree/lichee-dev-a20-eoma68
ons 2013-12-11 klockan 15:00 +0100 skrev Marco Martin:
That's the version I modified.
https://github.com/hno/allwinner-boot/tree/d29c34b7f221979724275b4861c50de3b...
the full source is available
It's not. Sources are missing for at least the NAND driver.
but most files gained a gpl header only revisions after
Which also includes the NAND driver source drop to make it possible to GPL.
So sorry, no the version you built can not be distributed under a GPL license. Not because the source files you have is not GPL licensed (they are by separate discussion), but because some parts are provided binary-only which is incompatible with GPL.
Regards Henrik
On Thursday, December 12, 2013 14:07:25 Henrik Nordström wrote:
Which also includes the NAND driver source drop to make it possible to GPL.
So sorry, no the version you built can not be distributed under a GPL license. Not because the source files you have is not GPL licensed (they are by separate discussion), but because some parts are provided binary-only which is incompatible with GPL.
i thought that there was a NAND driver somewhere with sources, but it needed some work (integration?)? or is there literally no sources anywhere for the NAND access
tor 2013-12-12 klockan 18:06 +0100 skrev Aaron J. Seigo:
On Thursday, December 12, 2013 14:07:25 Henrik Nordström wrote:
Which also includes the NAND driver source drop to make it possible to GPL.
So sorry, no the version you built can not be distributed under a GPL license. Not because the source files you have is not GPL licensed (they are by separate discussion), but because some parts are provided binary-only which is incompatible with GPL.
i thought that there was a NAND driver somewhere with sources, but it needed some work (integration?)? or is there literally no sources anywhere for the NAND access
Yes we have many copies of the NAND driver, just not the same as used in boot0/boot1 A20 SDK..
What ee have:
a) The old version from A10 SDK for Linux and u-boot. (no boot0/boot1 sources available for A10).
b) The newer version which was included in the A20 GPL licensing code drop where license headers were changed to GPL and all kernel/boot/u-boot binary blobs got replaced by sources. This covers boot0/boot1, u-boot and Linux, all with slightly different versions of the NAND driver.
'b' is the boot0/boot1 version reported not to work earlier in this thread.
The version included in linux-sunxi kernel is based on the old "A10" version.
Regards Henrik
On Thursday 12 December 2013, Henrik Nordström wrote:
ons 2013-12-11 klockan 15:00 +0100 skrev Marco Martin:
That's the version I modified.
https://github.com/hno/allwinner-boot/tree/d29c34b7f221979724275b4861c50d e3bd5b47fb
the full source is available
It's not. Sources are missing for at least the NAND driver.
but most files gained a gpl header only revisions after
Which also includes the NAND driver source drop to make it possible to GPL.
looking at the sources, is it bsp_nfc_boot1_for_boot.lib and bsp_nfc_boot1_for_card.lib in boot1/driver/drv_nand/ i guess?
could it be obtained?
On Thursday 12 December 2013, Henrik Nordström wrote:
Which also includes the NAND driver source drop to make it possible to GPL.
So sorry, no the version you built can not be distributed under a GPL license. Not because the source files you have is not GPL licensed (they are by separate discussion), but because some parts are provided binary-only which is incompatible with GPL.
I see that if I replace the two binary libraries with the ones built from nand-lib from the latest revision it works fine.
so that kind of mixup could solve the issue. Or are there any other blobs to be taken care of?
Cheers, Marco Martin
tor 2013-12-12 klockan 19:40 +0100 skrev Marco Martin:
I see that if I replace the two binary libraries with the ones built from nand-lib from the latest revision it works fine.
Good. So then it's something wrong in the build infrastructure? Because from what I remember there was not code changes, only GPL headers and replace blobs by source.
Please try to find what differs between the two outside GPL headers and source for the blobs..
Regards Henrik
On Thursday 12 December 2013, Henrik Nordström wrote:
tor 2013-12-12 klockan 19:40 +0100 skrev Marco Martin:
I see that if I replace the two binary libraries with the ones built from nand-lib from the latest revision it works fine.
Good. So then it's something wrong in the build infrastructure? Because from what I remember there was not code changes, only GPL headers and replace blobs by source.
Please try to find what differs between the two outside GPL headers and source for the blobs..
There is also some difference in the code besides gpl headers added.. when i build the last revision i get collect2: error: ld terminated with signal 11 [Segmentation fault] /opt/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/../lib/gcc/arm- linux-gnueabi/4.7.1/../../../../arm-linux-gnueabi/bin/ld: section .rel.dyn loaded at [424541e4,424541eb] overlaps section .boot_standby_text loaded at [424541e4,4245aea3] standby/dram_standby.o: In function `dram_power_up_process': /home/diau/git/allwinner-boot/boot1/core/standby/dram_standby.c:586: undefined reference to `init_DRAM'
(and in fact a definition of an init_DRAM() function isn't anywhere)
If i comment that just to see if it will build everything, it then generates the files but then seems that boot0 is not able to load boot1 or something like that (complains about boot.axf: wrong elf magic)
Tomorrow i'll check out the exect message it gives
Cheers, Marco Martin
On Wed, Dec 11, 2013 at 12:34 PM, Marco Martin notmart@gmail.com wrote:
Hi all,
so this is the first outcome of my quest for booting from the nand, and i tought it would be nice (and useful for others) to share: http://makeplaylive.com/~notmart/Improv/eoma68-A20-nand-bare.raw.bz2
This is a dd of the nand in the following situation:
- it has two partitions: "boot" 16 megabytes long and "root" that is
everything else
- "root" only contains /lib/modules, all the rest is empty (nicely zero-ed, so
it compresses nicely)
- Boot0 and Boot1 come from https://github.com/hno/allwinner-boot , revision
d29c34b , modified to *not* search for a "boot" partition starting with "ANDROID!" magic. An open issue here is that version will need to be GPL'd (latest and gpl revision won't work, i suspect is for a different kind of hardware)
Allwinner Tech have written explicitly to us - and the message has been published - that any code released by them which contains GPL code (despite one of the Managers acting in direct violation of the Director's instructions to honour GPL compliance by ordering employees to *remove* any such Copyright notices - an action for which he eventually lost his job) is to be released under the GPL.
we are aware that there is (or was) in use, thanks to reports given to us by the employees, a script which is consistently used to remove the allwinnertech domain name and replace it with "reillumatech", as well as remove all GPL Copyright notices. there is a "reverse" script provided by the linux-sunxi community which undoes the damage done by that script.
so when you say "that version will need to be GPL'd", it already is.
if this is a problem marco i can explicitly pass on a request to Allwinner Tech however the response - if one is received in a timely manner - will most likely be exactly the same as the previous one, along the lines of "yes you have permission to put GPL Copyright notices on that code" when in fact we already have permission to do exactly that [on their behalf].
normal practice is for the Copyright holders to do that, and to make the modifications to the files themselves and to explictly publish the files as modified by them. however this is not a normal situation.
so, to be clear: you may not *assume* that the code is GPL'd: permission and instructions have *already been given* that it *is* GPL'd, *despite* notices on the files which state otherwise.
l.
On Wednesday, December 11, 2013 22:10:35 Luke Kenneth Casson Leighton wrote:
so, to be clear: you may not *assume* that the code is GPL'd: permission and instructions have *already been given* that it *is* GPL'd, *despite* notices on the files which state otherwise.
is there any record of this discussion? that would be helpful.
On Wednesday 11 December 2013, Luke Kenneth Casson Leighton wrote:
Allwinner Tech have written explicitly to us - and the message has been published - that any code released by them which contains GPL code (despite one of the Managers acting in direct violation of the Director's instructions to honour GPL compliance by ordering employees to *remove* any such Copyright notices - an action for which he eventually lost his job) is to be released under the GPL.
that is just... wow. would be good to have it (maybe published somewhere to back why are we doing it) and then just reverse all the copyright of allwinner-boot
we are aware that there is (or was) in use, thanks to reports given to us by the employees, a script which is consistently used to remove the allwinnertech domain name and replace it with "reillumatech", as well as remove all GPL Copyright notices. there is a "reverse" script provided by the linux-sunxi community which undoes the damage done by that script.
ha, interesting, is it in sunxi-tools?
so when you say "that version will need to be GPL'd", it already is.
if this is a problem marco i can explicitly pass on a request to Allwinner Tech however the response - if one is received in a timely manner - will most likely be exactly the same as the previous one, along the lines of "yes you have permission to put GPL Copyright notices on that code" when in fact we already have permission to do exactly that [on their behalf].
if we already have it.. should be enough, we just need to keep records i think
normal practice is for the Copyright holders to do that, and to make the modifications to the files themselves and to explictly publish the files as modified by them. however this is not a normal situation.
so, to be clear: you may not *assume* that the code is GPL'd: permission and instructions have *already been given* that it *is* GPL'd, *despite* notices on the files which state otherwise.
very very "interesting" ;)
so. even tough i'll make more experiments on why the latest version of allwinner-boot is failing (that's the technical problem part), if you have some kind of record of this, we could go on changingthe license headers on my branch.. (kinda unconfortable doing it in my branch without some proof that backs this;) among other stuff, like it seems it's using a binary only app for something (but not for the file we need apparently since i tried to replace it with a shell script that does exactly nothing and it keeps working) so i would remove all the parts that we don't need to make the things a bit more understandable
Cheers, Marco Martin
On Wednesday 11 December 2013 13:34:05 Marco Martin wrote:
Hi all,
so this is the first outcome of my quest for booting from the nand, and i tought it would be nice (and useful for others) to share: http://makeplaylive.com/~notmart/Improv/eoma68-A20-nand-bare.raw.bz2
To continue with stuff other people can play with, I prepared an image with a pretty minimal installation of Mer (probably the package list can be still narrowed a bit)
a version to run on microsd: http://makeplaylive.com/~notmart/Improv/mer-essentials-armv7hl-sunxi-eoma68-...
and a version that can be dd-ed on the nand: http://makeplaylive.com/~notmart/Improv/mer-essentials-armv7hl-sunxi-eoma68-...
Cheers, Marco Martin
arm-netbook@lists.phcomp.co.uk