On Sat, Nov 03, 2012, Marek Vasut wrote:
I need to catch up with you in there ;-) What do you use for a bootloader on these armv8 devices?
No bootloader at the moment, but a boot wrapper! ;-)
At the moment, ARMv8 work is mostly on virtual platforms (I guess there might be some people with expensive FGPAs too); the two virtual platforms Linaro is using are: * the free (as in beer) ARMv8 Foundation model ("Foundation") * the pre-built ARMv8 Versatile Express model ("VE RTSM")
ARM recently published some information on the various models at: http://www.arm.com/fvp
The two virtual platforms are relatively similar; the main differences are: * VE model has a MMC while the Foundation model has an AMBA virtio block device * VE has a RTC while Foundation model hasn't * VE has an AMBA LCD (clcd) while Foundation model hasn't
At least the first difference prevents us from sharing a single Device Tree with all devices between the two platforms (kernel oops when starting the Foundation model with the MMC listed or vice-versa).
To boot the platform, a small boot wrapper is combined with the kernel, device tree, and kernel cmdline into an ELF .axf file for the model to run.
This page explains how to rebuild kernel + device tree + boot wrapper: https://wiki.linaro.org/HowTo/BuildArm64Kernel (the boot wrapper is maintained by Catalin Marinas on git.kernel.org)
The plan is to switch to a full bootloader -- likely Tianocore (UEFI) -- when available as it's painful to have to rebuild the .axf whenever the kernel or kernel cmdline change, and real hardware wouldn't use a boot wrapper anyway.
I guess you're asking because you consider an U-Boot port? :-)
Cheers,