summaryrefslogtreecommitdiffstats
path: root/Documentation/barebox-main.dox
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/barebox-main.dox')
-rw-r--r--Documentation/barebox-main.dox73
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