summaryrefslogtreecommitdiffstats
path: root/docs/patches.html
diff options
context:
space:
mode:
authorJohn Voltz <john.voltz@gmail.com>2008-03-13 17:16:30 +0000
committerJohn Voltz <john.voltz@gmail.com>2008-03-13 17:16:30 +0000
commita37d1b117e51e772ebeec182322a58509f8fbdf8 (patch)
tree530b880dc36f54ad68b6133d179dafe97e0008db /docs/patches.html
parent417c4acc4a75023237687193249f06e542e4e8b1 (diff)
downloadbuildroot-novena-a37d1b117e51e772ebeec182322a58509f8fbdf8.tar.gz
buildroot-novena-a37d1b117e51e772ebeec182322a58509f8fbdf8.zip
add some documentation about buildroot's patch system
Diffstat (limited to 'docs/patches.html')
-rw-r--r--docs/patches.html43
1 files changed, 43 insertions, 0 deletions
diff --git a/docs/patches.html b/docs/patches.html
new file mode 100644
index 000000000..2d886e557
--- /dev/null
+++ b/docs/patches.html
@@ -0,0 +1,43 @@
+<!--#include file="header.html" -->
+
+<h2>Buildroot patch structure</h2>
+
+<p>
+<h4>Keeping track of applied patches</h4>
+Whenever a patch is applied to a source code directory in buildroot, a text file named .applied_patches_list is created inside that source directory.
+This file contains a list of all the patch filenames that were applied to that source code, just for reference.
+</p>
+
+<p>
+<h4>Linux kernel patches</h4>
+The Linux kernel has several patch levels available for it in the buildroot patch system.
+Buildroot first downloads the chosen kernel source from the mirror site, followed by any selected minor patch.
+Buildroot then extracts the kernel source from the compressed file and applies the minor patch, if one was chosen.
+After extracting the source and applying the official minor patch, buildroot looks for more patches in the following locations and in the order shown:
+
+<ol>
+<li> a custom, user downloaded kernel patch can be located in $(DL_DIR) and the filename is stored as $(LINUX26_BSP_PATCH) </li>
+<li> Atmel keeps their official kernel patches in target/device/Atmel/Linux/kernel-patches with subdirectories for each kernel release.
+They also keep any board-specific patches in $(BR2_BOARD_PATH) </li>
+<li> globally available patches are kept in toolchain/kernel-headers </li>
+<li> IPMI (<a href="http://www.intel.com/design/servers/ipmi/ipmi.htm">Intelligent Platform Management Interface</a>)
+kernel patches are kept in toolchain/kernel-headers/ipmi </li>
+<li> LZMA kernel compression support patches are kept in toolchain/kernel-headers/lzma </li>
+<li> <a href="http://www.realtimelinuxfoundation.org/downloads/downloads.html">Real-time Linux kernel</a> patches are kept in $(LINUX_RT_SOURCE) </li>
+<li> <a href="http://www.openswan.org/">Openswan</a> kernel patches are kept in package/openswan </li>
+</ol>
+</p>
+
+ <p>
+ <h4>Package source patches</h4>
+ Any patches for the Linux programs supported by buildroot are kept in that program's corresponding package/ directory.
+ </p>
+
+ <p>
+ <h4>How the patching is done</h4>
+Patches are applied in buildroot by running a shell script called toolchain/patch-kernel.sh with three arguments. The first argument is the target directory
+where the source code to be patched is saved. The second argument is the directory where the patch is saved. The third argument is the filename pattern
+to match when looking in the patch directory. The third argument can include wildcards to select multiple patch files.
+</p>
+
+<!--#include file="footer.html" -->