|
@@ -247,6 +247,9 @@
|
|
<li>HOSTCC</li>
|
|
<li>HOSTCC</li>
|
|
<li>UCLIBC_CONFIG_FILE=<path/to/.config></li>
|
|
<li>UCLIBC_CONFIG_FILE=<path/to/.config></li>
|
|
<li>BUSYBOX_CONFIG_FILE=<path/to/.config></li>
|
|
<li>BUSYBOX_CONFIG_FILE=<path/to/.config></li>
|
|
|
|
+ <li>BUILDROOT_DL_DIR</li>
|
|
|
|
+ <li>BUILDROOT_LOCAL</li>
|
|
|
|
+ <li>BUILDROOT_USE_XWINDOWS</li>
|
|
</ul>
|
|
</ul>
|
|
|
|
|
|
<p>An example that uses config files located in the toplevel directory and
|
|
<p>An example that uses config files located in the toplevel directory and
|
|
@@ -635,52 +638,22 @@ $ make me<TAB>
|
|
conflicts, but will use unique build directories, where the user
|
|
conflicts, but will use unique build directories, where the user
|
|
can configure the build. </p>
|
|
can configure the build. </p>
|
|
|
|
|
|
- <p><b>THINGS TO DO</b></p>
|
|
|
|
-
|
|
|
|
|
|
+ <h2><a name="Linux" id="Linux"></a>Linux</h2>
|
|
<ol>
|
|
<ol>
|
|
|
|
|
|
- <li>Linux</li>
|
|
|
|
-
|
|
|
|
- <p>The current Linux implementation is flawed. It only works
|
|
|
|
- if the user chooses to use one of the few kernels selected
|
|
|
|
- as base for the kernel-headers. While the Makefile seems to have
|
|
|
|
- hooks, allowing the developer to specify whatever version he/she
|
|
|
|
- wants in the target/device/*/* Makefiles, the build will fail
|
|
|
|
- if another kernel version is choosen.</p>
|
|
|
|
-
|
|
|
|
- <p>The reason for this is that the kernel patches are not
|
|
|
|
- applied by the <code>"target/linux/linux.mk"</code>
|
|
|
|
- build script fragment. They are only applied by the
|
|
|
|
- <code>"toolchain/kernel-headers/*.makefile"</code>
|
|
|
|
- build script fragments</p>
|
|
|
|
-
|
|
|
|
- <p>If the kernel-header version and the linux version differs,
|
|
|
|
- there will be two <code>"linux-2.6.X.Y"</code>
|
|
|
|
- directories in
|
|
|
|
- <code>"build_<ARCH>/<>"</code>,
|
|
|
|
- each with its own set of patches. </p>
|
|
|
|
-
|
|
|
|
- <p>The solution in the works, is to move the build of Linux to
|
|
|
|
- <code>"project_build_<ARCH>/<project name>/linux-2.6.X.Y"</code> combined with method to configure
|
|
|
|
- which patches can be applied. Possibly, the linux source tree
|
|
|
|
- used to generate the kernel headers will be moved to the
|
|
|
|
- <code>"toolchain_build_<ARCH>"</code>
|
|
|
|
- directory
|
|
|
|
- </p>
|
|
|
|
-
|
|
|
|
- <p>The user will be able to select from three different
|
|
|
|
- Linux strategies:
|
|
|
|
|
|
+
|
|
|
|
+ <p>The user can select from three different Linux strategies:
|
|
|
|
|
|
<ul>
|
|
<ul>
|
|
- <li>Conservative Strategy: Only use version ssupported by the kernel headers</li>
|
|
|
|
- <li>Stable Linux Strategy: Allow any 2.6.X.Y combination.
|
|
|
|
|
|
+ <li>Legacy: Only use version supported by the kernel headers</li>
|
|
|
|
+ <li>Advanced: Allow any 2.6.X.Y combination.
|
|
(Minimum 2.6.19)</li>
|
|
(Minimum 2.6.19)</li>
|
|
<li>Power-User Strategy: Allow
|
|
<li>Power-User Strategy: Allow
|
|
<code>"-git"</code>, or
|
|
<code>"-git"</code>, or
|
|
<code>"-mm"</code>, or user downloadable kernels</li>
|
|
<code>"-mm"</code>, or user downloadable kernels</li>
|
|
</ul>
|
|
</ul>
|
|
|
|
|
|
- <p>The current kernel patches can be configured to be applied to the
|
|
|
|
|
|
+ <p>The current kernel patches can be applied to the
|
|
linux source tree even if the version differs from the
|
|
linux source tree even if the version differs from the
|
|
kernel header version. </p>
|
|
kernel header version. </p>
|
|
|
|
|
|
@@ -690,7 +663,7 @@ $ make me<TAB>
|
|
proprietary kernel-patch or decide to not apply the kernel
|
|
proprietary kernel-patch or decide to not apply the kernel
|
|
patches</p>
|
|
patches</p>
|
|
|
|
|
|
- <p>Other optional patches will be <u>board specific</u> or
|
|
|
|
|
|
+ <p>There is also support for <u>board specific</u> and
|
|
<u>architecture specific</u> patches. </p>
|
|
<u>architecture specific</u> patches. </p>
|
|
|
|
|
|
<p>There will also be a way for the user to supply absolute
|
|
<p>There will also be a way for the user to supply absolute
|
|
@@ -701,9 +674,27 @@ $ make me<TAB>
|
|
|
|
|
|
<p>Maybe, there will also be a possibility to supply an
|
|
<p>Maybe, there will also be a possibility to supply an
|
|
<code>"URL"</code> to a patch available on Internet. </p>
|
|
<code>"URL"</code> to a patch available on Internet. </p>
|
|
|
|
+<pre>
|
|
|
|
+export BUILDROOT_USE_XWINDOWS <>
|
|
|
|
+</pre>
|
|
|
|
+
|
|
|
|
+ <p>
|
|
|
|
+ If there is no linux config file available,
|
|
|
|
+ buildroot starts the linux configuration system, which
|
|
|
|
+ defaults to "make menuconfig". There is a menuoption
|
|
|
|
+ allowing you to use the less archaic "make xconfig"
|
|
|
|
+ You can override any .config setting by defining
|
|
|
|
+ the BUILDROOT_USE_XWINDOWS environment variable.
|
|
|
|
+ </p>
|
|
|
|
|
|
- <li>Configurable packages</li>
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
+ </ol>
|
|
|
|
+
|
|
|
|
+ <h2><a name="Todo" id="Todo"></a>Todo</h2>
|
|
|
|
+ <ol>
|
|
|
|
+
|
|
|
|
+ <li>Configurable packages</li>
|
|
<p>Many packages can, on top of the simple
|
|
<p>Many packages can, on top of the simple
|
|
"enable/disable build",
|
|
"enable/disable build",
|
|
be further configured using Kconfig.
|
|
be further configured using Kconfig.
|