summaryrefslogtreecommitdiffstats
path: root/arch/sandbox/os/common.c
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2015-03-03 13:14:58 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-06 07:42:22 +0100
commite146c5f947a27a7c703fba707d86876b7f284ca7 (patch)
tree77d7e973295bfdb21713c13f50fbda612385e41f /arch/sandbox/os/common.c
parent1d3cc3ac5c6685eb9b3fecb037f34c13b9f5d3ed (diff)
downloadbarebox-e146c5f947a27a7c703fba707d86876b7f284ca7.tar.gz
barebox-e146c5f947a27a7c703fba707d86876b7f284ca7.tar.xz
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 <mkl@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/sandbox/os/common.c')
-rw-r--r--arch/sandbox/os/common.c15
1 files changed, 12 insertions, 3 deletions
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=<file> 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=<dev>=<file>\n"
+" Same as above, the files will show up as\n"
+" /dev/<dev>\n"
" -e, --env=<file> 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"