[PATCH 0/3] kexec-tools: fix bugs and pass initrd position for arm

Wang Nan wangnan0 at huawei.com
Wed Jan 22 23:17:10 EST 2014

On 2014/1/23 11:38, Dave Young wrote:
> On 01/23/14 at 10:56am, Wang Nan wrote:
>> On 2014/1/23 10:47, Dave Young wrote:
>>> On 01/22/14 at 06:52pm, Wang Nan wrote:
>>>> Hi,
>>>> This patch series contains following bug fixes and cleanups for
>>>> kexec-tools on arm platform:
>>>> Wang Nan (3):
>>>>   kexec: align initrd when no --image-size
>>>>   kexec: pass initrd position in dtb
>>>>   kexec: increase zImage compress ratio from 4 to 5
>>> One question:
>>> Is these kexec-tools patches enough for kexec work or still need the
>>> kernel patches you sent?
>>> Thanks
>>> Dave
>> kexec will work without the kernel side patches, but the atag, kernel
>> cmdline, dtb information and kernel configuration must be carefully
>> adjusted.
> It does not work for me with below:
> kexec -l /boot/vmlinuz-`uname -r` --append=`cat /proc/cmdline` --dtb vexpress-v2p-ca9.dtb
> The dtb and kexec kernel are exactly same with the 1st kernel.
> Is there any other things for setup in qemu, but probably it's different from your hardware
> setup..
> Thanks
> Dave

I only tried crash dump case. In my testing, following things need to be check:

1. When using dtb, the second kernel should disable CONFIG_ATAGS and CONFIG_ARM_APPENDED_DTB
2. In the second kernel, the memory information must be reconfigured using dtb or cmdline.

for example:

first kernel:
 memory {
  device_type = "memory";
  reg = <0x80000000 0x40000000>;

if you want to load the second kernel at 0xa0000000: second kernel:
 memory {
  device_type = "memory";
  reg = <0xa0000000 0x20000000>;

Pass a mem= option may also work, but when loading crash kernel, kexec-tools also append mem=
option to cmdline, they may conflict with each other.

The 3rd patch of my kernel patch is used to avoid the device tree reconfiguration, but it has not been

Another thing: arm kernel must be loaded at a 128MB aligned position.

More information about the kexec mailing list