Find the answer to your Linux question:
Results 1 to 4 of 4
I am a Hardware developer and real some what new to Code Development. But I am intrested in porting Linux to a Pentium Based Single Board Computer. I have a ...
  1. #1
    Just Joined!
    Join Date
    Aug 2009
    Posts
    7

    Source tree

    I am a Hardware developer and real some what new to Code Development. But I am intrested in porting Linux to a Pentium Based Single Board Computer. I have a TON of questions.....
    First, when they use the tem "Source Tree" and that the tree could be "tainted". What do they mean? Does this mean if I down loaded the files from kernel.org does this mean they could be altered or changed in some way?? I don't understand... I know folk here at work use a source tree. But I can't seem to understand how it works...Could someone explain??

    thanks..

  2. #2
    Linux Engineer GNU-Fan's Avatar
    Join Date
    Mar 2008
    Posts
    935
    Hello,

    a 'source tree' is the complete source code of a give project. Here it is the Linux. This kernel includes things like the scheduler, which is the basic "control code" that decides how resources are distributed among hardware and programs.
    But the source tree includes also a plethora (several thousands) of hardware drivers.

    Kernel.org is the official maintainer of Linux and if you get the source there, it is the official, untainted upstream version. Many hardware vendors write hardware driver for their gear and want it to be included in the official release. Once a new driver has been accepted, it is said to be included 'upstream' and from that point on the vendor gained two things:
    1) The hardware is officially supported by the kernel and is therefore supported out of the box in new installs.

    2) The driver code is maintained and made sure to work in every new release of the kernel to come.


    Putting drivers upstream is subject to a certain license, the GPL Version 2.
    It is legally problematic to distribute drivers which do not comply to this license.
    But as far as Linux is concerned, the user is always free to install every possible driver. If the driver code doesn't report itself to be under GPL properly when it is linked, the kernel will still accept it but will now be flagged as tainted.

    If the driver code says it is GPL compatible (via a define), the whole thing will stay untainted.
    Debian GNU/Linux -- You know you want it.

  3. #3
    Just Joined!
    Join Date
    Aug 2009
    Posts
    7
    so basicly if the I get the source from some where else beside "kernel.org" then it might be tainted because some one might have "slipped" their drives in the source tree.
    right?

  4. #4
    Linux Engineer GNU-Fan's Avatar
    Join Date
    Mar 2008
    Posts
    935
    Right.

    The most common case is this:
    You install a certain GNU/Linux distribution like Ubuntu or Debian. Their kernel might be slightly adapted but as they obey the GPL the modifications are released under that license as well. So Linux may not be the stock kernel anymore, but it is still untainted.

    But for some hardware, like the NVIDIA graphic accelerators, there exists binary only drivers, i.e. drivers whose source is withheld from the user. A user might be willing to accept such a driver anyway and install it afterward. The distribution sometimes needs you to set certain flags. In Debian you would have to activate the non-free repository. Then you can install the driver package.

    As soon as the driver gets linked to the kernel, Linux will report itself as tainted--it's not completely free software anymore.
    Debian GNU/Linux -- You know you want it.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...