LWN.net Logo

FSFLA: Linux kernel is "open core"

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 14:31 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
In reply to: FSFLA: Linux kernel is "open core" by lxoliva
Parent article: FSFLA: Linux kernel is "open core"

"Whether or not a replacement exists is orthogonal to whether the code in question is Free or not, right?"

Our device requires a binary blob to operate. However, it's not code, but rather large data tables compiled using a proprietary tools from VHDL hardware description.

What would you achieve by getting the source? Exactly nothing. You can't modify VHDL since you probably lack a fab to manufacture the resulting schematics. You can't even recompile it, because it requires a proprietary tools (working only on Windows, alas).

So firmware blobs should often be thought as a part of hardware rather than software.


(Log in to post comments)

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 18:30 UTC (Tue) by jebba (✭ supporter ✭, #4439) [Link]

> Our device requires a binary blob to operate. However, it's not code, but rather large data tables compiled using a proprietary tools from VHDL hardware description.

I may be mistaken, but I think in those cases, the blobs are left in linux-libre. If I knew which driver in particular you were talking about, I could look it up.

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 19:22 UTC (Tue) by dlang (✭ supporter ✭, #313) [Link]

how can you tell the difference between a binary blob that is a large data table and a blob that is code that will be run on an embedded cpu?

FSFLA: Linux kernel is "open core"

Posted Nov 9, 2010 19:47 UTC (Tue) by jebba (✭ supporter ✭, #4439) [Link]

> how can you tell the difference between a binary blob that is a large data table and a blob that is code that will be run on an embedded cpu?

Personally, I can't; I defer to lxoliva on that. He has a script that he runs against the kernel that has an accept whitelist for code that looks like a non-free blob, but is ok. See:

http://www.fsfla.org/svnwiki/selibre/linux-libre/download...

An example would be something like this: drivers/input/keyboard/atkbd.c which has a blobby looking table, but is ok.

FSFLA: Linux kernel is "open core"

Posted Nov 10, 2010 2:26 UTC (Wed) by lxoliva (subscriber, #40702) [Link]

In the general case, that's not possible. The procedure I use starts with a sniff test, looking for regularity in the sequences of numbers or trying to make sense of them from their given names, numbers and the way they're used. If I can't determine it's just data, or find strong indication that it's code, I try to get ahold of the driver maintainer or the hardware designer. Ultimately, I have to go by whatever info I get and a sense of trust for whoever provides it and, in the worst case, make a conservative assumption that it may be software (instructions to configure a general-purpose computer to behave in a certain way) or a mix of software and pure data, and go with that.

FSFLA: Linux kernel is "open core"

Posted Nov 10, 2010 2:33 UTC (Wed) by lxoliva (subscriber, #40702) [Link]

In the general case, that's not possible. The procedure I use starts with a sniff test, looking for regularity in the sequences of numbers or trying to make sense of them from their given names, numbers and the way they're used. If I can't determine it's just data, or find strong indication that it's code, I try to get ahold of the driver maintainer or the hardware designer. Ultimately, I have to go by whatever info I get and a sense of trust for whoever provides it and, in the worst case, make a conservative assumption that it may be software (instructions to configure a general-purpose computer to behave in a certain way) or a mix of software and pure data, and go with that.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds