The Barebox bootloader was started in 2007 as an attempt to work around the limitations that U-Boot shows through its age. Originally dubbed U-Boot v2, it now has a different name because its design goals are different and it has its own community in the meantime.

mount - Mount a filesystem of a given type to a mountpoint or list mounted filesystems.

+

mw - memory write (fill)

+

passwd - passwd

+

ping - ping <destination>

+

printenv - Print value of one or all environment variables.

+

pwd - print working directory

+

readline - prompt for user input

+

reset - Perform RESET of the CPU

+

rm - remove files

+

rmdir - remove directorie(s)

+

saveenv - save environment to persistent storage

+

sedit - alias for edit

+

sh - run shell script

+

sha1sum - sha1 checksum calculation

+

sha224sum - sha224 checksum calculation

+

sha256sum - sha256 checksum calculation

+

sleep - delay execution for n seconds

+

source - execute shell script in current shell environment

+

test - minimal test like /bin/sh

+

tftp - Load file using tftp protocol

+

time - measure execution time of a command

+

timeout - wait for a specified timeout

+

true - do nothing, successfully

+

umount - umount a filesystem

+

version - print monitor version

+

barebox:/

+

+

= Menu =

+

+

It's another great feature

+

+

Add Menu Framework

+

+

Introduce a menu framework that allow us to create list menu to simplify

+

barebox and make it more user-frendly.

+

+

This kind of menu is very useful when you do not have a keyboard or a

+

serial console attached to your board to allow you to interact with

+

barebox

+

+

For the developer part, the framework introduces two API

+

+

1) C

+

that allow you to create menu, submenu, entry and complex menu action

+

+

2) Command

+

that allow you as the C API to create menu, submenu, entry and complex

+

menu action but this time the actions will be store in a function and

+

then be evaluated and excecuted at runtime.

+

+

barebox:/ help menu

+

Usage: menu [OPTION]...

+

Manage Menu

+

-m menu

+

-l list

+

-s show

+

Advanced

+

-e menu entry

+

-a add

+

-r remove

+

-S select

+

+

How to

+

+

Show menu

+

(-A auto select delay)

+

(-d auto select description)

+

menu -s -m <menu> [-A delay] [-d auto_display]

+

+

List menu

+

menu -l

+

+

Add a menu

+

menu -a -m <name> -d <description>

+

+

Remove a menu

+

menu -r -m <name>

+

+

Add an entry

+

(-R for do no exit the menu after executing the command)

+

(-b for box style 1 for selected)

+

(and optional -c for the command to run when we change the state)

+

menu -e -a -m <menu> -c <command> [-R] [-b 0|1] -d <description>

+

Add a submenu entry

+

(-R is not needed)

+

(-b for box style 1 for selected)

+

(and -c is not needed)

+

menu -e -a -m <menu> -u submenu -d [-b 0|1] <description>

+

+

Remove an entry

+

menu -e -r -m <name> -n <num>

+

+

Select an entry

+

menu -m <menu> -S -n <entry num starting at 1>

+

+

List menu

+

menu -e -l [menu]

+

+

Menu example

+

menu -a -m boot -d "Boot Menu"

+

menu -e -a -m boot -c boot -d "Boot"

+

menu -e -a -m boot -c reset -d "Reset"

+

menu -s -m boot

+

+

An example

+

+

menu -a -m boot -d "Welcome on Barebox Boot Sequence"

+

menu -e -a -m boot -c boot -d " 1: linux_2_6_36"

+

menu -e -a -m boot -c boot -d " 2: linux_2_6_39"

+

menu -e -a -m boot -c boot -d " 3: linux_3_0_0"

+

menu -e -a -m boot -c boot -d " 4: installer"

+

menu -e -a -m boot -c clear -d " 5: shell"

+

menu -e -a -m boot -c reset -d " 6: reset"

+

menu -s -m boot

+

+

The screen is clear and show

+

+

Welcome on Barebox Boot Sequence

+

1: linux_2_6_36

+

2: linux_2_6_39

+

3: linux_3_0_0

+

4: installer

+

5: shell

+

6: reset

+

Auto Select in 1

+

+

[[Category:Bootloaders]]

Latest revision as of 13:00, 28 October 2012

The Barebox bootloader was started in 2007 as an attempt to work around the limitations that U-Boot shows through its age. Originally dubbed U-Boot v2, it now has a different name because its design goals are different and it has its own community in the meantime.