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