Envfs embedded in barebox.bin

Sascha Hauer s.hauer at pengutronix.de
Thu Nov 17 10:49:23 EST 2011

On Thu, Nov 17, 2011 at 04:05:19PM +0100, robert.jarzmik at free.fr wrote:
> Hi,
> I'm working on a very specific board, where I lack :
>  - a serial console (all UARTs are wired to GSM/Bluetooth/GPS chips)
>  - a JTAG adapter
>  - internal MTD access (I have not ported the MTD driver from linux kernel yet)
>  - a USB ethernet / console access (put I didn't port the pxa27x_udc yet)
> What I have is :
>  - a smartphone screen (framebuffer of PXA270)
> I launch barebox.bin using a tool which does it well : disable MMU, flush cache, copy barebox.bin to start of RAM, and transfer control to it.
> My issue is that while I'm developping my board code, I have no feedback (because no console available).

So you are doing LED debugging? That's brave ;)

> I'd like to run some hush scripts, and the only available way (so far) is to embed the envfs into barebox.bin.
> What I'm attempting is basically to :
>  (1) ld -b binary barebox_default_env -o barebox_default_env.o
>  (2) add barebox_default_env.o in Makefile, target barebox-common
>  (3) add in my board code (board.c) the creation of env0 device:
>      devfs_add_partition("ram0", _binary_barebox_default_env_start,
>                          _binary_barebox_default_env_size,
>                          PARTITION_FIXED, "env0")

Most boards have this in the config:

CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/guf-vincell/env"

This means that the content of defaultenv/ and arch/arm/boards/guf-vincell/env
is embedded into the binary (common/Makefile) and gets mounted during
startup (common/startup.c line 113)


Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list