Sandbox is good example to familiar with U-Boot and related functionalities.


$ git clone git://
$ cd u-boot
$ make sandbox_defconfig all NO_SDL=1


$ ./u-boot

U-Boot 2017.09-00364-g05eb54a-dirty (Oct 04 2017 - 23:12:50 +0530)

DRAM:  128 MiB


Using default environment

In:    serial

Out:   serial

Err:   serial

SCSI:  Net:   No ethernet found.

IDE:   Bus 0: not available

=> bdinfo

boot_params = 0x00000000

DRAM bank   = 0x00000000

-> start    = 0x00000000

-> size     = 0x08000000

ethaddr     = 00:00:11:22:33:44

IP addr     =

With Sandbox approach, we can further emulate the SPI, Disk, I2C etc., See board/sandbox/README.sandbox for more details.


Sandbox drivers can be available in each peripheral area for basic sanity, below is the procedure to test the same.


$ cd /path/to/u-boot
$ sudo apt-get install python python-virtualenv
$ virtualenv venv
$ . ./venv/bin/activate
$ pip install pytest

To test sandbox

$ ./test/py/ --bd sandbox --build

To test driver model test in sandbox

$ ./test/py/ --bd sandbox --build -k ut_dm