[Android Software/Hacking General [Developers Only]] osm0sis:
Looked into Sony ELF kernel images a bit today, here's the bulk of what I worked out:

$ readelf -lS kernel-mtkc4.elf
There are 1 section headers, starting at offset 0x9a0c8a:

Section Header:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] <no-name> LOUSER+53494e 00000000 99fc8a 001000 00 0 0 0
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x40080000
There are 2 program headers, starting at offset 52

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000074 0x40080000 0x40080000 0x65a7d5 0x65a7d5 0
LOAD 0x65a849 0x44000000 0x44000000 0x345441 0x345441 0

Raw Header:
e_ident
7F 45 4C 46 EI_MAG (ELF)
01 EI_CLASS (32-bit)
01 EI_DATA (Little Endian)
01 EI_VERSION
61 EI_OSABI (?61=kernel.elf)
00 EI_ABIVERSION
00 00 00 00 00 00 00 EI_PAD

02 00 e_type (executable)
28 00 e_machine (ARM)

01 00 00 00 e_version
00 00 08 40 e_entry
34 00 00 00 e_phoff
8A 0C 9A 00 e_shoff (s_header)
00 00 00 00 e_flags
34 00 e_ehsize
20 00 e_phentsize
02 00 e_phnum
28 00 e_shentsize
01 00 e_shnum
00 00 e_shstrndx

p_header
01 00 00 00 | 74 00 00 00 p_type|p_offset
00 00 08 40 | 00 00 08 40 p_vaddr|p_paddr (kernel_offset)
D5 A7 65 00 | D5 A7 65 00 p_filesz|p_memsz
00 00 00 00 | 00 00 00 00 p_flags|p_align

01 00 00 00 | 49 A8 65 00 p_type|p_offset
00 00 00 44 | 00 00 00 44 p_vaddr|p_paddr (ramdisk_offset)
41 54 34 00 | 41 54 34 00 p_filesz|p_memsz
00 00 00 00 | 00 00 00 00 p_flags|p_align

s_header
00 00 00 00 name
4E 49 53 80 type
00 00 00 00 flags
00 00 00 00 address
8A FC 99 00 offset (cmdline_offset)
00 10 00 00 size (pagesize)

00 00 00 00 00 00 00 00 padding
00 00 00 00 00 00 00 00 padding

$ readelf -lS kernel-xtz4.elf
There are 1 section headers, starting at offset 0x1de3eb4:

Section Header:
[Nr] Name Type Address Offset Size EntSize Flags Link Info Align
[ 0] <no-name> LOUSER+53494e 0000000000000000 01de2eb4 0000000000001000 0000000000000000 0 0 0
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x80000
There are 3 program headers, starting at offset 64

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align
LOAD 0x00000000000000e8 0x0000000000080000 0x0000000000080000 0x000000000175ee78 0x000000000175ee78 0
LOAD 0x000000000175ef60 0x0000000002000000 0x0000000002000000 0x0000000000587419 0x0000000000587419 0
LOAD 0x0000000001ce6379 0x0000000001e00000 0x0000000001e00000 0x00000000000fcb3b 0x00000000000fcb3b 0

Raw Header:
e_ident
7F 45 4C 46 EI_MAG (ELF)
02 EI_CLASS (64-bit)
01 EI_DATA (Little Endian)
01 EI_VERSION
61 EI_OSABI (?61=kernel.elf)
00 EI_ABIVERSION
00 00 00 00 00 00 00 EI_PAD

02 00 e_type (executable)
28 00 e_machine (ARM)

01 00 00 00 e_version

00 00 08 00 00 00 00 00 e_entry
40 00 00 00 00 00 00 00 e_phoff
B4 3E DE 01 00 00 00 00 e_shoff (s_header)

00 00 00 00 e_flags

40 00 e_ehsize
38 00 e_phentsize
03 00 e_phnum
40 00 e_shentsize
01 00 e_shnum
00 00 e_shstrndx

p_header
01 00 00 00 00 00 00 00 | E8 00 00 00 00 00 00 00 p_type|p_offset
00 00 08 00 00 00 00 00 | 00 00 08 00 00 00 00 00 p_vaddr|p_paddr (kernel_offset)
78 EE 75 01 00 00 00 00 | 78 EE 75 01 00 00 00 00 p_filesz|p_memsz

00 00 00 00 | 00 00 00 00 p_flags|p_align

01 00 00 00 00 00 00 00 | 60 EF 75 01 00 00 00 00 p_type|p_offset
00 00 00 02 00 00 00 00 | 00 00 00 02 00 00 00 00 p_vaddr|p_paddr (ramdisk_offset)
19 74 58 00 00 00 00 00 | 19 74 58 00 00 00 00 00 p_filesz|p_memsz

00 00 00 00 | 00 00 00 00 p_flags|p_align

01 00 00 00 00 00 00 00 | 79 63 CE 01 00 00 00 00 p_type|p_offset
00 00 E0 01 00 00 00 00 | 00 00 E0 01 00 00 00 00 p_vaddr|p_paddr (tags_offset)
3B CB 0F 00 00 00 00 00 | 3B CB 0F 00 00 00 00 00 p_filesz|p_memsz (dt_size)

00 00 00 00 | 00 00 00 00 p_flags|p_align

s_header
00 00 00 00 name
4E 49 53 80 type

00 00 00 00 00 00 00 00 flags
00 00 00 00 00 00 00 00 address
B4 2E DE 01 00 00 00 00 offset (cmdline_offset)
00 10 00 00 00 00 00 00 size (pagesize)

00 00 00 00 00 00 00 00 padding
00 00 00 00 00 00 00 00 padding
00 00 00 00 00 00 00 00 padding

And some analysis over in [MENTION=5787964]SuperR.[/MENTION]'s thread: http://xdaforums.com/showpost.php?p=67369021&postcount=3424

Still looking pretty tricky for me to properly support this format in Android Image Kitchen, (even though [MENTION=5787964]SuperR.[/MENTION]'s worked out a pretty nifty way to convert a number of them to boot.img,) since there are just too many variations going all the way back to Gingerbread. :eek:

Edit: I stand corrected on that being pagesize (which was confusing), and have found RPM was the old name for dtb, so then again.. ;)