
On Tue, 2015-02-24 at 04:48 +0200, Siarhei Siamashka wrote:
In order to fully support booting the whole system over USB OTG without relying on anything else (MMC, SATA, USB sticks, ...), it is possible to upload the 'boot.scr' file to DRAM using the 'fel' tool. But U-Boot still needs to be able to pick it up there before checking any other boot media.
Signed-off-by: Siarhei Siamashka siarhei.siamashka@gmail.com
The patch might be not the best way to implement this. But it would be great if U-Boot had out of the box support for: http://linux-sunxi.org/index.php?title=FEL/USBBoot&oldid=13134#Boot_the_...
One of the bad things about this patch is that the "scriptaddr" variable needs to be hardcoded and protected agaist modifications (if this address is to be used from the SPL).
Perhaps use a separate dedicated/hardcoded address for the FEL boot script to avoid adding unusual semantics to $scriptaddr (which might surprise users not using fel)?
If the FEL address has to be 0x43100000 for compatibility with existing instructions/tools that might mean moving the current scriptaddr elsewhere. I think we can live with that.
Also I'm not sure how this all could fit into the "config_distro_bootcmd.h" model, so I even have not tried that yet.
Just at a quick glance, based on the PXE entry something like:
#define BOOTENV_DEV_FEL(devtypeu, devtypel, instance) \ "bootcmd_fel=source ...\0"
i.e. all the magic params are irrelevant in this case. Perhaps "bootcmd_"#devtypel"=...\0" but I don't think that's needed in this instance. BOOTENV_DEV_PXE doesn't bother at least.
Then in BOOT_TARGET_DEVICES include "func(FEL, fel, na)"
Ian.