The Barebox project has released version 2014.03.0 of its bootloader:

New or updated Barebox features are:

  • The i.MX25 and i.MX27 processors got support for initializing from devicetree now. For the other i.MX boards supported in Barebox, the devicetrees have been updated.
  • Initial support for the MIPS Loongson architecture has been added.
  • The UBIFS implementation is now able to read links.
  • We can now automatically construct a console= parameter for the kernel, by reading the necessary information from the oftree.
  • Several bugs have been fixed, i.e. for eMMC, SoC type detection for i.MX6, PFD clock gating, the ASIX AX88772B USB network card, NAND chip handing and SD cards on MX25.
  • A new driver for the National Semiconductor DP83865 PHY has been added, and the Freescale MCIMX53-START-R is now supported and the support for Tegra20 was improved.
  • The environment for the sandbox has been updated.

All in all, Barebox makes good progress. We see more and more community people working with it in the meantime.

Further Readings

DSA in Barebox

The v2022.05.0 Release of barebox introduced initial support for the Distributed Switch Architecture (DSA) Framework. DSA is originally a subsystem from the Linux Kernel, which exposes the individual ports of a network switch IC as virtual network interfaces.

Foster mvebu Support in barebox

barebox works great on NXP's i.MX platforms. While there is some support for Marvell's mvebu platform, it is not even near being complete. The main limitation is in my eyes that there is no code to initialize RAM settings on these machines.

Bootstrapping Arria10 with OpenOCD and barebox

The Arria10 SoCFPGA can boot from multiple sources: SD Card, NAND flash, QSPI flash and eMMC, that can be selected via the BSEL pins. If the bootrom can not find a valid bootloader on that medium, it will fall back to JTAG. So for developing and testing, the BSEL pins can just be set to a medium that is non-existent. In case of bootstrapping, the bootrom falls back to JTAG anyway, as there is no valid bootloader, yet.