[U-Boot] [PATCH V4 2/3] ARM: tegra: rework boot scripts

Dennis Gilmore dennis at ausil.us
Thu Feb 13 18:16:44 CET 2014


On Thu, 13 Feb 2014 09:39:41 -0700
Stephen Warren <swarren at wwwdotorg.org> wrote:

> On 02/13/2014 04:13 AM, Dennis Gilmore wrote:
> > Hi Stephen,
> > 
> > I noticed one issue
> > 
> > On Wed,  5 Feb 2014 09:24:58 -0700
> > Stephen Warren <swarren at wwwdotorg.org> wrote:
> > 
> >> From: Stephen Warren <swarren at nvidia.com>
> >>
> >> Update the common Tegra boot scripts in the default environment to
> >>
> >> a) Make use of the new "test -e" shell command to avoid some error
> >>    messages.
> >>
> >> b) Allow booting using the sysboot command and extlinux.conf. This
> >>    allows easy creation of boot menus, and provides a simple
> >> interface for distros to parameterize/configure the boot process.
> 
> >> diff --git a/include/configs/tegra-common-post.h
> >> b/include/configs/tegra-common-post.h index
> 
> >> +	"do_sysboot_boot="
> >> \
> >> +		"sysboot ${devtype} ${devnum}:${rootpart} any
> >> "           \
> >> +			"${scriptaddr}
> >> ${prefix}extlinux.conf\0"          \
> > 
> > extlinux config files are placed into an extlinux directory
> > you will need to use ${prefix}extlinux/extlinux.conf
> 
> What places them there? The spec doesn't say anything about placement
> of this file. Since this is a new feature, I don't think there's any
> de-facto standard, is there? I'd prefer that the files be placed in
> the same location as any other boot file, to avoid pointless extra
> directory levels (i.e. / for a partition that's mounted as /boot, or
> in /boot for a partition that's mounted as /).


http://www.syslinux.org/wiki/index.php/EXTLINUX

anaconda and the image creation tools both use /boot/extlinux
according to http://shallowsky.com/linux/extlinux.html debian also uses
it

extlinux is not bootloaderspec.   bootloaderspec does say where to put
them:

Inside the $BOOT/loader/entries/ directory each OS vendor may drop one
or more configuration snippets with the suffix ".conf", one for each
boot menu item. The file name of the file is used for identification of
the boot item, but shall never be presented to the user in the UI. The
file name may be chosen freely but should be unique enough to avoid
clashes between OS installations. More specifically it is suggested to
include the machine ID (/etc/machine-id or the D-Bus machine ID for
OSes that lack /etc/machine-id), the kernel version (as returned by
uname -r) and an OS identifier (The ID field of /etc/os-release).
Example:
$BOOT/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf

to implement bootloader spec fully u-boot will need to find all
the .conf snippets in the loader/entries/ directory and load them up
and show the menu. 


It just happens that bootloaderspec uses the same format used by
extlinux for its snippets

Dennis


More information about the U-Boot mailing list