Loading docs/buildroot.html +29 −38 Original line number Diff line number Diff line Loading @@ -247,6 +247,9 @@ <li>HOSTCC</li> <li>UCLIBC_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> <p>An example that uses config files located in the toplevel directory and Loading Loading @@ -635,52 +638,22 @@ $ make me<TAB> conflicts, but will use unique build directories, where the user can configure the build. </p> <p><b>THINGS TO DO</b></p> <h2><a name="Linux" id="Linux"></a>Linux</h2> <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> <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> <li>Power-User Strategy: Allow <code>"-git"</code>, or <code>"-mm"</code>, or user downloadable kernels</li> </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 kernel header version. </p> Loading @@ -690,7 +663,7 @@ $ make me<TAB> proprietary kernel-patch or decide to not apply the kernel 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> <p>There will also be a way for the user to supply absolute Loading @@ -701,9 +674,27 @@ $ make me<TAB> <p>Maybe, there will also be a possibility to supply an <code>"URL"</code> to a patch available on Internet. </p> <pre> export BUILDROOT_USE_XWINDOWS <> </pre> <li>Configurable packages</li> <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> </ol> <h2><a name="Todo" id="Todo"></a>Todo</h2> <ol> <li>Configurable packages</li> <p>Many packages can, on top of the simple "enable/disable build", be further configured using Kconfig. Loading Loading
docs/buildroot.html +29 −38 Original line number Diff line number Diff line Loading @@ -247,6 +247,9 @@ <li>HOSTCC</li> <li>UCLIBC_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> <p>An example that uses config files located in the toplevel directory and Loading Loading @@ -635,52 +638,22 @@ $ make me<TAB> conflicts, but will use unique build directories, where the user can configure the build. </p> <p><b>THINGS TO DO</b></p> <h2><a name="Linux" id="Linux"></a>Linux</h2> <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> <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> <li>Power-User Strategy: Allow <code>"-git"</code>, or <code>"-mm"</code>, or user downloadable kernels</li> </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 kernel header version. </p> Loading @@ -690,7 +663,7 @@ $ make me<TAB> proprietary kernel-patch or decide to not apply the kernel 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> <p>There will also be a way for the user to supply absolute Loading @@ -701,9 +674,27 @@ $ make me<TAB> <p>Maybe, there will also be a possibility to supply an <code>"URL"</code> to a patch available on Internet. </p> <pre> export BUILDROOT_USE_XWINDOWS <> </pre> <li>Configurable packages</li> <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> </ol> <h2><a name="Todo" id="Todo"></a>Todo</h2> <ol> <li>Configurable packages</li> <p>Many packages can, on top of the simple "enable/disable build", be further configured using Kconfig. Loading