diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2009-12-15 11:32:02 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-12-15 11:32:02 +0100 |
commit | dac84c7b9d67c2f831adb53a41f53a9f7330acdb (patch) | |
tree | 4e6e7ad95e421fd8e0f4a7eb1771b7391f8f1f1f /Documentation/barebox-main.dox | |
parent | f3d6e2f8f93b6f0d9b8ca68bc7978ea3036636be (diff) | |
download | barebox-dac84c7b9d67c2f831adb53a41f53a9f7330acdb.tar.gz barebox-dac84c7b9d67c2f831adb53a41f53a9f7330acdb.tar.xz |
documentation updates
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'Documentation/barebox-main.dox')
-rw-r--r-- | Documentation/barebox-main.dox | 73 |
1 files changed, 36 insertions, 37 deletions
diff --git a/Documentation/barebox-main.dox b/Documentation/barebox-main.dox index e2f965ce70..cb9de1a90c 100644 --- a/Documentation/barebox-main.dox +++ b/Documentation/barebox-main.dox @@ -2,18 +2,17 @@ @section barebox_intro Introduction -This is barebox, our proposal for a next generation of the famous barebox -bootloader. barebox offers an excellent choice as a bootloader for -today's embedded systems, seen from a user's point of view. -Nevertheless, there are quite some design flaws which turned out over -the last years and we think that they cannot be solved in a production -tree. So this tree tries to do several things right - without caring -about losing support for old boards. +@a Barebox is a bootloader which follows the tradition of U-Boot. U-Boot +offers an excellent choice as a bootloader for today's embedded systems, +seen from a user's point of view. Nevertheless, there are quite some +design flaws which turned out over the last years and we think that they +cannot be solved in a production tree. So this tree tries to do several +things right - without caring about losing support for old boards. @par General features include: - A posix based file API - - inside barebox the usual open/close/read/write/lseek functions are used. + - inside @a barebox the usual open/close/read/write/lseek functions are used. This makes it familiar to everyone who has programmed under unix systems. - usual shell commands like ls/cd/mkdir/echo/cat,... @@ -47,12 +46,12 @@ about losing support for old boards. the code. - simulation target - - barebox can be compiled to run under Linux. While this is rather useless + - @a barebox can be compiled to run under Linux. While this is rather useless in real world this is a great debugging and development aid. New features can be easily developped and tested on long train journeys and started under gdb. There is a console driver for linux which emulates a serial device and a tap based ethernet driver. Linux files can be mapped to - devices under barebox to emulate storage devices. + devices under @a barebox to emulate storage devices. - device parameter support - Each device can have a unlimited number of parameters. They can be accessed @@ -65,7 +64,7 @@ about losing support for old boards. - getopt - There is a small getopt implementation. Some commands got really - complicated (both in code and in usage) due to the fact that barebox only + complicated (both in code and in usage) due to the fact that @a barebox only allowed positional parameters. - editor @@ -74,27 +73,27 @@ about losing support for old boards. @par Building barebox -barebox uses the Linux kernel's build system. It consists of two parts: +@a Barebox uses the Linux kernel's build system. It consists of two parts: the makefile infrastructure (kbuild), plus a configuration system -(kconfig). So building barebox is very similar to building the Linux +(kconfig). So building @a barebox is very similar to building the Linux kernel. -For the examples below, we use the User Mode barebox implementation, which -is a port of barebox to the Linux userspace. This makes it possible to +For the examples below, we use the User Mode @a barebox implementation, which +is a port of @a barebox to the Linux userspace. This makes it possible to test drive the code without having real hardware. So for this test -scenario, ARCH=sandbox is the valid architecture selection. This currently +scenario, @p ARCH=sandbox is the valid architecture selection. This currently only works on ia32 hosts and partly on x86-64. Selection of the architecture and the cross compiler can be done in two -ways. You can either specify it using the environment variables ARCH -and CROSS_COMPILE, or you can create the soft links cross_arch and -cross_compile pointing to your architecture and compiler. For ARCH=sandbox +ways. You can either specify it using the environment variables @p ARCH +and @p CROSS_COMPILE, or you can create the soft links cross_arch and +cross_compile pointing to your architecture and compiler. For @p ARCH=sandbox we do not need a cross compiler so it is sufficient to specify the architecture: @code # ln -s sandbox cross_arch @endcode -In order to configure the various aspects of barebox, start the barebox +In order to configure the various aspects of @a barebox, start the @a barebox configuration system: @code # make menuconfig @endcode @@ -105,18 +104,18 @@ finished (you can simulate this by using the standard demo config file with 'make sandbox_defconfig'), there is a .config file in the toplevel directory of the sourcode. -Once barebox is configured, we can start the compilation +Once @a barebox is configured, we can start the compilation @code # make @endcode -If everything goes well, the result is a file called barebox: +If everything goes well, the result is a file called @p barebox: @code # ls -l barebox -rwxr-xr-x 1 rsc ptx 114073 Jun 26 22:34 barebox @endcode -barebox usually needs an environment for storing the configuation data. +@a barebox usually needs an environment for storing the configuation data. You can generate an environment using the example environment contained in examples/environment: @@ -126,7 +125,7 @@ To get some files to play with you can generate a cramfs image: @code # mkcramfs somedir/ cramfs.bin @endcode -The barebox image is a normal Linux executable, so it can be started +The @a barebox image is a normal Linux executable, so it can be started just like every other program: @code @@ -138,16 +137,16 @@ just like every other program: barebox\> / @endcode -Specifying -[ie] \<file\> tells barebox to map the file as a device -under /dev. Files given with '-e' will appear as /dev/env[n]. Files -given with '-i' will appear as /dev/fd[n]. -If barebox finds a valid configuration sector on /dev/env0 it will -load it to /env. It then executes /env/init if it exists. If you have -loaded the example environment barebox will show you a menu asking for +Specifying -[ie] \<file\> tells @a barebox to map the file as a device +under @p /dev. Files given with '-e' will appear as @p /dev/env[n]. Files +given with '-i' will appear as @p /dev/fd[n]. +If @a barebox finds a valid configuration sector on @p /dev/env0 it will +load it to @p /env. It then executes @p /env/init if it exists. If you have +loaded the example environment @a barebox will show you a menu asking for your settings. -If you have started barebox as root you will find a new tap device on your -host which you can configure using ifconfig. Once you configured bareboxs +If you have started @a barebox as root you will find a new tap device on your +host which you can configure using ifconfig. Once you configured @a barebox's network settings accordingly you can do a ping or tftpboot. If you have mapped a cramfs image try mounting it with @@ -157,11 +156,11 @@ If you have mapped a cramfs image try mounting it with # mount /dev/fd0 cramfs /cram @endcode -Memory can be examined as usual using md/mw commands. They both understand +Memory can be examined as usual using @p md/mw commands. They both understand the -f \<file\> option to tell the commands that they should work on the -specified files instead of /dev/mem which holds the complete address space. -Note that if you call 'md /dev/fd0' (without -f) barebox will segfault on -the host, because it will interpret /dev/fd0 as a number. +specified files instead of @p /dev/mem which holds the complete address space. +Note that if you call 'md /dev/fd0' (without -f) @a barebox will segfault on +the host, because it will interpret @p /dev/fd0 as a number. @par Directory layout @@ -192,7 +191,7 @@ net / -> Networking stuff scripts / -> Kconfig system -Documentation / -> +Documentation / -> Parts of the documention, also doxygen @endverbatim @section license barebox's License |