How to bootstrap a port of Magic Lantern to a new camera[edit | edit source]

Get a dump[edit | edit source]

  • if we know the keys: decrypting an update, or using 1100D method
  • else: like 550d, having the camera in hand is necessary, at least today ;-)
  • if you have a recent camera, you can help ML developer for tests or get a dump! No camera had ever been injured for this.

use CHDK finsig or Alex's console to find functions addresses[edit | edit source]

Find "Hijack values" to start the consts.h file[edit | edit source]

Create stubs.S file[edit | edit source]

550D 109
NSTUB( 0x1938, task_dispatch_hook )

ROM:FF010320                 LDR     R3, =0x1938
ROM:FF010324                 LDR     R3, [R3]
ROM:FF010328                 CMP     R3, #0
ROM:FF01032C                 BEQ     loc_FF010348
ROM:FF010330                 MOV     R0, R4
ROM:FF010334                 LDR     R2, =0
ROM:FF010338                 STR     LR, [SP,#0x20+var_28]!
ROM:FF01033C                 MOV     LR, PC
ROM:FF010340                 MOV     PC, R3

Find VRAM addresses[edit | edit source]

Get Unified tree and create a new platform directory[edit | edit source]

Create a signed .FIR to enable the bootflag[edit | edit source]

  • Ask for a signature if needed to ML core developers

Start development[edit | edit source]

  • See Developing_info
  • Reverse engineering is an activity where you learn a lot by yourself, but if you're really stuck, you can ask help on the Mailing List
Community content is available under CC-BY-SA unless otherwise noted.