Re: kernel-libre (hopefully 100% Free) for Fedora 8 and rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



jeff wrote:
Alexandre Oliva wrote:
Hi,

I've stripped non-Free firmware bits from Fedora kernels for F8 and
rawhide, starting from tools developed by the gNewSense folks and now
in use by BLAG developers, and built alternate kernels that I've
successfully booted up and used on my x86_64 notebook.

I just became aware of this thread today. I don't bring BLAG issues to Fedora lists, but I felt I should add some info to put linux-libre in context. I hope you don't mind--I'll immediately go back to lurking and have no intention of getting involved in a debate on this list about the merits/relevancy of this. :)


====================================================

The official "vanilla" Linux kernel from Linus that gets distributed on kernel.org has non-free[1] software in it. Here is one example from linux-2.6.24/drivers/net/tg3.c:


/*
  * tg3.c: Broadcom Tigon3 ethernet driver.
  *
  * Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@xxxxxxxxxx)
  * Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@xxxxxxxxx)
  * Copyright (C) 2004 Sun Microsystems Inc.
  * Copyright (C) 2005-2007 Broadcom Corporation.
  *
  * Firmware is:
  *      Derived from proprietary unpublished source code,
  *      Copyright (C) 2000-2003 Broadcom Corporation.
  *
  *      Permission is hereby granted for the distribution of this firmware
  *      data in hexadecimal or equivalent format, provided this copyright
  *      notice is accompanying it.
  */


It then has screenfulls of non-free code like this:

0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000,
0x0000000d, 0x0000000d, 0x3c1d0800, 0x37bd4000, 0x03a0f021, 0x3c100800,
0x26100000, 0x0e000010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe,
  ...

Why Linus Torvalds tolerates and distributes this I have no idea. He surely has some rationale buried in a LKML flamewar somewhere, but it doesn't change the fact that there is clearly non-Free code in the Linux kernel.


    <<< snip >>>

Hmmm .... if you look at the actual tg3 driver:
static const u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = {
        0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000,

This is firmware that gets loaded in routine tg3_load_tso_firmware().
It's firmware for a chip that you don't have a compiler for (if a compiler
exists - there may be a different development model, say VHDL for a FPGA).
The other hex cases in tg3.c also appear to be firmware mods.   I'm glad this
is supplied in hex - I'd hate to need working cross-compilers for every
chip that has a firmware blob in order to build a kernel.

As you note, there are several examples of this throughout the kernel.
Others in this thread have explained why firmware is *not* host software,
and is (and should be) allowed to be shipped in a binary format.

Cheers,
-Bob Arendt


--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux