Kexec on arm64
Arun Chandran
achandran at mvista.com
Fri Jul 11 04:26:45 PDT 2014
Hi Geoff,
This is a minor "NULL check" issue in the code.
kexec fails to load, without kernel command line option (--append).
The below code fixes that issue (missing null check.
diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
index 894e0e1..0ca0df4 100644
--- a/kexec/arch/arm64/kexec-arm64.c
+++ b/kexec/arch/arm64/kexec-arm64.c
@@ -135,8 +135,10 @@ int arm64_load_other_segments(struct kexec_info *info)
/* Processing for arm64_opts.dtb and arm64_opts.command_line. */
- strncpy(command_line, arm64_opts.command_line, sizeof(command_line));
- command_line[sizeof(command_line) - 1] = 0;
+ if (arm64_opts.command_line != NULL) {
+ strncpy(command_line, arm64_opts.command_line,
sizeof(command_line));
+ command_line[sizeof(command_line) - 1] = 0;
+ }
--Arun
On Thu, Jul 10, 2014 at 12:19 AM, Geoff Levand <geoff at infradead.org> wrote:
> Hi Arun,
>
> On Wed, 2014-07-09 at 19:28 +0530, Arun Chandran wrote:
>> After copying the resulting binaries to my target; I tried loading the
>> kernel Image
>>
>> # kexec -l /Image
>> Modified cmdline: root=/dev/nfs
>> Unable to find /proc/device-tree//chosen/linux,stdout-path, printing
>> from purgatory is diabled
>> Cannot determine the file type of /Image
>>
>> It failed to load the kernel Image. Any pointers?
>
> My kexec-tools [1] only supports loading of arm64 elf files, so
> vmlinux, or a stripped version of it. Image is a raw binary, and
> is not yet supported.
>
> Maybe something like this is what you need:
>
> ./kexec -d --load /boot/vmlinux.strip --append="console=ttyAMA0 earlyprintk=pl011,0x1c090000 root=/dev/vda rw --verbose" --dtb=/boot/fdt.dtb
> ./kexec -d -e
>
> Also, my current master branch will only work reliably with PSCI
> boot. Spin-table boot has a bug and will be unstable for the next
> few days. Spin-table will re-boot, but only the primary cpu will
> come up.
>
> [1] https://git.linaro.org/people/geoff.levand/kexec-tools.git
> https://git.linaro.org/people/geoff.levand/linux-kexec.git
>
> -Geoff
>
More information about the kexec
mailing list