
On Thursday 26 April 2007 23:04, Timur Tabi wrote:
I think there's a lot of misunderstanding going on here, and it's probably my fault for not being clear. The non-GPL firmware is not run on the host processor. It is loaded into the memory of an on-board device.
This seems to be the same as needed for the Intel IXP4xx NPE's (Network Processing Engines). These are on-chip co-processors used for ethernet communication. And Intel provides a binary image for these NPE's that is *not* released under a GPL compatible license. And here I know for sure that this makes is impossible to even "link" this binary into the U-Boot image by something like "#include "npe-binary.h".
What we have to do instead, is program this binary into a specific FLASH sector and load it from there into the NPE's. If you "dump" this complete FLASH image, or generate this combined image via some other tool, then it should be no problem.
What I was considering is making a change to the build process so that when the user built u-boot.bin, if the firmware binary were present, it would merge that into the u-boot.bin binary, for convenience.
If your version of u-boot has any knowledge about program locations within the closed binary, or vice versa, then you are most likely violating the GPL.
The binary is not being executed by U-Boot, it is being copied into device memory by U-Boot via a loader application. If the loader application is GPL, then I don't see how this is a GPL violation. However, if the loader is not GPL, then I'm not sure.
Please see above. The NPE-loader *is* GPL-compatible in this case and it is not possible to include the binary of the NPE's in the standard U-Boot build process.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk Office: Kirchenstr. 5, D-82194 Groebenzell, Germany =====================================================================