For a code change that changes the default behavior, I would like to see
the change go into upstream project first. Please submit this proposed
code change to upstream kexec project on the mailing list
ke...@lists.infradead.org
Thanks,
Khalid
> --- kexec-tools-2.0.25.orig/kexec/kexec.c
> +++ kexec-tools-2.0.25/kexec/kexec.c
> @@ -1049,11 +1049,11 @@ void usage(void)
> " to original kernel.\n"
> " -s, --kexec-file-syscall Use file based syscall for kexec operation\n"
> " -c, --kexec-syscall Use the kexec_load syscall for for compatibility\n"
> - " with systems that don't support -s (default)\n"
> + " with systems that don't support -s\n"
> " -a, --kexec-syscall-auto Use file based syscall for kexec and fall\n"
> " back to the compatibility syscall when file based\n"
> " syscall is not supported or the kernel did not\n"
> - " understand the image\n"
> + " understand the image (default)\n"
> " -d, --debug Enable debugging to help spot a failure.\n"
> " -S, --status Return 1 if the type (by default crash) is loaded,\n"
> " 0 if not.\n"
> @@ -1407,8 +1407,8 @@ int main(int argc, char *argv[])
> int do_ifdown = 0, skip_ifdown = 0;
> int do_unload = 0;
> int do_reuse_initrd = 0;
> - int do_kexec_file_syscall = 0;
> - int do_kexec_fallback = 0;
> + int do_kexec_file_syscall = 1;
> + int do_kexec_fallback = 1;
> int skip_checks = 0;
> int do_status = 0;
> void *entry = 0;
> --- kexec-tools-2.0.25.orig/kexec/kexec.8
> +++ kexec-tools-2.0.25/kexec/kexec.8
> @@ -151,14 +151,14 @@ Specify that the new kernel is of this
> Specify that the new KEXEC_FILE_LOAD syscall should be used exclusively.
> .TP
> .BI \-c\ (\-\-kexec-syscall)
> -Specify that the old KEXEC_LOAD syscall should be used exclusively (the default).
> +Specify that the old KEXEC_LOAD syscall should be used exclusively.
> .TP
> .BI \-a\ (\-\-kexec-syscall-auto)
> Try the new KEXEC_FILE_LOAD syscall first and when it is not supported or the
> kernel does not understand the supplied image fall back to the old KEXEC_LOAD
> interface.
>
> -There is no one single interface that always works.
> +There is no one single interface that always works, so this is the default.
>
> KEXEC_FILE_LOAD is required on systems that use locked-down secure boot to
> verify the kernel signature. KEXEC_LOAD may be also disabled in the kernel