|
|
@ -95,16 +95,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
<h2><a name="download" id="download"></a>Obtaining OpenWrt Buildroot</h2>
|
|
|
|
<h2><a name="download" id="download"></a>Obtaining OpenWrt Buildroot</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p>OpenWrt Buildroot is available via CVS - Concurrent Version System.
|
|
|
|
<p>OpenWrt Buildroot is available via SVN aka subversion.
|
|
|
|
For any kind of OpenWrt development you should get the latest version from cvs via:</p>
|
|
|
|
For any kind of OpenWrt development you should get the latest version from svn via:</p>
|
|
|
|
<pre>
|
|
|
|
<pre>
|
|
|
|
$ cvs -d:pserver:anonymous@openwrt.org:/openwrt co openwrt
|
|
|
|
$ svn co https://svn.openwrt.org/openwrt/trunk/
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>If you only like to create your own custom firmware images and pakages we
|
|
|
|
<p>If you only like to create your own custom firmware images and packages we
|
|
|
|
strongely suggest to use the CVS branch of the stable version (whiterussian):
|
|
|
|
strongly suggest to use the SVN branch of the stable version (whiterussian):
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
<pre>
|
|
|
|
$ cvs -d:pserver:anonymous@openwrt.org:/openwrt co -rwhiterussian openwrt
|
|
|
|
$ svn co https://svn.openwrt.org/openwrt/branches/whiterussian/
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -156,13 +156,25 @@
|
|
|
|
<h2><a name="custom_targetfs" id="custom_targetfs"></a>Customizing the
|
|
|
|
<h2><a name="custom_targetfs" id="custom_targetfs"></a>Customizing the
|
|
|
|
target filesystem</h2>
|
|
|
|
target filesystem</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<li>You can customize the target filesystem skeleton, available under
|
|
|
|
<p>There are two ways to customize the resulting target filesystem:</p>
|
|
|
|
<code>package/base-files/default/</code>. You can change
|
|
|
|
|
|
|
|
configuration files or other stuff here. However, the full file hierarchy
|
|
|
|
<ul>
|
|
|
|
is not yet present, because it's created during the compilation process.
|
|
|
|
<li>Customize the target filesystem directly, and rebuild the image. The
|
|
|
|
So you can't do everything on this target filesystem skeleton, but
|
|
|
|
target filesystem is available under <code>build_ARCH/root/</code> where
|
|
|
|
changes to it remains even when you completely rebuild the cross-compilation
|
|
|
|
<code>ARCH</code> is the chosen target architecture, usually mipsel.
|
|
|
|
toolchain and the tools.<br />
|
|
|
|
You can simply make your changes here, and run make target_install afterwards,
|
|
|
|
|
|
|
|
which will rebuild the target filesystem image. This method allows to do
|
|
|
|
|
|
|
|
everything on the target filesystem, but if you decide to rebuild your toolchain,
|
|
|
|
|
|
|
|
tools or packages, these changes will be lost.</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li>Customize the target filesystem skeleton, available under
|
|
|
|
|
|
|
|
<code>package/base-files/default/</code>. You can customize
|
|
|
|
|
|
|
|
configuration files or other stuff here. However, the full file hierarchy
|
|
|
|
|
|
|
|
is not yet present, because it's created during the compilation process.
|
|
|
|
|
|
|
|
So you can't do everything on this target filesystem skeleton, but
|
|
|
|
|
|
|
|
changes to it remains even when you completely rebuild the cross-compilation
|
|
|
|
|
|
|
|
toolchain and the tools.<br />
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
<h2><a name="custom_busybox" id="custom_busybox"></a>Customizing the
|
|
|
|
<h2><a name="custom_busybox" id="custom_busybox"></a>Customizing the
|
|
|
|
Busybox configuration</h2>
|
|
|
|
Busybox configuration</h2>
|
|
|
@ -283,7 +295,7 @@
|
|
|
|
default) and the target filesystem skeleton. This directory will contain
|
|
|
|
default) and the target filesystem skeleton. This directory will contain
|
|
|
|
the final root filesystem. To set it up, it first deletes it, then it
|
|
|
|
the final root filesystem. To set it up, it first deletes it, then it
|
|
|
|
copies the skeleton available in <code>target/default/target_skeleton</code>
|
|
|
|
copies the skeleton available in <code>target/default/target_skeleton</code>
|
|
|
|
and then removes useless <code>CVS/</code> directories.</li>
|
|
|
|
and then removes useless <code>SVN/</code> directories.</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li>Call the <code>prepare</code>, <code>compile</code> and <code>install</code>
|
|
|
|
<li>Call the <code>prepare</code>, <code>compile</code> and <code>install</code>
|
|
|
|
targets for the subdirectories <code>toolchain</code>, <code>package</code>
|
|
|
|
targets for the subdirectories <code>toolchain</code>, <code>package</code>
|
|
|
@ -478,7 +490,7 @@ foo-compile: bar-compile
|
|
|
|
18
|
|
|
|
18
|
|
|
|
19 $(eval $(call PKG_template,FOO,foo,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
|
|
|
|
19 $(eval $(call PKG_template,FOO,foo,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
|
|
|
|
20
|
|
|
|
20
|
|
|
|
21 $(PKG_BUILD_DIR)/.configured:
|
|
|
|
21 $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
|
|
|
|
22 (cd $(PKG_BUILD_DIR); \
|
|
|
|
22 (cd $(PKG_BUILD_DIR); \
|
|
|
|
23 $(TARGET_CONFIGURE_OPTS) \
|
|
|
|
23 $(TARGET_CONFIGURE_OPTS) \
|
|
|
|
24 CFLAGS="$(TARGET_CFLAGS)" \
|
|
|
|
24 CFLAGS="$(TARGET_CFLAGS)" \
|
|
|
@ -587,16 +599,6 @@ foo-compile: bar-compile
|
|
|
|
recursevily strip all binaries and libraries.
|
|
|
|
recursevily strip all binaries and libraries.
|
|
|
|
Finally <code>IPKG_BUILD</code> is called to create the package.</p>
|
|
|
|
Finally <code>IPKG_BUILD</code> is called to create the package.</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p>If you want other targets to be executed at <code>compile</code>,
|
|
|
|
|
|
|
|
<code>install</code> or <code>clean</code> time (e.g. for installing
|
|
|
|
|
|
|
|
a library into the staging dir), just create the targets (usually
|
|
|
|
|
|
|
|
<code>install-dev</code> and <code>uninstall-dev</code>) and enable
|
|
|
|
|
|
|
|
them like this:
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
|
|
|
compile-targets: install-dev
|
|
|
|
|
|
|
|
clean-targets: uninstall-dev
|
|
|
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Conclusion</h3>
|
|
|
|
<h3>Conclusion</h3>
|
|
|
|
|
|
|
|
|
|
|
|
<p>As you can see, adding a software to buildroot is simply a
|
|
|
|
<p>As you can see, adding a software to buildroot is simply a
|
|
|
@ -611,7 +613,7 @@ clean-targets: uninstall-dev
|
|
|
|
|
|
|
|
|
|
|
|
<h2><a name="links" id="links"></a>Resources</h2>
|
|
|
|
<h2><a name="links" id="links"></a>Resources</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p>To learn more about OpenWrt, you can visit this website:
|
|
|
|
<p>To learn more about OpenWrt you can visit this website:
|
|
|
|
<a href="http://openwrt.org/">http://openwrt.org/</a></p>
|
|
|
|
<a href="http://openwrt.org/">http://openwrt.org/</a></p>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|