command: ubiattach: add option to pass VID offset
use the same option as linux -O as example due to a bug in already deployed kernel we must for the VID offset at 512 even it should be at 256 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
56ee5d3aac
commit
2830faf5e5
|
@ -58,13 +58,25 @@ BAREBOX_CMD_END
|
|||
|
||||
static int do_ubiattach(int argc, char *argv[])
|
||||
{
|
||||
int opt;
|
||||
struct mtd_info_user user;
|
||||
int fd, ret;
|
||||
int vid_hdr_offset = 0;
|
||||
|
||||
if (argc != 2)
|
||||
while((opt = getopt(argc, argv, "O:")) > 0) {
|
||||
switch(opt) {
|
||||
case 'O':
|
||||
vid_hdr_offset = simple_strtoul(optarg, NULL, 0);
|
||||
break;
|
||||
default:
|
||||
return COMMAND_ERROR_USAGE;
|
||||
}
|
||||
}
|
||||
|
||||
if (optind == argc)
|
||||
return COMMAND_ERROR_USAGE;
|
||||
|
||||
fd = open(argv[1], O_RDWR);
|
||||
fd = open(argv[optind], O_RDWR);
|
||||
if (fd < 0) {
|
||||
perror("open");
|
||||
return 1;
|
||||
|
@ -76,7 +88,7 @@ static int do_ubiattach(int argc, char *argv[])
|
|||
goto err;
|
||||
}
|
||||
|
||||
ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, 0, 20);
|
||||
ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, vid_hdr_offset, 20);
|
||||
if (ret < 0)
|
||||
printf("failed to attach: %s\n", strerror(-ret));
|
||||
else
|
||||
|
@ -88,7 +100,7 @@ err:
|
|||
}
|
||||
|
||||
static const __maybe_unused char cmd_ubiattach_help[] =
|
||||
"Usage: ubiattach <mtddev>\n"
|
||||
"Usage: ubiattach [-O vid-hdr-offset] <mtddev>\n"
|
||||
"Attach <mtddev> to ubi\n";
|
||||
|
||||
BAREBOX_CMD_START(ubiattach)
|
||||
|
|
Loading…
Reference in New Issue