/** @page users_manual User's Manual

This manual provides help for working with @a Barebox from the user's
point of view. So if you want to use @a Barebox for booting your target,
you find a lot of nice tricks on these pages to make your life easier.

@li @subpage building
@li @subpage first_steps
@li @subpage command_reference
@li @subpage gpio_for_users

\todo Rework the following sections
@li @subpage shell_notes
@li @subpage readline_parser
@li @subpage x86_bootloader
@li @subpage net_netconsole

*/
