From e146c5f947a27a7c703fba707d86876b7f284ca7 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Tue, 3 Mar 2015 13:14:58 +0100 Subject: sandbox: hostfile: improve --image parameter to support "dev=file" This patch makes it possible to specify the device name of a file added to the sandbox via the --image paramter, e.g.: barebox --image foo=bar.image This means the file "bar.image" is added as "/dev/foo" to the sandbox. Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer --- arch/sandbox/os/common.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'arch/sandbox') diff --git a/arch/sandbox/os/common.c b/arch/sandbox/os/common.c index 64a4b26ea6..7aa0f5d3f2 100644 --- a/arch/sandbox/os/common.c +++ b/arch/sandbox/os/common.c @@ -225,9 +225,15 @@ static int add_image(char *str, char *devname_template, int *devname_number) readonly = 1; } - snprintf(tmp, sizeof(tmp), - devname_template, (*devname_number)++); - devname = strdup(tmp); + /* parses: "devname=filename" */ + devname = strtok(filename, "="); + filename = strtok(NULL, "="); + if (!filename) { + filename = devname; + snprintf(tmp, sizeof(tmp), + devname_template, (*devname_number)++); + devname = strdup(tmp); + } printf("add %s backed by file %s%s\n", devname, filename, readonly ? "(ro)" : ""); @@ -444,6 +450,9 @@ static void print_usage(const char *prgname) " -i, --image= Map an image file to barebox. This option can be given\n" " multiple times. The files will show up as\n" " /dev/fd0 ... /dev/fdx under barebox.\n" +" -i, --image==\n" +" Same as above, the files will show up as\n" +" /dev/\n" " -e, --env= Map a file with an environment to barebox. With this \n" " option, files are mapped as /dev/env0 ... /dev/envx\n" " and thus are used as the default environment.\n" -- cgit v1.2.3