9
0
Fork 0

blspec: Allow to boot partitions

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>
This commit is contained in:
Sascha Hauer 2013-10-31 17:24:12 +01:00
parent a58d8ba424
commit 6b12fb727e
1 changed files with 17 additions and 0 deletions

View File

@ -369,9 +369,26 @@ int blspec_scan_device(struct blspec *blspec, struct device_d *dev)
int blspec_scan_devicename(struct blspec *blspec, const char *devname)
{
struct device_d *dev;
struct cdev *cdev;
const char *colon;
pr_debug("%s: %s\n", __func__, devname);
colon = strchr(devname, '.');
if (colon) {
char *name = xstrdup(devname);
*strchr(name, '.') = 0;
device_detect_by_name(name);
free(name);
}
cdev = cdev_by_name(devname);
if (cdev) {
int ret = blspec_scan_cdev(blspec, cdev);
if (!ret)
return 0;
}
dev = get_device_by_name(devname);
if (!dev)
return -ENODEV;