#13161: [ar71xx] kexec regression in 3.8.2
-------------------------------------------------+-------------------------
Reporter: Damian Kaczkowski | Owner: developers
<damian.kaczkowski+openwrt@…> | Status: new
Type: defect | Milestone: Chaos
Priority: highest | Calmer (trunk)
Component: kernel | Version: Trunk
Resolution: | Keywords:
-------------------------------------------------+-------------------------
Comment (by yousong):
Hi, mchwalisz
Replying to [comment:10 mchwalisz]:
> I have downloaded the patch series, applied, compiled and tested on TP-
Link WDR4300 router.
>
> There are couple of comments. First if you load `openwrt-ar71xx-generic-
vmlinux-lzma.elf` it complains about being not in gzip format. It still
boots correctly.
It still booted correctly because that file was a valid ELF image and
kexec recognised that after giving up on gzip and lzma. Yes, those error
messages from `xxx_decompress_file()` should be printed as debug messages.
> {{{
> # kexec -d --command-line="board=TL-WDR4300 console=ttyS0,115200" -l
openwrt.elf
> `openwrt.elf' is not in gzip format:
> kernel: 0x7753a008 kernel_size: 1409c9
> kexec_load: entry = 0x60000 flags = 80000
> nr_segments = 2
> segment[0].buf = 0x41a11c
> segment[0].bufsz = 100
> segment[0].mem = (nil)
> segment[0].memsz = 1000
> segment[1].buf = 0x7754a008
> segment[1].bufsz = 13082d
> segment[1].mem = 0x60000
> segment[1].memsz = 131000
> }}}
>
> I can also convert it to gzip and run successfully.
> {{{
> # gzip -c openwrt.elf > openwrt.elf.gz
> # kexec -d --command-line="board=TL-WDR4300 console=ttyS0,115200" -l
openwrt.elf.gz
> kernel: 0x77b43008 kernel_size: 1409c9
> kexec_load: entry = 0x60000 flags = 80000
> nr_segments = 2
> segment[0].buf = 0x41a11c
> segment[0].bufsz = 100
> segment[0].mem = (nil)
> segment[0].memsz = 1000
> segment[1].buf = 0x77b53008
> segment[1].bufsz = 13082d
> segment[1].mem = 0x60000
> segment[1].memsz = 131000
> }}}
>
>
> Still the command line has the part added by kernel (although I use
`--commnad-line` parameter, not append).
>
> {{{
> Kernel command line: board=TL-WDR4300 console=ttyS0,115200
rootfstype=squashfs,jffs2 noinitrd
> }}}
>
This was caused by kernel configuration options `CONFIG_CMDLINE_BOOL` and
`CONFIG_CMDLINE_OVERRIDE`; in the case of OpenWrt, the first option is
enabled and the latter not which will cause `builtin_cmdline[]` to be
appended to `prom_init()`-ed one.
> It is still progress now I can boot correctly to the new kernel.
Previously console was misconfigured and hanged the system.
Thanks for the feedback!
--
Ticket URL: <https://dev.openwrt.org/ticket/13161#comment:11>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets