|
@@ -1,69 +0,0 @@
|
|
|
-From c1a165731298b96175b9b0dd80ad088dc8b33dc1 Mon Sep 17 00:00:00 2001
|
|
|
-From: Florent Viard <fviard@cxignited.com>
|
|
|
-Date: Sun, 27 Oct 2019 23:48:16 +0100
|
|
|
-Subject: [PATCH] image-vfat: Add label option to set volume name.
|
|
|
-
|
|
|
-Signed-off-by: Florent Viard <fviard@cxignited.com>
|
|
|
-[dariobin@libero.it: remove README.rst changes]
|
|
|
-Signed-off-by: Dario Binacchi <dariobin@libero.it>
|
|
|
----
|
|
|
- image-vfat.c | 18 ++++++++++++++++--
|
|
|
- 1 file changed, 16 insertions(+), 2 deletions(-)
|
|
|
-
|
|
|
-diff --git a/image-vfat.c b/image-vfat.c
|
|
|
-index f16242c..3ea7288 100644
|
|
|
---- a/image-vfat.c
|
|
|
-+++ b/image-vfat.c
|
|
|
-@@ -27,14 +27,20 @@ static int vfat_generate(struct image *image)
|
|
|
- int ret;
|
|
|
- struct partition *part;
|
|
|
- char *extraargs = cfg_getstr(image->imagesec, "extraargs");
|
|
|
-+ char *label = cfg_getstr(image->imagesec, "label");
|
|
|
-+
|
|
|
-+ if (label && label[0] != '\0')
|
|
|
-+ xasprintf(&label, "-n '%s'", label);
|
|
|
-+ else
|
|
|
-+ label = "";
|
|
|
-
|
|
|
- ret = systemp(image, "%s if=/dev/zero of=\"%s\" seek=%lld count=0 bs=1 2>/dev/null",
|
|
|
- get_opt("dd"), imageoutfile(image), image->size);
|
|
|
- if (ret)
|
|
|
- return ret;
|
|
|
-
|
|
|
-- ret = systemp(image, "%s %s '%s'", get_opt("mkdosfs"),
|
|
|
-- extraargs, imageoutfile(image));
|
|
|
-+ ret = systemp(image, "%s %s %s '%s'", get_opt("mkdosfs"),
|
|
|
-+ extraargs, label, imageoutfile(image));
|
|
|
- if (ret)
|
|
|
- return ret;
|
|
|
-
|
|
|
-@@ -72,11 +78,18 @@ static int vfat_generate(struct image *image)
|
|
|
-
|
|
|
- static int vfat_setup(struct image *image, cfg_t *cfg)
|
|
|
- {
|
|
|
-+ char *label = cfg_getstr(image->imagesec, "label");
|
|
|
-+
|
|
|
- if (!image->size) {
|
|
|
- image_error(image, "no size given or must not be zero\n");
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
-+ if (label && strlen(label) > 11) {
|
|
|
-+ image_error(image, "vfat volume name cannot be longer than 11 characters\n");
|
|
|
-+ return -EINVAL;
|
|
|
-+ }
|
|
|
-+
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
-@@ -112,6 +125,7 @@ static cfg_opt_t file_opts[] = {
|
|
|
-
|
|
|
- static cfg_opt_t vfat_opts[] = {
|
|
|
- CFG_STR("extraargs", "", CFGF_NONE),
|
|
|
-+ CFG_STR("label", "", CFGF_NONE),
|
|
|
- CFG_STR_LIST("files", 0, CFGF_NONE),
|
|
|
- CFG_SEC("file", file_opts, CFGF_MULTI | CFGF_TITLE),
|
|
|
- CFG_END()
|
|
|
---
|
|
|
-2.24.0
|
|
|
-
|