]> git.ozlabs.org Git - petitboot/blobdiff - devices.c
Unify boot messages
[petitboot] / devices.c
index 37798105d58d87528b252833955df332324de04c..77860d0546a8dcc967da4a71a2e803f91db6f836 100644 (file)
--- a/devices.c
+++ b/devices.c
@@ -286,12 +286,12 @@ void pboot_exec_option(void *data)
 
        kexec_opts[0] = "/usr/sbin/kexec";
        kexec_opts[1] = "-f";
-       if (opt->initrd_file) {
+       if (opt->initrd_file && *opt->initrd_file) {
                kexec_opts[nr_opts] = malloc(10 + strlen(opt->initrd_file));
                sprintf(kexec_opts[nr_opts], "--initrd=%s", opt->initrd_file);
                nr_opts++;
        }
-       if (opt->boot_args)  {
+       if (opt->boot_args && *opt->boot_args)  {
                kexec_opts[nr_opts] = malloc(10 + strlen(opt->boot_args));
                sprintf(kexec_opts[nr_opts], "--command-line=%s",
                        opt->boot_args);
@@ -308,6 +308,6 @@ void pboot_exec_option(void *data)
        fflush(stdout);
 
        execv(kexec_opts[0], kexec_opts);
-
-       LOG("kexec failed: %s", strerror(errno));
+       pboot_message("kexec failed: %s", strerror(errno));
+       LOG("execv() failed: %s", strerror(errno));
 }