#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

Reply via email to