On Sun, Jul 15, 2012 at 09:41:26AM -0400, Al Dunsmuir wrote:
On Saturday, July 14, 2012, 7:25:15 PM, Eric Smith wrote:
> Perhaps it means that the file can't be in a supported executable format
> such as ELF? Downloaded firmware often is in raw binary format, but
> it's certainly conceivable that some might be in ELF format.
This topic has come up at regular intervals in the past,
especially when the kernel interfaces for downloading firmware were
being developed.
The packaging statement is meant to clarify, and to be read literally.
It means that the program is not a stand-alone program for use by
the host computer. It requires additional hardware to operate. It
is marked non-executable "-x" to prevent attempts to execute by the
host computer (or for the security conscious, attempts to disguise
malware as firmware).
Normally firmware is a binary blob that is downloaded by the kernel to
that hardware, and used in some manner by that hardware, It may be
a program (code/data) executed by a CPU (or equivalent such as an
ASIC) or some form of data required for execution of that hardware.
It may be multiple of each, in a fancy wrapper scheme with CRCs.
Delivering firmware via a standard kernel API was a big change a few
years ago. It allowed standard packaging of firmware, and eliminated
the need for users to do nasty things like use programs the cut the
firmware images out of Windows PE executables downloaded from chip/card
vendor websites.
The encoding doesn't matter - what matters is that the content is
automatically delivered to the hardware so that hardware can operate.
What also matters is that the licence allow Fedora to freely distribute
the firmware file, without silly restrictions such as "non-commercial use
only".
Some folks object to Fedora shipping binary blobs, and insist that the
only true way is to ship everything with source and build tools. That
has been debated fiercely in the past... and the current rules were the
IMO reasonable compromise that resulted.
This seems to capture the spirit of what the Guidelines for binary firmware
try to do. If anyone has wording that they think can make this more clear,
feel free to submit it as a draft to the FPC at
https://fedorahosted.org/fpc/newticket
-Toshio