Many embedded systems are based on Busybox, and therefore use the Busybox implementation of modprobe. This implementation does not support long options such as --remove and --quiet, only short options such as -r and -q are supported.
This patches changes ltt-sessiond to use the short options, which are more widely available, and allows lttng to work easily on a Busybox-based system. Signed-off-by: Thomas Petazzoni <[email protected]> --- ltt-sessiond/main.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c index 334af53..2c2fe44 100644 --- a/ltt-sessiond/main.c +++ b/ltt-sessiond/main.c @@ -211,16 +211,16 @@ static int modprobe_remove_kernel_modules(void) for (i = ARRAY_SIZE(kernel_modules_list) - 1; i >= 0; i--) { ret = snprintf(modprobe, sizeof(modprobe), - "/sbin/modprobe --remove --quiet %s", + "/sbin/modprobe -r -q %s", kernel_modules_list[i].name); if (ret < 0) { - perror("snprintf modprobe --remove"); + perror("snprintf modprobe -r"); goto error; } modprobe[sizeof(modprobe) - 1] = '\0'; ret = system(modprobe); if (ret == -1) { - ERR("Unable to launch modprobe --remove for module %s", + ERR("Unable to launch modprobe -r for module %s", kernel_modules_list[i].name); } else if (kernel_modules_list[i].required && WEXITSTATUS(ret) != 0) { @@ -1490,7 +1490,7 @@ static int modprobe_kernel_modules(void) for (i = 0; i < ARRAY_SIZE(kernel_modules_list); i++) { ret = snprintf(modprobe, sizeof(modprobe), "/sbin/modprobe %s%s", - kernel_modules_list[i].required ? "" : "--quiet ", + kernel_modules_list[i].required ? "" : "-q ", kernel_modules_list[i].name); if (ret < 0) { perror("snprintf modprobe"); -- 1.7.4.1 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
