From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeroen Hofstee Date: Sat, 20 Sep 2014 22:02:58 +0200 Subject: [U-Boot] [PATCH 2/2] config_distro_defaults.h: add CONFIG_API In-Reply-To: <20140823174720.GI19374@bill-the-cat> References: <1407623456-16841-1-git-send-email-jeroen@myspectrum.nl> <1407623456-16841-3-git-send-email-jeroen@myspectrum.nl> <20140823174720.GI19374@bill-the-cat> Message-ID: <541DDD72.5060006@myspectrum.nl> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Tom, On 23-08-14 19:47, Tom Rini wrote: > On Sun, Aug 10, 2014 at 12:30:56AM +0200, Jeroen Hofstee wrote: > >> Grub, FreeBSD ubldr, vxworks etc depend on the API >> >> Signed-off-by: Jeroen Hofstee ok, lets start with I hope what I hope config_distro_defaults is. At the moment, if you buy a demo board and try to run a custom image on it, chances are big it won't boot. Either because it searches for a wrong file, commands are not supported, they have different syntax, different image formats etc. It is not uncommon that I need to update u-boot before I can run a simple custom image. It would of course be a lot better if you can stick an image in a demo board, which actually boots and even better optionally ask you what to boot. And I am in the impression / hope config_distro_defaults is for that purpose. Not the smallest / fastest u-boot, but one which can actually boot different distro's, images, demos etc. (or at least an attempt to do so). For completeness, this already holds for linux distro's / images / buildtools. The typical bootpath for FreeBSD images is: [something] -> loader[1] -> FreeBSD In case of u-boot "something" is u-boot and loader is ubldr (which is loader to talk with u-boot by its API). It would be nice if this just worked without modifying u-boot, as the image might be in nand etc. > So I'm not 100% sold on this. A while back (it's in the archives) we > had said no to CONFIG_API. Grub wasn't a good use-case I couldn't find a good reason why grub is not an use-case. (besides some complaining and no-funding) > (esp since we're handling extlinux.conf files), I am still in the dark with respect to extlinux.conf. There is no documentation nor users for it in u-boot it seems. But even if an FreeBSD boot would use a FreeBSD.conf or similiar it would still need CONFIG_API to work correctly. > VxWorks is bootm/bootelf. grep said: /* Boot FreeBSD/vxWorks from an ELF image */ #if defined(CONFIG_ZYNQ_BOOT_FREEBSD) # define CONFIG_API # define CONFIG_CMD_ELF # define CONFIG_SYS_MMC_MAX_DEVICE 1 #endif hence I assumed it needs the api as well. > > I am open to hearing how/why we need this for ubldr. > ublr depends on a u-boot with CONFIG_API enabled. It won't work otherwise. [2] contains some background about the boot process from u-boot. Regards, Jeroen [1] https://www.freebsd.org/cgi/man.cgi?loader(8) [2] http://www.bsdcan.org/2008/schedule/attachments/49_2008_uboot_freebsd.pdf