Flashed blob(after some patching) onto the newly developed j7xx flashrom, it works resonably well. However when loading kernel produces nothing more than the extraction finishing (then nada).

As you can see it loads the kernel onto 0xc0300000 (just wanted to get it out of way) and it jumps there at bootup.

The call to the linux kernel is done through declaration.
void (*thekernel) (int zero, int arch, u32 params) = (void (*)(int, int u32))blob_status.kernel.addr;

I've read all the ARM boot documentation and I believe I should turn off mmu and put proper values into
r0, r1, r2. But My question is rather if anyone else can spot anything else I need doing and what bootloader "demands" changed between 2.4 and 2.6 (since this bootloader "should" boot 2.4 without issues)?

zreladdr is set to 0xc0008000, but that is where the kernel should extract to, right?

Starting kernel ...

Uncompressing Linux............................................. ................

Various Blob outputs:
Memory map:
0x04000000 @ 0xc0000000 (64 MB)
ELF sections layout:
0xc0200800 - 0xc02136c0 .text
0xc02136c0 - 0xc0215b70 .rodata
0xc0215b70 - 0xc021646c .data
0xc021646c - 0xc021646c .got
0xc021646c - 0xc02165c0 .commandlist
0xc02165c0 - 0xc0216680 .initlist
0xc0216680 - 0xc021668c .exitlist
0xc021668c - 0xc02166bc .ptaglist
0xc02166bc - 0xc021bbac .bss
0xc0219bac - 0xc021bbac .stack (in .bss)
Current stack pointer: 0xc021ba84

Partition table for 65344 kB flash @ 0x00000000:
0x00020000 @ 0x00000000 (128 kB): 'blob'
load at 0xc0100000
0x00020000 @ 0x00020000 (128 kB): 'param'
contains parameter blocks
0x00300000 @ 0x00040000 (3072 kB): 'kernel'
load at 0xc0300000
entry point at 0xc0300000, automatically execute
0x03c90000 @ 0x00340000 (62016 kB): 'ramdisk'

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at