Sandbox
Sandbox is good example to familiar with U-Boot and related functionalities.
Build
$ git clone git://git.denx.de/u-boot.git
$ cd u-boot
$ make sandbox_defconfig all NO_SDL=1
Run
$ ./u-boot
U-Boot 2017.09-00364-g05eb54a-dirty (Oct 04 2017 - 23:12:50 +0530)
DRAM: 128 MiB
MMC:
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 = 1.2.3.4
With Sandbox approach, we can further emulate the SPI, Disk, I2C etc., See board/sandbox/README.sandbox for more details.
Test
Sandbox drivers can be available in each peripheral area for basic sanity, below is the procedure to test the same.
Configure
$ 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/test.py --bd sandbox --build
To test driver model test in sandbox
$ ./test/py/test.py --bd sandbox --build -k ut_dm