Browse Source

docs: optimize documentation

Waldemar Brodkorb 9 years ago
parent
commit
c11c13e31a

+ 1 - 1
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

+ 14 - 21
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

+ 1 - 1
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.

+ 1 - 1
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:

+ 5 - 3
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.

+ 1 - 1
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

+ 4 - 5
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

+ 0 - 3
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:
 

+ 1 - 1
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.
 

+ 6 - 6
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.
 

+ 7 - 7
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: 
 

+ 6 - 4
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

+ 1 - 1
target/config/Config.in.toolchain

@@ -1,7 +1,7 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
-menu "Toolchain specific settings"
+menu "Toolchain settings"
 depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
 
 config ADK_VENDOR