------------------------------------------------------------------------------- HACKING ------------------------------------------------------------------------------- Development Guidelines ---------------------- Please read http://linuxbios.org/Development_Guidelines. Doxygen-generated Code/API Documentation ---------------------------------------- The source code of LinuxBIOS is documented using Doxygen-style code comments. The Doxygen tool can generate HTML API documentation out of these comments. You can generate this documentation via: make doxy The documentation will be stored in the doxygen/html directory. The generation of the documentation takes ca. 1-2 minutes, and may require more than 30 MB of space on the hard drive, depending on the options selected in the Doxygen config file, util/doxygen/Doxyfile.LinuxBIOS. Required software: * Doxygen (tested with Doxgen 1.5.1) http://www.doxygen.org/ * dot (>= 1.8.10) http://www.graphviz.org/ Third-party Code and License Overview ------------------------------------- * util/dtc/*: GPLv2 or later Source: git://www.jdl.com/software/dtc.git Current version we use: 332c53642557a018ca9c729a4cd284c6e34b7f72 (07/2006) * util/kconfig/*: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: 15508d22d00277a1f2a1022dce38f2772c810d32 (02/2006) * util/lar/*: GPLv2 Independant project, but written specifically for LinuxBIOS. * include/lar.h, util/lar/lar.h, util/lar/example.c: Dual-licensed (GPLv2 + revised BSD license) * util/lzma/C/*: Dual-licensed, LGPL + Common Public License (CPL). There's a special exception, please see util/lzma/C/7zip/Decompress/LzmaDecode.c. Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ Current version we use: LZMA SDK 4.42 (05/2006) * util/lzma/minilzma.cc: ? Source: ? Current version we use: ? * util/nrv2b/nrv2b.c: ? Source: ? Current version we use: ? * include/elf.h: LGPLv2.1 or later Source: The GNU C Library, http://www.gnu.org/software/libc/ You can get the latest version of the file via CVS: cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc/elf/elf.h Current version we use: CVS rev. 1.156 * include/device/pci_ids.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: e81e557a8f1e22fab1b1bdc649ac0d24017ddce2 * lib/lzmadecode.[ch]: Dual-licensed, LGPL + Common Public License (CPL). There's a special exception, please see lib/lzmadecode.[ch]. Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ Current version we use: LZMA SDK 4.40 (05/2006) * lib/compute_ip_checksum.c, include/ip_checksum.h: GPLv2 Source: kexec-tools, http://www.xmission.com/~ebiederm/files/kexec/ Current version we use: kexec-tools 1.101 * lib/clog2.c: Triple-licensed, MPL 1.1/GPL 2.0/LGPL 2.1 Source: http://lxr.mozilla.org/mozilla1.8.0/source/js/src/jscpucfg.c Current version we use: CVS rev. 3.25 * include/arch/x86/div64.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: e2afe67453e5b1499459ee3596b1e7924a5208f5 * include/arch/x86/swab.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: ? * arch/x86/i8259.c: GPLv2 Source: Linux kernel, arch/i386/boot/setup.S Current version we use: Linux 2.2.26