Quick Guide and Solutions for VirtualBox

Started by RenatoPhoto, August 09, 2013, 07:08:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Hi I used your VM and followed the compile steps perfectly, however I am getting an error when I run the 'make 5D3' command:

/bin/sh: 1: /home/magiclantern/arm-toolchain/bin/arm-non-eabi-gcc4.7.3: not found
make[1]: *** [magiclantern.1ds] Error 1
make[1]: Leaving directory '/home/magiclantern/magic-lanter/platform/5D3.113'
make: *** [5D3] Error 2

Perhaps something in the source has changed from the time you wrote these instructions. Thanks for supplying the VM though, this definitely has saved me some time.

I'm wanting to move forward with researching a new port to an old Canon 20D/30D, so I think I'll be able to start with this VM. Thanks a lot!


It looks like you may have accidentally skipped steps 16 and 17:
Quote from: RenatoPhoto on August 09, 2013, 07:08:25 PM
16. Double click on Makefile.user file

17. After GCC_VERSION= add "-" sign should now read:
The missing hyphen is why the make command can't find the binary, which is arm-none-eabi-gcc-4.7.3.

In fact, you actually should be able to remove that line entirely from Makefile.user.  If you've properly updated the local repository (using hg pull and hg update), Makefile.user.default should (now) have that hyphen in its respective GCC_VERSION line.
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x



For me make works well.

But make zip doen't work :-(

magiclantern@magiclantern-VirtualBox:~/magic-lantern$ make zip
cd /home/magiclantern/magic-lantern/platform/all; make docs
make[1]: entrant dans le répertoire « /home/magiclantern/magic-lantern/platform/all »
cd ../../doc && RST2LATEX=rst2latex.py python2 mkdoc.py
[[Focus distance]]
[[External Recorders]]
[[HDMI recorder]]
sh: 1: rst2latex.py: not found
make[1]: *** [docs] Erreur 1
make[1]: quittant le répertoire « /home/magiclantern/magic-lantern/platform/all »
make: *** [docs] Erreur 2


Douglas E. Bischoff
Audio/Video Production & Scoring


And this one.

I installed python-docutils through the Ubuntu software software center.


Just a note for fresh users who want to use this VM solution: Since Ubuntu 12.10 (Quantal Quetzal) reaches End of Life on May 16 2014 (the release in this VM) you should change some things in the repository configuration because the default setup is out of date, so installation and/or upgrade of softwares will not working as is.

-> go in: etc/apt, open sources.list with root privileges, like sudo vi /etc/apt/sources.list
-> replace all entries *archive.ubuntu.com* to *old-releases.ubuntu.com* and save the file
-> update all of this: sudo apt-get update && sudo apt-get dist-upgrade

Now you could use apt-get or the software manager as your needs, like install docutils stuff to compile last releases of ML.

Note: Maybe it should be interesting to upgrade the VM with a modern distro for new users. I'm currently using a LMDE for dev works mainly because easier to maintain in time (semi-rolling distribution based on Debian Testing), if it could be relevant I could see to generate a basic VM file.

-> https://wiki.ubuntu.com/Releases
-> http://fridge.ubuntu.com/2014/05/01/ubuntu-12-10-quantal-quetzal-reaches-end-of-life-on-may-16-2014/


I have prepared an easy to use virtual machine based on "Ubuntu Mate 14.04 LTS".

ARM Console (not needed for compiling but it's inbuilt)

ARM Console is preinstalled. I was able to quickly test a1ex's wiki-instructions with a 550D-autoexec only (renamed to autoexec.0x8A000.bin) by using these commands:

cd ~/
cd ARM-console
python2 main.py

In [1]: D = load_dumps("autoexec")
In [2]: ml = D[0]
In [3]: guessfunc.run(ml)
In [4]: html.quick(ml)
In [5]: r = array([a[1] for a in ml.REFLIST])
In [6]: hist(r, 100)
In [7]: show()

I was able to load the autoexec, guess the functions, create a quick html firmware browser and show the graphs without errors.
You might want to take the time and add a firmware dump like instructed in the wiki and see what happens.

Compiling Magic Lantern from source for e.g. EOS 6D (unified tree)

No need to install or download GCC as long as "makefile.user.default" contains the string "GCC_VERSION=-4.8.3". Everything is ready2go.

cd ~/
mkdir test
cd test
hg clone -r unified https://bitbucket.org/hudson/magic-lantern
cd magic-lantern
make -j2
cd platform
cd 6D*
make zip

This will create a nightly zip in 6D-platform directory.
"make docs" in the root directory works ofc, too.

Download this VM for Virtualbox ( 4 Parts)

Download Size is about 1.8GB, splitted in 4 parts.
Extracted size is about 7,1GB. Use 7zip to extract!

Username: ml
Password: ml

If you ever need to open the file browser as root, then open terminal and run:

sudo caja
Simply follow the already posted instructions on the first page to setup the virtual machine in Virtualbox. I used VirtualBox 4.3.20 to build the machine and the VirtualBox GuestAdditions are already installed but you might have to reinstall them if you use any other version.
[size=8pt]70D.112 & 100D.101[/size]