Topic: RDC kernel 2.6.27 won't uncompress

I was running 2.6.24 for a while but I was noticing that the wireless driver (rt2x00) was extremely buggy and crashing quite often. The devs said that the issue was fixed in 2.6.27.


When I compiled 2.6.27, everything went fine, but the kernel wouldn't uncompress at bootup. It just sits there. The file size is no larger than the previous kernel. I'm stumped. Building for an AR360w3G. Any ideas?

2 (edited by dhonn 2009-01-08 02:52:28)

Re: RDC kernel 2.6.27 won't uncompress

I am having the same exact problem with 2.6.27.9.  It works well in 2.6.24.7.  I am posting some debugging information.  It dies in the LzmaDecode() function


2.6.27.9 broken
Uncompressing Linux - debug
lzma_unzip()
lzma args - i: 00000000
lzma args - Literal context bits: 00000007
lzma args - Literal pos state bits: 00000000
Dictionary size: 00800000
Uncompressed size: 001A660C
Compressed size: 00000000
Workspace address: 002B0B24
Callback address: 002B5AE8
LzmaDecode()  <---- hangs here


2.6.24.7 works!
Uncompressing Linux - debug
lzma_unzip()
lzma args - i: 00000000
lzma args - Literal context bits: 00000007
lzma args - Literal pos state bits: 00000000
Dictionary size: 00800000
Uncompressed size: 001A8C1F
Compressed size: 00000000
Workspace address: 002B3DA4
Callback address: 002B3D4C
LzmaDecode()
return 0
Done, booting


Digging further into LzmaDecode() here is where it fails

      len += kMatchMinLen;
      early_serial_write("rep0 =\n", 512);
      print_hex_long(rep0);
      early_serial_write("newPos =\n", 512);
      print_hex_long(nowPos);
      if (rep0 > nowPos
        #ifdef _LZMA_OUT_READ
        + globalPos || rep0 > dictionarySize
        #endif
        )
        return LZMA_RESULT_DATA_ERROR;  <----------- it dies right here


I think there is stack corruption.

Re: RDC kernel 2.6.27 won't uncompress

Maybe it should use this patch instead now:

http://udpcast.linux.lu/download/bzip2- … 6.patch.gz

This works great for me with 2.6.27.5, although I'm not applying the other OpenWrt patches.

Re: RDC kernel 2.6.27 won't uncompress

Testing the patch now. Thanks!

Re: RDC kernel 2.6.27 won't uncompress

Thanks but I tried it out and it still hangs.  Let me know how it goes aport

Re: RDC kernel 2.6.27 won't uncompress

No dice for me.


Any compression type still fails.

Re: RDC kernel 2.6.27 won't uncompress

Interesting.  I don't cross-compile my RDC kernel, just downloaded a kernel from
www.kernel.org applied the lzma  patch and compiled it under Slackware x86
(with sensible options for RDC).  I can email you that kernel or config if you want
and you could try that.  It won't have the flash partitions of course, but it might
get you a bit further.  PM me if you want.

Re: RDC kernel 2.6.27 won't uncompress

bifferos wrote:

Interesting.  I don't cross-compile my RDC kernel, just downloaded a kernel from
www.kernel.org applied the lzma  patch and compiled it under Slackware x86
(with sensible options for RDC).  I can email you that kernel or config if you want
and you could try that.  It won't have the flash partitions of course, but it might
get you a bit further.  PM me if you want.

Which RDC device are you running?

9 (edited by wiewior 2009-01-23 15:27:13)

Re: RDC kernel 2.6.27 won't uncompress

Hi,
I'm running Edimax BR6315SRG,
I had similar problem:

Uncompressing Linux
Done, booting <---hangs here

I've used openwrt patches, but removed 600-x86_lzma.patch, and applied bzip2-lzma-kernel-2.6.27.6.patch from bifferos instead, and I confim that 2.6.27.6 is booting correctly wink

I believe that lzma decoder suffers from some memory/stack  corruption  on kernels never than 2.6.24.7.

10 (edited by aport 2009-01-23 19:35:12)

Re: RDC kernel 2.6.27 won't uncompress

wiewior wrote:

Hi,
I'm running Edimax BR6315SRG,
I had similar problem:

Uncompressing Linux
Done, booting <---hangs here

I've used openwrt patches, but removed 600-x86_lzma.patch, and applied bzip2-lzma-kernel-2.6.27.6.patch from bifferos instead, and I confim that 2.6.27.6 is booting correctly wink

I believe that lzma decoder suffers from some memory/stack  corruption  on kernels never than 2.6.24.7.

Where can I find the bzip2-lzma-kernel-2.6.27.6 patch?

Thanks!


edit: I see that it's in this thread. Durrrrrrr. I haven't had any coffee yet.