Wu Zhangjin <email@example.com> wrote:
> This patch will help to generate smaller kernel images for linux-MIPS,
/me gets giddy and wets himself with excitement
This has made my AR7 based Linksys WAG54Gv2 (16MB RAM and 4MB flash,
limited to a 768kB kernel) useful, finally...thanks!
> $ wc -c vmlinux
> 7465416 vmlinux
> $ wc -c vmlinuz
> 2059691 vmlinuz
> Have tested the 32bit kernel on Qemu/Malta and 64bit kernel on FuLoong
> Mini PC. both of them works well.
I got it working (LZMA kernel) however you have hardcoded a lot of bits
in there. It looks to my uneducated eye most of the issues lie in that
getting a suitable PORT(x), KERNEL_START, KERNEL_SIZE, FREE_MEM_START
and FREE_MEM_END is non-trivial on the MIPS platform currently;
probably because of the lack of a generic lzma/gzip/bzip2 framework to
be used with.
For me I used:
#define FREE_MEM_START CKSEG0ADDR(0x94a00000)
#define FREE_MEM_END CKSEG0ADDR(0x94f00000)
I had to replace (you probably should move this from dbg.c to dbg.h):
#define PORT(offset) (CKSEG1ADDR(AR7_REGS_UART0) + (4 * offset))
The load address is awkward, but I replaced your 0x8100000 in the
Makefile with 0x94400000.
Now, the big question is how to work this all out at compile time. :)
As a side note, I would personally leave the DEBUG non-optional and
turned on as it all disappears at runtime anyway, but I'm no kernel
Again, thanks for this, it truely is great stuff.
.sigmonster says: I will always love the false image I had of you.