Compilation for ARM

Ian Lepore ian at FreeBSD.org
Thu Jun 12 16:36:56 UTC 2014


On Thu, 2014-06-12 at 01:44 +0600, Stepan Dyatkovskiy wrote:
> Hi guys,
> Thank you! I have built it successfully. It was really simple. Currently 
> I'm trying to launch with u-boot. Are here any instructions/manual how 
> to run kernel with u-boot?
> Thanks!
> -Stepan

If you compile the dtb into the kernel, you can launch the kernel
directly from u-boot.  If you don't, then you need u-boot to launch
ubldr (loader(8) that uses the u-boot API, which requires a u-boot with
the API option enabled).

The kernel can be loaded at any 1MB-boundary address, and can be
launched by jumping to the load address + 0x100, such as:

  fatload <device/partition> 11000000; go 11000100

If you are using a modern u-boot that enables data caches, you need to
turn them off manually, like:

  fatload <device/partition> 11000000
  dcache off; dcache flush
  go 11000100

This is just a u-boot quirk, it disables caches on bootm and bootelf
commands, but not on a "go" command.

-- Ian



More information about the freebsd-arm mailing list