David Marlin <dmarlin@...> writes:
Some vendors already provide U-Boot environment variables for the load addresses, and some for the load commands themselves, but I have not found much consistency between them. One example is the Genesi Efika MX (mx51), which provides:
${loadcmd} ${kerneladdr} ${ramdiskaddr}
By providing the kernel and initrd U-Boot images in a boot.scr, you can load and boot the desired kernel with no other board specific knowledge (specific addresses or devices).
Highbank provides some similar load address definitions, but with different names, i.e.,
${ramdisk_addr_r} ${kernel_addr_r} ${fdt_addr_r}
Just FYI, these are already the standard, documented variable names.
Other boards provide similar features, including some (e.g., Trim-Slice) that 'scan' through a list of devices until a boot.scr is found, load it, and then boot using that script, but the load addresses are literals.
Does anyone else think it would be useful to include a 'standard' set of such definitions in U-Boot (default) that could be used to abstract the board/vendor specific details and provide a more consistent user experience? If so, could this list be used to help define such a set, and encourage its use across ARM systems and distros?
Standardizing on boot.scr vs. raw text file for scripts would also help. Right now, ubuntu uses the former and fedora the later.
Making u-boot more intelligent discovering things also helps here. For example, booting from the disk partition with the bootable flag set. I've submitted patches for this a while back.
Rob