summaryrefslogtreecommitdiffstats
path: root/common/blspec.c
Commit message (Collapse)AuthorAgeFilesLines
* blspec: Check if an entry is compatible with the current machineSascha Hauer2014-03-241-2/+79
| | | | | | | | | When a bootspec entry has the 'devicetree' property specified, check if the tree is compatible with the currently running machine, otherwise ignore the entry. This makes it possible to have entries for multiple machines on an SD card and pick a suitable one. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Add NFS supportSascha Hauer2014-03-071-2/+112
| | | | | | | | | With this barebox can start root filesystems containing bootloader spec entries via NFS. It is used as: boot nfs://<ipaddr>[:<port]//path/to/nfsroot Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* mount: support filesystem options passed via -oUwe Kleine-König2014-02-101-1/+1
| | | | | | | | | | | Similar to mount(8) the barebox command mount now supports passing a string to the file system driver via -o. This is used in the next commit to let the user specify port numbers for nfs mounts. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: fix documention of blspec_scan_directory's return codeUwe Kleine-König2013-11-081-2/+1
| | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Make error message more clearSascha Hauer2013-11-051-1/+1
| | | | | | | "Nothing found on" is a bit unspecific. Make clear that no bootspec entry is found. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: make cdev optionalSascha Hauer2013-11-051-11/+13
| | | | | | | | | the cdev for a given directory can be determined by get_cdev_by_mountpath(). Use this function and remove the cdev argument from blspec_scan_directory(). Also, export the function to make code possible which boots the bootloader spec entries found in directories. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Let scan functions return the number of entries foundSascha Hauer2013-11-051-20/+33
| | | | | | So that callers can detect whether entries are found or not. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Allow to boot partitionsSascha Hauer2013-11-051-0/+17
| | | | | | | | | | | | | Instead of only allowing complete devices we now also allow single partitions to look for bootloader spec entries. Normally the bootloader spec defines a way to find a partition containing /boot on a device. On embedded systems it's often useful instead to have only a single partition image which contains both the kernel and the root filesystems. This partition image may be written to the device multiple times. With this patch they can be booted with 'boot emmc0.<partno>' Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: rename _hwdevice functions to _devicenameSascha Hauer2013-11-051-5/+5
| | | | | | | Since it's not necessarily the hardware device this seems to be a more appropriate name. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Push device_detect into blspec_scan_deviceSascha Hauer2013-11-051-2/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* blspec: Fix once/default bootingSascha Hauer2013-10-211-3/+5
| | | | | | | The default/once files contain the full path to the entries, not only the filename. This fixes booting the once and default entries. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Implement bootloader spec support for bareboxSascha Hauer2013-10-141-0/+516
The Bootloader Specification describes a way how kernels can be installed on devices and how they can be started by the bootloader. The bootloader spec is currently supported by (x86) gummiboot and by systemd which provides a kernel-install script. With the bootloader spec it's possible for the Operating system to install a new kernel without knowing about the bootloader and for the bootloader it's possible to discover and start Operating Systems on a media without being configured. For more details about the spec see: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ This patch adds barebox support for the spec. It enhances the 'boot' command so that not only boot script names can be given, but also devices containing bootloader spec entries. With this it's possible to call the 'boot' command like: 'boot sd emmc net'. It would then first look for bootloader spec entries on the (removable) sd card, then, is nothing is found, on the internal emmc and if still unsuccessful would call the 'net' bootscript. The bootloader Spec currently doesn't specify which entry should be default if multiple entries are found on a single device. Therefore barebox currently has two extensions of the spec. The $BOOT diretory can contain a file named 'default'. If present, the content of the file is treated as a filename under $BOOT/loader/entries/ which is used as default. Similarly if a file named 'once' is present, the entry is started once and the file is removed afterwards. This is useful for testing if a newly installed kernel works before making it the default. As on ARM and other Architectures a devicetree has to be specified for the kernel, the 'devicetree' property is used to specify a devicetree. Like 'kernel' and 'initrd' this also contains a pth relative to $BOOT. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>