I am using Xubuntu 16.04.3 64 bit for this build.

To download code we will need mercurial (hg). To make toolchain work on 64 bit OS we will also need some 32-bit libraries, and docutils for rst2html command (for build ML modules)

sudo apt install mercurial gcc-multilib lib32z1 docutils-common

Lets clone repo:

cd ~
hg clone -u unified https://bitbucket.org/hudson/magic-lantern

Then checkout to branch for your camera, I have Canon 1200D also known as Rabel T5.

cd magic-lantern
hg checkout 1200D

Installing toolchain

To find out the native toolchain version that developers use by default we can do

cat Makefile.user.default | grep gcc-arm

Which is ARM_PATH=~/gcc-arm-none-eabi-4_8-2013q4 now. Let's find a link here and install it to home dir:

cd ~
wget https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/+download/gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar.bz2
tar xjf gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar.bz2


cd platform/1200D.101/
make clean && make zip

Result zip is here:

~/magic-lantern/platform/1200D.101$ ls *.zip

Extract it to formatted SD card and run the firmware update.

You need exactly same Canon firmware version as your ML build support (Here we have 101). So update/downgrade your Canon official firmware from official site (download FIR file and copy it to clean SD card), and only then update to ML


CAUTION Never eject SD card from camera earlier than 5 seconds before insert


CAUTION If you are installing ML first time please pay attention that installer asks you backup ROM0 and ROM1 files from SD card (ML\LOGS folder) to a reliable place. You may need it in future. Also, please don't request one and don't share it online - it is Canon IP