diff options
Diffstat (limited to 'meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch')
-rw-r--r-- | meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch new file mode 100644 index 0000000000..4caa0d5f02 --- /dev/null +++ b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch @@ -0,0 +1,97 @@ +From 800dae0d34f8629a34c638a612166b76dda03e27 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sat, 2 Aug 2014 01:13:08 +0200 +Subject: [PATCH 3/4] kexecboot: do not hardcode MOUNTPOINT + +Avoid to hardcode it: could be requested as a new configure option. + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + cfgparser.c | 6 +++--- + kexecboot.c | 18 ++++++++++-------- + 2 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/cfgparser.c b/cfgparser.c +index 8f6688c..dec27b1 100644 +--- a/cfgparser.c ++++ b/cfgparser.c +@@ -141,7 +141,7 @@ static int set_kernel(struct cfgdata_t *cfgdata, char *value) + return -1; + } + +- strcpy(sc->kernelpath, "/mnt"); ++ strcpy(sc->kernelpath, MOUNTPOINT); + strcat(sc->kernelpath, value); + return 0; + } +@@ -155,7 +155,7 @@ static int set_icon(struct cfgdata_t *cfgdata, char *value) + + dispose(sc->iconpath); + /* Add our mountpoint, since the enduser won't know it */ +- sc->iconpath = malloc(sizeof(MOUNTPOINT)+strlen(value)); ++ sc->iconpath = malloc(strlen(MOUNTPOINT)+strlen(value)+1); + if (NULL == sc->iconpath) { + DPRINTF("Can't allocate memory to store iconpath '%s'", value); + return -1; +@@ -194,7 +194,7 @@ static int set_initrd(struct cfgdata_t *cfgdata, char *value) + return -1; + } + +- strcpy(sc->initrd, "/mnt"); ++ strcpy(sc->initrd, MOUNTPOINT); + strcat(sc->initrd, value); + return 0; + } +diff --git a/kexecboot.c b/kexecboot.c +index d6657a0..7268d6b 100644 +--- a/kexecboot.c ++++ b/kexecboot.c +@@ -57,20 +57,22 @@ + #endif + + #ifdef USE_MACHINE_KERNEL +-/* Machine-dependent kernel patch */ ++/* Machine-dependent kernel path */ + char *machine_kernel = NULL; + #endif + ++#define PREPEND_MOUNTPATH(string) MOUNTPOINT""string ++ + /* NULL-terminated array of kernel search paths + * First item should be filled with machine-dependent path */ + char *default_kernels[] = { + #ifdef USE_ZIMAGE +- "/mnt/boot/zImage", +- "/mnt/zImage", ++ PREPEND_MOUNTPATH("/boot/zImage"), ++ PREPEND_MOUNTPATH("/zImage"), + #endif + #ifdef USE_UIMAGE +- "/mnt/boot/uImage", +- "/mnt/uImage", ++ PREPEND_MOUNTPATH("/boot/uImage"), ++ PREPEND_MOUNTPATH("/uImage"), + #endif + NULL + }; +@@ -149,14 +151,14 @@ char *get_machine_kernelpath() { + ++tmp; + } + +- /* Prepend "/mnt/boot/zImage-" to hw */ +- tmp = malloc(strlen(hw) + 17 + 1); /* strlen("/mnt/boot/zImage-") */ ++ /* Prepend MOUNTPOINT"/boot/zImage-" to hw */ ++ tmp = malloc(strlen(PREPEND_MOUNTPATH("/boot/zImage-")) + strlen(hw) + 1); + if (NULL == tmp) { + DPRINTF("Can't allocate memory for machine-specific kernel path"); + return NULL; + } + +- strcpy(tmp, "/mnt/boot/zImage-"); ++ strcpy(tmp, PREPEND_MOUNTPATH("/boot/zImage-")); + strcat(tmp, hw); + + return tmp; +-- +1.9.1 + |