9
0
Fork 0
Commit Graph

135 Commits

Author SHA1 Message Date
Sascha Hauer 91c38de28f glob: Add sorted output support
This allows us for example to execute init scripts in the correct
order.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-05-14 20:16:44 +02:00
Sascha Hauer b8c94a1561 add 'global' command
This implements global shell variable support. This is done by registering
a new device named 'global', so global variables are just plain device
parameters.
Global variables are useful for storing the global state in the environment.
Currently we do this by sourcing scripts instead of executing them which is
quite limiting.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-05-14 08:57:01 +02:00
Jean-Christophe PLAGNIOL-VILLARD 071ceba1e3 Introduce binfmt support
This will allow to execute any file and detect it's type to handle it.
This will allow to use shell for bootp bootfile or dfu.

You can register multiple hook for the same filetype. They will be execute
in the invert order of register. If a hook does not handle the file you just
return -ERESTARTNOHAND;

This is only available with hush parser.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-04-18 20:14:12 +08:00
Sascha Hauer afb03d7a55 make building of bareboxenv-target optional
The bareboxenv script build for the target does not work on
all architectures, so make it optional.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-04-13 12:36:38 +02:00
Sanjeev Premi 21ea9e0f54 Select CMD_LOADENV with DEFAULT_ENVIRONMENT
The environment isn't loaded until this command is
is selected - even if compiled in.

This patch makes the dependency explicit.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-02-07 23:17:43 +01:00
Jean-Christophe PLAGNIOL-VILLARD 463229490e introduce barebox_bare_init_size to known the bare_init size and check it
this allow to check we do not exceed the size of the SRAM as example

introduce BAREBOX_MAX_BARE_INIT_SIZE the maximum size of bare_init
this will allow your bare_init will fit in SRAM as example
ARCH can overwrite it via ARCH_BAREBOX_MAX_BARE_INIT_SIZE

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-23 09:43:28 +01:00
Jean-Christophe PLAGNIOL-VILLARD 064beaa73b add config to check if the size of barebox exceed the target size
CONFIG_BAREBOX_MAX_IMAGE_SIZE will allow to detected silent oversize result

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-17 18:48:54 +01:00
Jean-Christophe PLAGNIOL-VILLARD 971d164f62 param: add config to disable it
this will allow to save 992 Bytes for TI xlaoder or AT91 bootstrap

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-01-11 21:22:34 +08:00
Jean-Christophe PLAGNIOL-VILLARD 507319e13b filetype: add config to disable it
remove 160 bytes

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-01-11 21:22:34 +08:00
Jean-Christophe PLAGNIOL-VILLARD b7498fdb82 banner: add config to disable it
this will allow to save 144 bytes

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-01-11 21:22:34 +08:00
Jean-Christophe PLAGNIOL-VILLARD 26927bafde defaultenv: use a compressed version when embedded in barebox
enable it only if a compression is enabled
support gzip, bzip2 and lzo

you will be able to choose which compression to use

-rw-r--r--  1 root root    8436 Dec 15 01:35 barebox_default_env
-rw-r--r--  1 root root    2782 Dec 15 01:35 barebox_default_env.bz2
-rw-r--r--  1 root root    2691 Dec 15 01:38 barebox_default_env.gz
-rw-r--r--  1 root root    3262 Dec 15 01:38 barebox_default_env.lzo

with using gzip and the default env we can save 5.6KiB (5,745 bytes)
with using bzip2 and the default env we can save 5.5KiB (5,654 bytes)
with using lzo and the default env we can save 5.1KiB (5,174 bytes)

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-01-02 11:47:49 +01:00
Antony Pavlov b25bb1f072 add tlsf-based malloc implementation
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-12-23 11:26:42 +01:00
Sascha Hauer 14aac3f197 remove old ft_build support
This is unused now as its only user (ppc) is switched to
libfdt based oftree support"

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-12-15 20:11:48 +01:00
Sascha Hauer 083b3bd52a make dos partition support default yes if we have disk partition support
DOS partitions are the only partitions we handle at the moment
and without it most MMC/SD enabled configs are useless, so make
it default yes. Also, use 'depends on' instead of 'if'

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Juergen Beisert <jbe@pengutronix.de>
2011-12-07 17:46:17 +01:00
Juergen Beisert 967a2675ba DISK: Add common partition handling for disk like media
This covers disk like media like SD card, CF cards, regular hard disks and also
USB mass storage devices. Most common used partition table is still of DOS type.
This implementation is prepared to support more partition types in the future.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-11-28 09:23:24 +01:00
Sascha Hauer d01070c8af remove EARLY_INIT and EARLY_CONSOLE support
Bitrotted over time and nearly unused, so remove it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-27 10:27:18 +02:00
Jan Weitzel 22f7370d2b add option LOCALVERSION to common/Kconfig
Add Kconfig option LOCALVERSION so you can set a customizable suffix
to the barebox version string.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-20 08:54:04 +02:00
Sascha Hauer 43ebdba64a remove now unnecessary HAVE_MMU from Kconfig
MMU now can be enabled on every ARM board, so remove
the dependency.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-08-03 09:12:16 +02:00
Antony Pavlov 7e3f76437c Add option DEBUG_LL to common/Kconfig
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-07-27 10:55:41 +02:00
Sascha Hauer 523daf675a add dummy_malloc functions
For some environments the dummy malloc functions offer a very small
alternative implementation. malloc will get its memory from sbrk()
and never frees memory again.
This of course is not suitable for interactive environments and thus
depends on CONFIG_SHELL_NONE

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer 5b85da326a add noshell support
Some scenarios like initial bootloaders do not need interactive shell
support, so make this optional. Without a shell a board must provide
its own run_shell function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer 3c702a58c7 make command support optional
In a noninveractive environment we do not need commands. So make
them optional.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer 71a4899e18 env: Make environment variable support optional
Environment variables are only useful in interactive environments.
Make it optional on our way to support a noninteractive barebox.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer 61f41e3c54 add block support
This adds a simple block layer to barebox. Reading and writing
to block devices can be painfully slow without caching, so
add a simple caching layer here.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-11 15:57:51 +02:00
Sascha Hauer f4491d7b04 kallsyms/printk: enable symbol printing support (%pS)
With this kallsyms finally start working at least on ARM. This
enables us resolving addresses into symbols which is particularly
useful in combination with stack unwinding support. As kallsyms
now compile and work we can remove the depends on BROKEN.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-03-10 14:50:16 +01:00
Marc Kleine-Budde 0277a663bc Add generic poll infrastructure
Barebox does not have interrupt functionality. Nevertheless it's
sometimes useful to periodically call functions, like for example
a heartbeat LED or watchdog reset. Instead of cluttering the code
with calls to these functions this patch adds a generic polling
infrastructure. Code which might run for longer now can call
poller_call() periodically which in turn will call all registered
pollers.
This patch adds a call to poller_call in two generic pathes. First
of them is getc() which covers waiting for uart input. Second is
ctrlc() which should be called anyway from code which might run
for longer. So instead adding poller_call directly to your code,
consider checking ctrlc instead which also gives additional
convenience to the user.
The poller code is safe against reentrancy which means that it's
safe to call poller_call inside a poller.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-20 09:28:21 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3b8942faa0 defaultenv/update: add check crc32 options
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-12 21:32:45 +02:00
Jean-Christophe PLAGNIOL-VILLARD 5c3538f44d defaultenv/update: merge update_rootfs and update_kernel
use getopt to simplify it and prepare for xmodem support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-12 21:32:44 +02:00
Jean-Christophe PLAGNIOL-VILLARD 4dfd5b5c62 defaultenv: introduce CONFIG_DEFAULT_ENVIRONMENT_GENERIC to enable it
this will we usefull to enable functionnality if used

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-12 21:32:44 +02:00
Sascha Hauer 914e2f8f7f hush: implement getopt builtin
Positional parameters are not nice, so implement a getopt
function. This has to be done as a builtin because otherwise
we have no access to the parents argc/argv.

getopt works as expected, here is a little example:

while getopt "hs:" OPT
do
        if [ $OPT = h ]; then
                echo "usage"
                exit 1
        else
                echo "scr: opt: $OPT optarg: $OPTARG"
	fi
done

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-10-08 15:30:43 +02:00
Jean-Christophe PLAGNIOL-VILLARD c83ebb95f1 add password framework
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2010-09-20 08:57:22 +02:00
Jean-Christophe PLAGNIOL-VILLARD b712b26632 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 usefull when you do not have a keyboard or a
serial console attached to your board to allow you to interract with
barebox

For the develloper part,
The framework introduce 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.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-08-30 20:57:20 +02:00
Jean-Christophe PLAGNIOL-VILLARD 7167eb8c0b Kconfig: sync with linux kernel v2.6.36-rc1-168-ge36c886
this will add also the support of the new ncurse interface nconfig

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2010-08-22 13:12:27 +08:00
Sascha Hauer 600c0e987e Allow to merge default environment from more than one directory
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-06-22 15:44:40 +02:00
Sascha Hauer 6eb741a2e1 hush: allow fancy prompts
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-03-30 14:15:03 +02:00
Sascha Hauer a3ffa97f40 rename U-Boot-v2 project to barebox
This has been done with the following script:

find -path ./.git -prune -o -type f -print0 | xargs -0 -r sed -i \
	-e 's/u2boot/barebox/g' \
	-e 's/U2Boot/barebox/g' \
	-e 's/U-boot V2/barebox/g' \
	-e 's/u-boot v2/barebox/g' \
	-e 's/U-Boot V2/barebox/g' \
	-e 's/U-Boot-v2/barebox/g' \
	-e 's/U_BOOT/BAREBOX/g' \
	-e 's/UBOOT/BAREBOX/g' \
	-e 's/uboot/barebox/g' \
	-e 's/u-boot/barebox/g' \
	-e 's/u_boot/barebox/g' \
	-e 's/U-Boot/barebox/g' \
	-e 's/U-boot/barebox/g' \
	-e 's/U-BOOT/barebox/g'

find -path ./.git -prune -o \( -name "*u-boot*" -o -name "*uboot*" -o -name "*u_boot*" \) -print0 | \
	xargs -0 -r rename 's/u[-_]?boot/barebox/'

It needs some manual fixup following in the next patch

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-15 10:18:30 +01:00
Sascha Hauer 8ad5fe6ca4 introduce GENERIC_GPIO label
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-12-10 12:15:01 +01:00
Juergen Beisert fc0bb9ea2d ENV_HANDLING requires CRC32
ENV_HANDLUNG requires CRC32 to make the linker happy.

Signed-off by: Juergen Beisert <jbe@pengutronix.de>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-11-19 09:41:19 +01:00
Sascha Hauer e2c8e8a180 Add MMU support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-08-19 10:51:30 +02:00
Sascha Hauer 21d5fc40df Build system: Use setlocalversion from kernel
Autogenerate a local version from git.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-09-02 15:48:06 +02:00
Sascha Hauer 77218fb7a3 Add help texts for Shell options
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-08-13 16:29:30 +02:00
Sascha Hauer aca52174a9 console: add a simple console for saving space
Add a simple console layer which is not able to handle multiple
consoles for those who don't need it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-08-01 11:47:10 +02:00
Nishanth Menon deaf6db172 007-partitions
[Patch 07/17] U-Boot-V2:Common Make partitions configurable

Not all configurations of Uboot require partitions. This patch modifies partition compilation as configurable param

Signed-off-by: Nishanth Menon<x0nishan@ti.com>
2008-06-05 19:45:19 +02:00
Nishanth Menon 9a364f5157 001-arch-config
[Patch 01/17][Try 3] U-Boot-V2: ARM: Add ARCH lowlevel Init

This Patch adds CONFIG_ARCH_HAS_LOWLEVEL_INIT as discussed in thread
http://www.nabble.com/-Patch--U-Boot-V2%3A-Introduce-CONFIG_ARCH_HAS_INIT_LOWLEVEL-to17134638.html#a17188894

Signed-off-by: Nishanth Menon<x0nishan@ti.com>
2008-06-05 19:45:03 +02:00
Sascha Hauer 596c845072 [memory layout]: streamline memory layout
Memory layout can now be specified via kconfig options. Two
possibilities exist: default layout means the layout is stack
/ malloc heap / U-Boot. The user can also specify fixed addresses
for each TEXT_BASE / stack / malloc heap.
2008-06-04 11:54:03 +02:00
Menon, Nishanth cb73b0c227 Change CONFIG_SKIP_LOWLEVEL_INIT to CONFIG_MACH_DO_LOWLEVEL_INIT
as we rather use positive logic. Make it dependent on boards that
have it rather than on ARM

Signed-off-by: Nishanth Menon <x0nishan@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-05-12 11:35:15 +02:00
Sascha Hauer 187847b2b4 add globbing support 2008-03-09 22:35:38 +01:00
Sascha Hauer df31bb46be implement TAB completion 2008-03-01 21:08:14 +01:00
Sascha Hauer a26eca758e Make the early console device/baudrate configurable instead of using
hardcoded values
2008-02-21 13:05:19 +01:00
Robert Schwebel 8c3a496029 add switch to enable debug symbols
Add a symbol to the "Debugging" menu which enables the debug symbols in
u-boot-v2. This makes it possible to view the source code with
'objdump'.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
2007-11-27 21:32:33 +01:00
Juergen Beisert 8413d78ab3 separating environment commands, part 2
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
2007-11-12 16:28:23 +01:00
Juergen Beisert d59c600c65 separating memory commands
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
2007-11-12 16:28:23 +01:00
Sascha Hauer a26a5ef28f Replace all occurences of UBoot with U-Boot
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2007-10-24 13:20:27 +02:00
Juergen Beisert 98839f8010 adding noisy support 2007-10-18 21:03:32 +02:00
Sascha Hauer ae53e9ef1d CONFIG_MODULE -> CONFIG_MODULES 2007-10-04 12:33:03 +02:00
Sascha Hauer 3bded8c370 add help texts for KALLSYMS and MODULE 2007-10-01 10:21:30 +02:00
Sascha Hauer c396c4da49 Add module handling (mostly copied from Linux kernel and stripped down
for U-Boot)
2007-09-28 20:32:15 +02:00
Robert Schwebel (Laptop) c97886debf Subject: don't use default in choices
It is currently not possible to use defaults in choices.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
2007-09-25 22:07:21 +02:00
Robert Schwebel (Laptop) e6ca62360e Subject: clean up TEXT_BASE
This patch makes TEXT_BASE a consistent per-arch config switch.
Additionally, it converts all TEXT_BASE occurences from string to hex.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
2007-09-25 22:01:01 +02:00
Sascha Hauer 14b5c2a647 - teach hush to honour PATH variable
- remove common/main.c. This is now handled in the different shells.
2007-09-24 01:40:06 +02:00
Sascha Hauer 6634cfe849 add default environment 2007-09-13 15:22:23 +02:00
Sascha Hauer 9462256561 add BOARDINFO string to kconfig 2007-07-12 11:24:19 +02:00
Sascha Hauer 3b90ee9a3d add CONFIG_RELOCATABLE 2007-07-12 09:27:06 +02:00
Sascha Hauer 2eb9efab80 svn_rev_665
change default prompt, add BROKEN label
2007-07-05 18:02:15 +02:00
Sascha Hauer b2c5310d4d svn_rev_653
restructure tree, add reginfo command
2007-07-05 18:02:14 +02:00
Sascha Hauer 4b07af6730 svn_rev_643
structure cleanup
2007-07-05 18:02:13 +02:00
Sascha Hauer a20ab07f6b svn_rev_583
remove cmd_autoscript, it's unneeded
2007-07-05 18:02:07 +02:00
Sascha Hauer f1a3a825c7 svn_rev_581
envsave -> saveenv, envload -> loadenv
2007-07-05 18:02:07 +02:00
Sascha Hauer 58f2f06794 svn_rev_558
unify menu style
2007-07-05 18:02:04 +02:00
Sascha Hauer 758a1107f8 svn_rev_538
several powerpc fixes
2007-07-05 18:02:03 +02:00
Sascha Hauer f1b8cfbd1d svn_rev_525
make default behaviour of consoles configurable
2007-07-05 18:02:01 +02:00
Sascha Hauer e935d1a452 svn_rev_511 2007-07-05 18:02:00 +02:00
Sascha Hauer fa668fe184 svn_rev_502
complete multiple console support
2007-07-05 18:01:59 +02:00
Sascha Hauer 5bffd205f6 svn_rev_500 2007-07-05 18:01:59 +02:00
Sascha Hauer e694adc6a4 svn_rev_420
- do more POSIX:
  - use DIR instead of struct dirent
  - use (struct dirent)->d_name instead of (struct dirent)->name
- switch to a new layout for U_BOOT_CMD:
  - use C99 initializers to be able to add more fields to the
    command struct
  - add aliases for commands (needed mainly for help -> ? and test -> [
  - This is not done for all commands yet, but the compiler will tell you ;)
2007-07-05 18:01:52 +02:00
Sascha Hauer f5b009b827 svn_rev_363
add mallocinfo command
2007-07-05 18:01:47 +02:00
Sascha Hauer 3dcea5f3a8 svn_rev_343 2007-07-05 18:01:45 +02:00
Sascha Hauer 798de5071d svn_rev_307
some main.c cleanup:
- move the parser used when hush is disabled to parser.c
- move readline related functions to readline.c (with cmdline editing)
  and readline_simple.c (no cmdline editing)
2007-07-05 18:01:42 +02:00
Sascha Hauer 437dcca154 svn_rev_303
add CMD_EDIT and DYNAMIC_CRC_TABLE
2007-07-05 18:01:41 +02:00
Sascha Hauer a5bf47e33a svn_rev_207
move several config options to kconfig
2007-07-05 18:01:33 +02:00
Sascha Hauer d8c247e00d svn_rev_180
move prompt to menuconfig
2007-07-05 18:01:30 +02:00
Sascha Hauer ca8d1c15a3 svn_rev_143
add echo command
2007-07-05 18:01:27 +02:00
Sascha Hauer abfbbad1eb svn_rev_109
do not know anymore
2007-07-05 18:01:23 +02:00
Sascha Hauer c03bd6446c svn_rev_049
Kconfig WIP
2007-07-05 18:01:17 +02:00
Sascha Hauer 56e32343eb svn_rev_009
add autogenerated links
2007-07-05 18:01:13 +02:00