[U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd

Dennis Gilmore dennis at ausil.us
Tue Aug 12 22:29:48 CEST 2014


On Tue, 12 Aug 2014 19:29:02 +0200
Jeroen Hofstee <jeroen at myspectrum.nl> wrote:

> Hello Stephan,
> 
> On 11-08-14 20:55, Stephen Warren wrote:
> 
> <snip>
> 
> >>> No, Linux distros need to be able to install a single bootloader
> >>> configuration file to tell the bootloader how to boot.
> >>
> >> Don't understand this, I though extlinux is yet another
> >> chainloaded bootloader? I doubt there is "the bootloader".
> >> I don't understand why it needs a single bootloader. It gets
> >> in handy if the last bootloader is known, but I don't even see
> >> why that is required.
> >
> > This is obviously where the disconnect is...
> >
> > extlinux is (IIRC) a bootloader yes. However, this patch isn't
> > about extlinux, but extlinux.conf.
> >
> 
> haha, right that is a funny misunderstanding. Yes, extlinux is
> indeed a bootloader and I was in the impression you actively
> searched for it to chainload it. And to make extlinux a requirement
> for distro support... And as I tried to explain I am not that fond of
> such an approach in general, and that had nothing to do, as Tom
> suggested, with booting FreeBSD, it is just the image I encountered
> searching  for it in various places. It remains a badly named file
> though (for U-boot), but well so be it, I guess.

u-boot in the pxe code has an implementation that parses the syslinux
config file. though there really is nothing that says its a linux only
thing, admittedly I'm a bit naive as to how things like freebsd boot
but i assume you can load a kernel and pass some boot arguments just
the same. We are looking for a extlinux.conf file as that's what
extlinux looks for and we are mimicking the functionality.

> > extlinux.conf is a text file format the defines a menu of bootable 
> > OSs. It's a (de-facto I suppose) standard that's implemented by 
> > extlinux (if indeed that is a piece of SW:-) and also U-Boot and 
> > barebox and likely other bootloaders too.
> >
> > So, when U-Boot locates extlinux.conf on disk and processes it,
> > it's parsing a configuration file/menu, not chain-loading/executing
> > another bootloader.
> >
> 
> I see, so shouldn't we document then who is in charge of its format
> at least, before we start making a U-boot/distro specific version of
> it?

We are using the same format as is used by the syslinux project. we
support a couple of optional items to specify the dtb, fdt and fdtdir,
fdt is a location to a devicetree blob and fdtdir is a directory where
you can find devicetree blobs.

> <snip example file>
> >
> > That would require all Linux distros to have specific support to 
> > install boot.scr, which is a bootloader-specific format script
> > file. Systems that boot using e.g. Barebox or other bootloaders
> > presumably can't process boot.scr. However, if all bootloaders end
> > up supporting extlinux.conf, the distro won't care what bootloader
> > is on the HW.
> 
> We will see if this works, I am bit skeptical, but it is at least a 
> whole lot
> better then polling all possible options, where I took the patch for.
> (Well not all yet, but the start to do so).

Even with checking the different places that we can find the config
file. There is no noise, u-boot doesn't print out when there is no files
found only when it find them. The time to check for the existence of
the file is very quick.

Dennis


More information about the U-Boot mailing list