summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/adding-packages-directory.txt2
-rw-r--r--docs/configure.txt35
-rw-r--r--docs/customize-busybox-config.txt2
-rw-r--r--docs/customize-kernel-config.txt2
-rw-r--r--docs/customize-libc-config.txt8
-rw-r--r--docs/customize-rootfs.txt2
-rw-r--r--docs/introduction.txt9
-rw-r--r--docs/make-tips.txt3
-rw-r--r--docs/prerequisite.txt2
-rw-r--r--docs/running-openadk.txt12
-rw-r--r--docs/using.txt14
-rw-r--r--docs/writing-rules.txt10
12 files changed, 47 insertions, 54 deletions
diff --git a/docs/adding-packages-directory.txt b/docs/adding-packages-directory.txt
index 347c39aa6..be62a0dc7 100644
--- a/docs/adding-packages-directory.txt
+++ b/docs/adding-packages-directory.txt
@@ -39,7 +39,7 @@ are space separated and can be negated with ! as a prefix.
* Target system
** variable used PKG_SYSTEM_DEPENDS
-** for allowed values see the output of ./scripts/getsystems
+** for allowed values see the output of: find target/*/systems -type f |grep -v toolchain
* Target C library
** variable used PKG_LIBC_DEPENDS
diff --git a/docs/configure.txt b/docs/configure.txt
index 3fadc1f48..5dd4690fb 100644
--- a/docs/configure.txt
+++ b/docs/configure.txt
@@ -7,12 +7,9 @@ Cross-compilation toolchain
---------------------------
A compilation toolchain is the set of tools that allows you to compile
-code for your system. It consists of a compiler (in our case, +gcc+),
-binary utils like assembler and linker (in our case, +binutils+) and a
-C standard library (either
-http://www.gnu.org/software/libc/libc.html[GNU Libc],
-http://www.uclibc.org/[uClibc] or
-http://www.musl-libc.org/[musl]).
+code for your system. It consists of a compiler,
+binary utils like assembler and linker and a
+C standard library.
The system installed on your development station certainly already has
a compilation toolchain that you can use to compile an application
@@ -41,28 +38,24 @@ target system uses ARM, the regular compilation toolchain on your host
runs on x86 and generates code for x86, while the cross-compilation
toolchain runs on x86 and generates code for ARM.
-OpenADK provides only one solution for the cross-compilation toolchain.
-The versions for binutils, gcc, gdb and libc are fixed. It is a combination
-of mostly the latest versions, which are known to work in this combination
-and are known to produce usable firmware images. You normally do not need to
-know the deep details, it is part of OpenADK policy to keep this part
-simple for the user.
-
-You can only choose between three C libraries:
-http://www.uclibc.org[uClibc], the
+You can choose between four C libraries:
+http://www.uclibc-ng.org[uClibc-ng],
+http://www.uclibc.org[uClibc],
http://www.gnu.org/software/libc/libc.html[glibc] and
http://www.musl-libc.org[musl].
-There are some minimal configuration options provided in +Toolchain settings+.
+There are some configuration options provided in +Toolchain settings+.
You can enable or disable the building of following components and toolchain
options:
-* GDB (enabled by default)
+* Optimization level
+
+* Stack Smashing Protection (SSP) support
-* GNU C++ compiler (enabled by default, when disabled
- will prevent some packages to show up in the menu selection)
+* Position Independent Executable (PIE) support
-* Stack Smashing Support (SSP) support for GNU C/C++ Compiler (experimental, some packages will fail to build)
+* Link Time Optimization (LTO) support
-* Link Time Optimization (LTO) support for GNU C/C++ Compiler (experimental, some packages will fail to build)
+* GNU Hashstyle support
+* GOLD LD support
diff --git a/docs/customize-busybox-config.txt b/docs/customize-busybox-config.txt
index dc1c7abaa..070a0ca1e 100644
--- a/docs/customize-busybox-config.txt
+++ b/docs/customize-busybox-config.txt
@@ -16,5 +16,5 @@ A change in the busybox configuration will rebuild the busybox package. If you
choose another implementation of f.e. tar, which is provided by default from
busybox, tar in busybox will be deactivated and the package will be
automatically rebuilded, so that your resulting firmware images or archives
-will only contain a single tar program. Obviosly just the one you have
+will only contain a single tar program. Obviously just the one you have
selected.
diff --git a/docs/customize-kernel-config.txt b/docs/customize-kernel-config.txt
index 9adeb7a9d..f96544dc4 100644
--- a/docs/customize-kernel-config.txt
+++ b/docs/customize-kernel-config.txt
@@ -13,7 +13,7 @@ because your choosen target system does not have support for it or the
option is not implemented, yet. OpenADK uses some kind of abstraction
layer between the real full featured and complicated Linux kernel configuration
and you. It is not perfect and does include a lot of manual work in
-+target/linux/config+, but it works in a acceptable way.
++target/linux/config+, but it works in an acceptable way.
If you just want to view the Linux configuration, which is actually
used for your target, you can execute following command:
diff --git a/docs/customize-libc-config.txt b/docs/customize-libc-config.txt
index 438e630f8..ec6e50ff6 100644
--- a/docs/customize-libc-config.txt
+++ b/docs/customize-libc-config.txt
@@ -6,18 +6,19 @@ Customizing the libc configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
-offers a lot of configuration options. They allow you to select
+and http://www.uclibc-ng.org/[uClibc-ng]
+offering a lot of configuration options. They allow you to select
various functionalities depending on your needs and limitations.
OpenADK chooses automatically the best configuration regarding
resulting code size, standard conformance, portability and GNU
libc compatibility.
If you still have the requirements to change the default, regenerate
-a new uClibc config from the existing one:
+a new uClibc/uClibc-ng config from the existing one:
----------------
$ tar xvf dl/uClibc-x.y.z.tar.bz2
- $ cd uClibc-x.y.z && patch -p1 <../toolchain/uClibc/patches/uclibc-git*.patch
+ $ cd uClibc-x.y.z && patch -p1 <../toolchain/uClibc/patches-x.y.z/*.patch
$ cp ../target/<arch>/uclibc.config .config
$ make menuconfig
----------------
@@ -30,4 +31,5 @@ and rebuild your targetsystem, including the toolchain components:
$ cd .. && make cleandir && make
----------------
+The config is shared by uClibc and uClibc-ng.
There are no customization options for GNU libc or musl available.
diff --git a/docs/customize-rootfs.txt b/docs/customize-rootfs.txt
index b21b82209..3518d15bb 100644
--- a/docs/customize-rootfs.txt
+++ b/docs/customize-rootfs.txt
@@ -6,7 +6,7 @@ Customizing the generated target filesystem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Besides changing one or another configuration through +make menuconfig+,
-there are is a way to customize the resulting target filesystem.
+there is a way to customize the resulting target filesystem.
Create a new directory called +extra+ in the top OpenADK directory.
Put there a tree of directories and files that will be copied directly
diff --git a/docs/introduction.txt b/docs/introduction.txt
index 3489c9d5f..1b0c33271 100644
--- a/docs/introduction.txt
+++ b/docs/introduction.txt
@@ -13,17 +13,16 @@ cross-compilation toolchain, a root filesystem, a Linux kernel image
and a bootloader for your target.
OpenADK is useful mainly for people working with embedded systems,
-but can be used by people playing with emulators (like Qemu, Virtualbox
-or Aranym) or small netbooks (like Lemote Yeelong) needing a fast
-and small Linux system.
+but can be used by people playing with emulators or small netbooks
+needing a fast and small Linux system.
Embedded systems often use processors that are not the regular x86
processors everyone is used to having in his PC. They can be PowerPC
processors, MIPS processors, ARM processors, etc.
OpenADK supports numerous processors and their variants; it also comes
-with default configurations for some embedded systems and netbooks.
-(Raspberry PI, Sharp Zaurus, Lemote Yeelong, IBM X40 and more)
+with default configurations for some embedded systems, emulators and netbooks.
+(Raspberry PI, Cubox-i, Qemu, Aranym, PCEngines APU, Lemote Yeelong, IBM X40 and more)
OpenADK is not a Linux distribution and there are no releases or binary
packages available. If you need something like that, better switch to
diff --git a/docs/make-tips.txt b/docs/make-tips.txt
index 4f6aa2f36..9d647cbea 100644
--- a/docs/make-tips.txt
+++ b/docs/make-tips.txt
@@ -56,9 +56,6 @@ removed some patch, just do:
$ make cleankernel
--------------------
-This is automatically triggered if you change the kernel version in
-your configuration.
-
If you just want to clean all packages and wants to rebuild the firmware,
(the toolchain is not deleted) just use:
diff --git a/docs/prerequisite.txt b/docs/prerequisite.txt
index d1ceab705..8209abb82 100644
--- a/docs/prerequisite.txt
+++ b/docs/prerequisite.txt
@@ -39,7 +39,7 @@ though. To re-issue the checks, use +make prereq+.
For some packages there are some optional packages required. OpenADK
will check for the required tools in advance, when a specific package is
-choosen. For example XBMC needs java installed on the host system.
+choosen. For example Kodi needs Java installed on the host system.
OpenADK tries to avoid any optional required host tools and will try to
build them when needed.
diff --git a/docs/running-openadk.txt b/docs/running-openadk.txt
index 7f33f1cd1..dcc7cee4e 100644
--- a/docs/running-openadk.txt
+++ b/docs/running-openadk.txt
@@ -48,7 +48,7 @@ network servers, etc.).
OpenADK uses *Busybox* init. Amongst many programs, Busybox has an
implementation of a basic +init+ program, which is sufficient for most embedded
-systems. The Busybox +init+ program will read the +/etc/inittab+ file at boot
+systems. The Busybox +init+ program will read the +/etc/inittab+ file at boot
to know what to do. The syntax of this file can be found in
http://git.busybox.net/busybox/tree/examples/inittab (note that Busybox
+inittab+ syntax is special: do not use a random +inittab+ documentation from
@@ -74,10 +74,10 @@ of it. +mdev+ is a program part of Busybox that the kernel will call every time
a device is added or removed. Thanks to the +/etc/mdev.conf+ configuration
file, +mdev+ can be configured to for example, set specific permissions or
ownership on a device file, call a script or application whenever a device
-appears or disappear, etc. Basically, it allows _userspace_ to react on device
+appears or disappear, etc. Basically, it allows _userspace_ to react on device
addition and removal events. +mdev+ is also important if you have devices that
require a firmware, as it will be responsible for pushing the firmware contents
-to the kernel. +mdev+ is a lightweight implementation (with fewer features) of
+to the kernel. +mdev+ is a lightweight implementation (with fewer features) of
+udev+. For more details about +mdev+ and the syntax of its configuration file,
see http://git.busybox.net/busybox/tree/docs/mdev.txt.
@@ -136,8 +136,8 @@ process will setup /etc correctly on boot up, when cfgfs application is found.
After making any changes to /etc, which should survive a reboot of the embedded
system must be written to the cfgfs partition via “cfgfs commit”. Trying to
reboot, shutdown or halt an embedded system with unsaved changes will generate
-an error, which can be circumvented. Updates to /etc via the ipkg package
-manager will be reported.
+an error, which can be circumvented. Updates to /etc via a package
+manager (f.e. ipkg) will be reported.
---------------------
cfgfs
@@ -164,7 +164,7 @@ See Appendix xref:network-configuration[]
getting a shell on the system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-There are two method available to get a shell on your embedded system created with
+There are two methods available to get a shell on your embedded system created with
OpenADK. You can either login locally via serial console or graphical console or you
can login remotely via secure shell.
diff --git a/docs/using.txt b/docs/using.txt
index 45ea3f20c..7cf109609 100644
--- a/docs/using.txt
+++ b/docs/using.txt
@@ -45,13 +45,13 @@ tell OpenADK to run each package compilation with +make -jN+.
The `make` command will generally perform the following steps:
-* download source files (as required);
-* configure, build and install required host tools;
-* configure, build and install the cross-compiling toolchain;
-* build a kernel image, if selected;
-* build/install selected target packages;
-* build a bootloader, if selected;
-* create a root filesystem in selected format.
+* download source files
+* configure, build and install required host tools
+* configure, build and install the cross-compiling toolchain
+* build a kernel image, if selected
+* build/install selected target packages
+* build a bootloader, if selected
+* create a root filesystem in selected format
OpenADK output is stored in several subdirectories:
diff --git a/docs/writing-rules.txt b/docs/writing-rules.txt
index 22f6547ad..e24ff4a5c 100644
--- a/docs/writing-rules.txt
+++ b/docs/writing-rules.txt
@@ -21,16 +21,18 @@ An entry has the following pattern:
---------------------
config ADK_TARGET_FOO
- bool "foo"
- depends on ADK_PACKAGE_LIBBAZ
+ prompt "foo"
+ boolean
select BR2_PACKAGE_LIBBAR
+ depends on ADK_PACKAGE_LIBBAZ
+ default n
help
This is a comment that explains what foo is.
http://foo.org/foo/
---------------------
-* The +bool+, +depends on+, +select+ and +help+ lines are indented
+* The +boolean+, +depends on+, +default+, +select+ and +help+ lines are indented
with one tab.
* The help text itself should be indented with one tab and two
@@ -53,7 +55,7 @@ http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
# material, please see the LICENCE file in the top-level directory.
---------------------
+
-* Assignment: use +=+ followed by two tabs:
+* Assignment: use +:=+ or ++=+ followed by two tabs:
+
---------------------
PKG_VERSION:= 1.0