U-Boot loader for BeagleBone and BeagleBone Black.
To install this bootloader, copy the files MLO and bb-uboot.img to the FAT
partition on an SD card or the eMMC. Normally this is partition 1, but
different partitions can be set with U-Boot environment variables.
This version is patched so that:
* API features are enabled.
* A boot.scr (U-Boot scripts ) that loads ubldr.bin and execute it is included
For information about running FreeBSD on BeagleBone or BeagleBone Black, see
https://wiki.freebsd.org/FreeBSD/arm/BeagleBone
sysutils/u-boot: Update to 2026.10
The project does not publish release tarballs on ftp.denx.de anymore, fetch
newer releases from its GitLab instance. Older slave ports can still pin a
tarball release.
Use the new rkbin blobs for the RK3568 and RK3588 boards.
Mark u-boot-beaglebone as broken: am335x does not resolve SYS_LOAD_ADDR and
TEXT_BASE through the kconfig merge and the build hangs.
Fix WWW in parent/child ports
Many of the WWW are overwritten later which means the wrong value
is used. This did not happen before where the children were either
a) just using the pkg-descr from the parents
b) or had their own separate pkg-descr with custom WWW
Use WWW?= in parents when the child's WWW is different.
Children that use the same WWW as the parent can just inherit it,
i.e., the child WWW can be removed.
Approved by: portmgr (implicit)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
sysutils/u-boot-*: Remove ubldr support
We have been using loader.efi on armv7 for a long time now.
Remove support for booting with ubldr and the needed patches that were
never upstreamed.
While here add CONFIG_EFI_GRUB_ARM32_WORKAROUND=y in the Fragment as it's
needed to have the cache flushed for us when loader.efi is started.
u-boot: Update to v2019.10
Update u-boot to its latest version.
For RK3399 we now use SPL+TPL from u-boot, no need for RockChip blob.
Remove one efi related patch that isn't needed anymore.
Tested-on: Pine64-LTS, Rock64, Rockpro64, BBB, RPI2, OrangePi One
u-boot-beaglebone: Add some fragment data to disable NAND
Since u-boot merged the beaglebone defconfig with the am335x_evm ones
eMMC support is seriously broken.
Disabling NAND support (which isn't present on BBB) make this works again
as they share some pins.
Also remove the legacy_mmc targets as it is Linux centric.
sysutils/u-boot-master etc.: u-boot Improvement for 2018.07
- Add metadata for IMX6 family
- While here rename the riotboard family to IMX6 as it should have been
- Remove the cache patches, they aren't needed anymore.
I should have checked that with the 2018.07 update
- beaglebone use a custom bootcmd that calls envboot, this command will try
to load and source the file boot.scr (u-boot script) from the mmc.
For some reason it seems to corrupts some memory or something because
loading and executing ubldr.bin after running this command will either
hang or cause an exception on undefined instruction.
I'll check with upstream but in the meantime use a special fragment
that redefine the bootcmd.
Note that since u-boot will load the environment from the eMMC, one need
to 'env default -f -a; saveenv' to have the bootcmd variable correctly
redefined.
Reviewed by: imp
Approved by: imp
Differential Revision: https://reviews.freebsd.org/D16599
Roll forward to u-boot v2017.01. Many thanks to manu@ for cleaning up
our patches to u-boot and getting them upstreamed.
Future commits will roll other families over to this as testing on
them is completed.
Create a new u-boot-master port to consolidate all different u-boot
ports. Switch to using my github branch for grabbing ports. Convert
the Beaglebone family of ports over to using the new setup.
Fix few style violations in u-boot ports:
- GMAKE -> MAKE_CMD, MAKE_CMD is always set to required make implementation
- CP -> INSTALL_DATA, INSTALL_DATA makes sure files are always installed
with proper permissions
- sysutils/u-boot-rpi: include missed files installed in STAGEDIR in PLIST_FILES
PR: 210982
Submitted by: myself
Approved by: maintainers timeout
Leave caches enabled when launching u-boot, it speeds up loader(8) and
the kernel can tolerate being entered with caches enabled as of r276445.
Approved by: imp
Changes to allow booting from eMMC on a Beaglebone Black. Using the
right config (am335x_boneblack_defconfig) is a big part of that. The
u-boot environment is also pretty extensively changed, both to support
eMMC (choosing which device to load freebsd from) and to further trim
and clean up the environment so it's easier to read and understand.
In an ideal world, the 'mmc 0' device would always be the one u-boot was
loaded from and 'mmc 1' would be 'the other' device. That's what the
Wandboard u-boot does, and it would be easy enough to do on Beaglebone too
except I couldn't find a way to pass the load device number from MLO which
knows it to the main u-boot. So for now the removable sdcard is device 0
and the onboard eMMC is device 1, and it prefers to boot from sdcard if
it's present and has ubldr on it (unless the user has set the 'fatdev' env
var, in which case it is used).
Approved by: imp