/** @page first_steps First Steps

<i>This section demonstrates the first steps with the 'sandbox'
platform. </i>

@a barebox usually needs an environment for storing its configuration.
You can generate an environment using the example environment contained
in arch/sandbox/board/env:

@code
# ./scripts/bareboxenv -s -p 0x10000 arch/sandbox/board/env/ env.bin
@endcode

To get some files to play with you can generate a cramfs image:

@code
# mkcramfs somedir/ cramfs.bin
@endcode

The @a barebox image is a normal Linux executable, so it can be started
just like every other program:

@code
# ./barebox -e env.bin -i cramfs.bin

barebox 2010.10.0 (Oct 29 2010 - 13:47:17)

loading environment from /dev/env0
barebox\> /
@endcode

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 be loaded into @p /env and executes @p /env/init if existing.
The default environment from the example above will show up a menu
asking for the relevant settings.

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 configured with
valid network addresses, barebox can be used to ping the host machine or
to fetch files with tftp.

\todo Add more about tun/tap configuration

If you have mapped a cramfs image, try mounting it with

@code
# mkdir /cram
# mount /dev/fd0 cramfs /cram
@endcode

Memory can be examined 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 @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.

*/
