----- Mail original ----- > De: "Rafał Miłecki" <zaj...@gmail.com> > À: "Hauke Mehrtens" <ha...@hauke-m.de> > Cc: openwrt-devel@lists.openwrt.org > Envoyé: Mercredi 27 Juin 2012 09:56:32 > Objet: Re: [OpenWrt-Devel] WNDR4500: OpenWRT freezing at "Starting program at > 0x80001000" > > GOOD NEWS guys! :) > > 1) First of all, WNDR4500's CFE can run lzma compressed vmlinux. You > can know that for example from earlier-attached official.analyze.txt. > My analyze of trx header has shown there are only 2 images. offset0 is > 0x1C, offset1 is 0x141a78 and offset2 is ZERO (yes!). And as explained > earlier, at 0x1C we have hexes: 5D 00 00 01 which are early bytes > of lzma-compressed vmlinux. > > So I've stared generating images skipping "loader" (small decompressor > of lzma). Unfortunately it didn't result in any success directly. > > Then I've started hacking Netgear's vmlinuz-lzma. I've decompressed it > and compressed again using my system's lzma. Guess what? My CFE > started panicking with chk containing such a recompressed vmlinux: > Checking crc...Loader:raw Filesys:raw Dev:nflash0.os File: Options:(null) > Loading: PANIC: out of memory! > raw_fileop_uninit: warning: refcnt not zero > Entry at 0x00000000 > > So it gave me a tip, lzma compression is very sensitive! > lzma compressed kernel is a hacked lzma file with size added at the beginning to match what gzip does. Look at kernel scripts/makefile.lib for the details.
Gilles _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel