Magic Lantern Firmware Wiki
Advertisement

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

Get a dump[]

  • 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[]

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

Create stubs.S file[]

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[]

Get Unified tree and create a new platform directory[]

Create a signed .FIR to enable the bootflag[]

  • Ask for a signature if needed to ML core developers

Start development[]

  • 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
Advertisement