Kexec on ARM - memory detection

Kristian Kielhofner kris at kriskinc.com
Thu Apr 6 09:17:00 PDT 2017


Hello,

  I'm trying to use kexec on ARM. I'm using LEDE 17.01 with their
ipq806x target on various boards of this type.

  I've followed many threads and a bit on the history of kexec on ARM
because I'm running into a strange problem:

root at LEDE:/tmp# kexec -d -t uImage --dtb=C2600-uImage.dtb
--command-line="" -l C2600-uImage
Try gzip decompression.
Try LZMA decompression.
lzma_decompress_file: read on C2600-uImage of 65536 bytes failed
kernel: 0xb6d27010 kernel_size: 0x1eb76e
MEMORY RANGES
00012028b6d27010-bea6aee700000004 (0)
zImage header: 0x016f2818 0x00000000 0x001e5cd0
zImage size 0x1e5cd0, file size 0x1eb72e
Could not find a free area of memory of 0x1edcd0 bytes...
Cannot load C2600-uImage
root at LEDE:/tmp# cat /proc/iomem
00108000-00108fff : /soc/rpm at 108000
00700000-00700fff : /soc/qfprom at 700000
00800000-00803fff : /soc/pinmux at 800000
00900000-00903fff : /soc/clock-controller at 900000
02011000-02011fff : /soc/clock-controller at 2011000
02088000-02088fff : /soc/clock-controller at 2088000
0208a000-0208a0ff : /soc/timer at 200a000
02098000-02098fff : /soc/clock-controller at 2098000
08000000-081fffff : ath
10000000-10007fff : /soc/usb30 at 1/dwc3 at 10000000
  10000000-10007fff : /soc/usb30 at 1/dwc3 at 10000000
1000c100-1000ccff : /soc/usb30 at 1/dwc3 at 10000000
100f8800-100f882f : /soc/phy at 100f8800
100f8830-100f885f : /soc/phy at 100f8830
11000000-11007fff : /soc/usb30 at 0/dwc3 at 11000000
  11000000-11007fff : /soc/usb30 at 0/dwc3 at 11000000
1100c100-1100ccff : /soc/usb30 at 0/dwc3 at 11000000
110f8800-110f882f : /soc/phy at 110f8800
110f8830-110f885f : /soc/phy at 110f8830
16300000-163000ff : /soc/gsbi at 16300000
16340000-16340fff : msm_serial
18300000-183fffff : /soc/dma at 18300000
1a200000-1a2000ff : /soc/gsbi at 1a200000
1a280000-1a280fff : /soc/gsbi at 1a200000/spi at 1a280000
1a500000-1a5001ff : /soc/rng at 1a500000
1b500000-1b500fff : dbi
1b502000-1b50207f : elbi
1b600000-1b6000ff : parf
1b700000-1b700fff : dbi
1b702000-1b70207f : elbi
1b800000-1b8000ff : parf
2e000000-2e1fffff : ath
37200000-373fffff : /soc/ethernet at 37200000
37400000-375fffff : /soc/ethernet at 37400000
42000000-5fffffff : System RAM
  42208000-4278de77 : Kernel code
  427c4000-4283ab77 : Kernel data
root at LEDE:/tmp# uname -a
Linux LEDE 4.4.53 #0 SMP Fri Mar 17 12:56:58 2017 armv7l GNU/Linux
root at LEDE:/tmp#

  I've tried every possible combination of uImage/zImage (with and
without initramfs, etc) and always end up with the same error. I've
compiled my own LEDE 17.01 image with the following LEDE options
enabled:

grep -i kexec .config
CONFIG_KERNEL_KEXEC=y
CONFIG_PACKAGE_kexec-tools=y
CONFIG_KEXEC_TOOLS_kdump=y
CONFIG_KEXEC_ZLIB=y
CONFIG_KEXEC_LZMA=y

  I've also updated my local build to use kexec-tools-2.0.14 but
always the same result. What else should I be looking at?

Thanks!

-- 
Kristian Kielhofner



More information about the kexec mailing list