[XPERIA X1 Android Development] X1iser:
I managed to have the console but then I had a kernel panic (after msmfb_probe() ... )

tinboot.S

@
@ Tinboot V 1.0
@ Very simple bootloader for HTC Vogue
@ Martin Johnson - M.J.Johnson@massey.ac.nz
@
.ifdef kaiser
.equ LOAD_START, 0x10300000
.else
.ifdef polaris
.equ LOAD_START, 0x10300000
.else
.equ LOAD_START, 0x10000000
.endif
.endif
.equ RAM_START, 0x10000000

.ifdef kovsky
.equ RAM_SIZE, 0x10000000
.else
.equ RAM_SIZE, 0x06800000
.endif
.if version==2
.if res==320
.equ RAM_SIZE, 0x07300000
.else
.equ RAM_SIZE, 0x07100000
.endif
.endif
.equ INITRD_START, RAM_START+0x00800000

.equ KERNEL_OFFSET, 0x8000
.equ XIP_END, 0x2ff000

.org 0
b boot

.org 0x40
.word 0x43454345
.word romhdr+0x80000000 @ location of wince romhdr
.word romhdr
.org 0x100
tags: .word 5,0x54410001,1,0x1000,0 @ ATAG_CORE, pagesize=4K
.word 4,0x54410002,RAM_SIZE,RAM_START @ ATAG_MEM
.word 4,0x54420005,INITRD_START,fin-initrd @ ATAG_INITRD2
cmdline_start: .word (cmdline_end-cmdline_start)/4,0x54410009 @ ATAG_CMDLINE
.if res==428
.ascii "mddi.width=320 mddi.height=428 "
.endif
.if res==480
.ascii "mddi.width=320 mddi.height=480 "
.endif
.if res==320
.ascii "mddi.width=240 mddi.height=320 "
.endif
.if hw3d==1
.ascii "hw3d.version=1 "
.else
.ascii "hw3d.version=0 "
.endif
.ifdef vogue
.asciz "quiet mtdparts=msm_nand:0x00300000@0x1600000(boot),0x00040000@0x01900000(root),0x066C0000@0x01940000(system),0x08000000@0x08000000(userdata)"

.endif
.ifdef kaiser
.ascii "board-kaiser-keypad.atttilt="
.byte tilt+0x30
.ascii " board-htckaiser.panel_type="
.byte panel_type+0x30
.asciz " pm.sleep_mode=1 mtdparts=msm_nand:0x10000000@0x0(nand)ro,0x00040000@0x029a0000(root),0x066C0000@0x029e0000(system),0x06f60000@0x090a0000(userdata)"
.endif
.ifdef polaris
.ascii "board-htcpolaris.panel_type="
.byte panel_type+0x30
.asciz " board-htcpolaris.no_boot_vibration=0 pm.sleep_mode=1 mtdparts=msm_nand:0x10000000@0x0(nand)ro,0x00040000@0x029a0000(root),0x066C0000@0x029e0000(system),0x06f60000@0x090a0000(userdata)"
.endif

.ifdef kovsky
.asciz "fbcon=rotate:2 lcd.density=240 clock-7x00.a11=528 msmvkeyb_toggle=off msmts_calib=0x0366.0x04b.0x0c8.0x038e mtdparts=msm_nand:0x00300000@0x26a0000(boot),0x00040000@0x029a0000(root),0x08000000@0x029e0000(system),0x17cc0000@0x0a9e0000(userdata)"

.endif

.align
cmdline_end: .word 0,0 @ ATAG_END

.org 0x00001000

boot: ldr r0,loadstart_ptr
ldr r1,ramstart_ptr
ldr r3,fin_ptr

copycode: ldr r2,[r0],#4
str r2,[r1],#4
cmp r1,r3
blo copycode
ldr pc,start_ptr

start: ldr r0,initrd_ptr
ldr r3,fin_ptr
ldr r1,ird_start_ptr

copyinitrd: ldr r2,[r0],#4
str r2,[r1],#4
cmp r0,r3
blo copyinitrd

mov r0,#0
ldr r1,mtype
ldr r2,tags_addr
ldr pc,kernel_start

mtype: .word MTYPE
start_ptr: .word start+RAM_START
loadstart_ptr: .word LOAD_START
ramstart_ptr: .word RAM_START
initrd_ptr: .word initrd+RAM_START
fin_ptr: .word fin+RAM_START
ird_start_ptr: .word INITRD_START
kernel_start: .word RAM_START+0x8000
tags_addr: .word RAM_START+0x100

romhdr:
.word 0x0 @ dllfirst
.word 0x0 @ dlllast
.word 0x80000000 @ physfirst
.word 0x80000000+fin @ physlast
.word 0 @ num mods
.word 0x80000000+fin @ ramstart
.word 0x80000000 @ ramfree
.word 0x88000000 @ ramend
.word 0 @ copyentries
.word 0x80000000 @ copyoffset
.word 0 @ profilelen
.word 0 @ profileoffset
.word 0 @ numfiles
.word 0 @ flags
.word 0x20 @ fsrampercent
.word 0 @ drvglobstart
.word 0 @ drvgloblen
.word 0x201c2 @ cputype/flags
.word 0x80000000 @ pextensions
.word 0 @ trackingstart
.word 0 @ trackinglen

.org KERNEL_OFFSET
kernel:
.incbin "zImage"
initrd:
.incbin "initrd.lzma"
.align
fin:
.org XIP_END-0x20000,0xff
.incbin "emptyimgfs"

I use wine to create the nbh if the console does not appear...

For partitioning I think 128Mb is enough for the system and the rest of our 512Mb ROM for userdata