Magic Lantern Forum

Developing Magic Lantern => General Development => Topic started by: RenatoPhoto on August 09, 2013, 07:08:25 PM

Title: Quick Guide and Solutions for VirtualBox
Post by: RenatoPhoto on August 09, 2013, 07:08:25 PM
Hope to resolve some issues for me and for other Windows users who want to compile in their windows machines.

For a Guide for those who want to install VirtualBox and contribute with their programming skills go here:
http://www.magiclantern.fm/forum/index.php?topic=6783.0

For solutions to the following problems just skip the Quick Guide:

1. Cannot empty trash
2. How to set up Shared Folders between Windows 7 Host and my guest Ubuntu
3. How to add Virtual Hard Drive to VM
4. How to re-size the VirtualBox HD (found on post no. 5) here: http://www.magiclantern.fm/forum/index.php?topic=7579.msg66782#msg66782
5. "make install" command found here: http://www.magiclantern.fm/forum/index.php?topic=7579.msg77314#msg77314


Quick Guide HOWTO VirtualBox

1. Downloaded the VirtualBox here: http://nanomad.magiclantern.fm/Development%20Box/VirtualBox/MagicLantern.zip

2. Downloaded Oracle VirtualBox here: http://download.virtualbox.org/virtualbox/4.2.16/VirtualBox-4.2.16-86992-Win.exe

3. Installed VirtualBox on Windows 7 ultimate 64 bit

4. Unzipped the contents of  MagicLantern.zip

5. Ran VirtualBox, click on New, Typed a name, Selected Type: Linux, Version: Unbutu

6. On next screen set Memory to 1024 (I have 12 GB)

7. On next screen clicked on Use an existing virtual hard drive file, clicked on the folder icon, and selected the MagicLantern.vdi

8. Now I have the new machine on the left menu in VBox.

9. Click on Start and accept all default settings.

10. Now I have Unbutu Running

11. Double click on Home (Top left)

12. Right-mouse click on magic-lantern and select open terminal here

13. Type hg pull

14.  When done type hg update

15.  Double click on magic-lantern folder

16. Double click on Makefile.user file

17. After GCC_VERSION= add "-" sign should now read:
      GCC_VERSION=-4.7.3

18. Below the GCC add:
      CONFIG_TCC = Y
      CONFIG_MODULES = y
      CONFIG_PICOC = Y


19. I had also added  CONFIG_MEMCHECK   = y  but this gave me some errors so I took it out!  (Is it needed?)

20. Under File menu click on save and then quit

21. Now Click on magiclantern on the left side with the home symbol

22. Right mouse click on the magic-lantern folder on the right and select Open Terminal Here

23. Type: make clean and when done make 5D3

24. It should work.  It compiled.

25. Now go back to the File Manager and open the magic-lantern folder and then the modules folder

26. Right-mouse click on each module that you want to use and select the Open Terminal Here

27. For each one do a make clean and when finished type make.

28. When done.. Go to File Manager, open magic-lantern folder and platform folder and 5D3.113 folder

29. Copy the 5D3_113.sym and the autoexec.bin files to ... USB drive.

Here I had some problems but these problems were solved in the following way.. Insert the usb drive and close the windows automatic usb recognition.  Then go to VBOX click on Devices, USB Devices, and select the USB drive inserted.  Now Vbox adds this drive to the File manager.

30. Open the USB drive shown on the File manager.  When you see the drive then proceed as follows:

31. Select the 5D3_113.sym and the autoexec.bin files, right-mouse and click on send: select the usb drive.

32. Click on magic-lantern folder (above the main window), double click on Modules.

33. Go into each module generated and copy  each xxx.mo by selecting it (right-mouse click) and sending it to the usb drive.

34. When done click on Devices, USB Devices, and on the usb drive.  This removes the drive from the Vbox.  In my system then Windows recognizes the USB drive, and then I can copy and transfer these files to the card reader.



------------------------- Solutions found --->>>>


1. Cannot empty trash..

I am not sure why this happen but I suspect it has to do with deleting files in USB stick, then removing the stick (from linux) without emptying the trash, and then deleting all files under windows including the hidden .Trash-1000 hidden file which is created by linux.

1. With VM running use Terminal and run command: sudo rm -rf ~/.local/share/Trash
2. Go to Virtualbox menu and click on Machine, ACPI Shutdown.
3. Start the same machine.
4. A new screen will appear that informs of an error press continue and the (I think) press the F to fix the error.  After a while the machine will reboot and the Trash can will have been fixed.
5. My problem is that I never shutdown the machine so the system could not fix the problems.

Conclusions:
a. If you delete files from USB stick, empty the trash before you disconnect it from Linux.
b. It is always a good idea to shutdown or reset the machine when trying to fix some of the problems.


------------------------- Solutions found --->>>>


2. How to set up Shared Folders between Windows 7 Host and my guest Ubuntu

To install the guest additions first you have to get the required files not included in the system!

1. Open Terminal
2. type the following command and hit enter:
apt-get install dkms build-essential linux-headers-generic
... this will download and install the required packages.

More questions answered here: https://forums.virtualbox.org/viewtopic.php?t=15679

3. When finished type in the terminal and hit enter
sudo sh ./VBoxLinuxAdditions.run

This will install the Guest Additions in the machine...

4. Go to Devices, Shared Folders, click on Machine folders and click on the green folder icon with a + sign.
5.Click on Folder Path, Other, and select the folder in Windows that you want to share.  Can be an entire drive if you just select the drive letter.
6. Type a simple folder name i.e shared
6. Select Automount and Make Permanent, ok
7. In the terminal now type:
sudo mount -t vboxsf name-of-folder /media

Make sure the name-of-the-folder (this is the name that you type when adding the shared folders in 5. above) has no spaces then leave a space after it and before /media
/media is the directory where the shared folder will be mounted.  Could be any other directory.

This will mount the shared windows folder to the media folder which is inside the File System.
More questions about this subject answered here: https://forums.virtualbox.org/viewtopic.php?t=15868

To remove a previously shared dir shut down the machine and remove the shared folder in the settings of the VM.  The run the VM and use rmdir sf_nameofdir command to remove it from the /media directory.

AUTO LOADING AT BOOT

The above mounting procedure (7.) will have to be repeated every time the machine is started form shutdown condition.  If you want to to auto loaded then it is necessary to add the mount command to the  file /etc/r.local with:

sudo nano /etc/rc.local  (This allows to edit the rc.local)
note: If this is the first time take out the # sign on the first line
add..
sudo mount -t vboxsf name-of-folder /media
before the last line i.e. exit 0
Ctrl+x to close
y to save
enter to write

The nano terminal should close saving the change.

Reset the machine and test it..  Make sure that the sudo command on 7. is working (shared folder is available in linux) before you add the command to the rc.local file.


------------------------- Solutions found --->>>>

3. How to add Virtual Hard Drive to VM:

Since I am still struggling to get more space added to my virtualbox, I have opted to add a second hard drive to my machines so I have the necessary space when I can process videos in linux.

This is not absolutely necessary if you use the shared folders on your windows machine to store all of your big stuff.  Additionally you can run the linux raw2dng, cr2hdr, and mlv_dump in the shared folders.
But if you still want to add a second virtual hard drive to the VM the follow these instructions.

1. Open Oracle VM Virtualbox Manager and click New
2.  Name : 50GB-HD, Type:Linux, Version:Ubuntu, Click Next
3. In Memory size just click Next
4. In Hard drive, select Create a virtual hard drive now, click Create
5. Select the VDI (VirtualBox Disk Image), click Next
6. Select Dynamically allocated, click Next
7.  With the slider change the size of the disk and click Create.
     This will put a VM-disk on the list.
8. Next step is to add this disk to our MagicLantern machine.  Select the MagicLantern VM machine.  Make sure this machine is Powered Off.  If your machine is not Powered Off: selected it, right mouse click, and select the Discard saved state icon.  Can also be done from the main menu.
9.  Click on Settings in main menu.
10. Click on Storage and the new screen will show the drives mounted on the right.
11.  Select the hard drive controller (not the disk)  where you want to add, usually the one that already has the virtual machine. 
12. Note that there are two icons right of the controller, the first one is to add a CD/DVD and the second is to add Hard Disk.  If you hoover your mouse over these icons, the description will show.  Click on the add Hard Disk plus Icon.
13. Select  Choose existing disk now navigate to the directory to where you saved the disk created in step 7.  In my machine this is stored in C:\Users\RE\VirtualBox VMs\10gb-hd.  There will be a .vdi file with the name of the hard drive form step 2. ie 50GB-HD.  Click Open.
14. The new HD is added to the machine and it is automatically assigned to the controller. Click OK and now Click on Start in the main menu.
The new drive is added to the machine but it needs to be formatted.
15. First we need to confirm that the HD has been added and where it is located.
   Open Terminal and type: sudo fdisk -l  <<-- is a minus (L) no-caps
You will need to enter the password for magiclantern: 123456
16. This will bring up the disk and partitions detail of the machine:
--------------------------
Disk /dev/sda: 21.0 GB, 20971520000 bytes
255 heads, 63 sectors/track, 2549 cylinders, total 40960000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6f22

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12582911     6290432   83  Linux
/dev/sda2        14682102    18872311     2095105    5  Extended
/dev/sda5        14682104    18872311     2095104   82  Linux swap / Solaris

Disk /dev/sdb: 54.8 GB, 54766731264 bytes
255 heads, 63 sectors/track, 6658 cylinders, total 106966272 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
--------------------------------
Notice the last line:
Disk /dev/sdb doesn't contain a valid partition table

This is the new disk that has installed but does not have a partition, the disk is installed in the directory /dev and the name is sdb i.e.  /dev/sdb

17. In Terminal and type:
mkfs -t ext3 /dev/sdb   (In your case type whatever the fdisk command showed for the dirve on the last line.)
18. After the password the terminal will ask you that /dev/sdb is enire device, not just one partition!
Proceed anyway (y,n)
Type y
now ...the drive will be formated for you
When done the drive will appear on the desktop and in the file system
19. to confirm installation right-mouse click on the new drive and open.  It should automatically mount and open.
20.  Notice that you cannot copy or paste any files to this disk....  As a windows user I want total access to this drive so I will change! the read write permissions to this drive.  I thought this would be easy but noooooo!!!  This is linux.. everything is hard.. get used to it.  I tried so many things but nothing worked until I installed this nautilus utility.
21. Open Terminal type: sudo apt-get install nautilus
22. I dont remember all of the details about the installation but when done reset your machine, open terminal and type:
sudo gksu nautilus
23. Navegate to the /media folder in the file system
24. Right click on the drive and open Properties
25. Under the Permissions tab change permissions to read/write
25. Same place change the owner and group to MagicLantern and magiclanter respectively.  These should be selectable from drop down menu.
26. Click Apply permissions to enclosed folders.
27.  Whala!  check your new drive by creating a new folder o copying something to it.

This drive will act as a External drive to any VM machine.  So if you want to add this HD to another VM just do steps 8. through 14.
Title: Re: Help with VirtualBox 5D3
Post by: John Kesl on August 09, 2013, 07:32:30 PM
nevermind. I see you know of pelicans post.
But, I ask if you also downloaded the .par2 files with the .zip. (off of nanomod.magiclantern.fm ) They're parity files and they make up for any lost bits. I tried to install my virtual machine the first time without having had those files and the install was a little buggy. it would freeze up and such. As far as the shared folder, make the shared machine folder in the VBox's VM settings.
then once you've set up the folder you want to share. Run the VM and open terminal type, sudo mount -t vboxsf  ~/Desktop$ the folder should appear on your desktop.
But, I gotta tell you, your post, that's a great tutorial in using the VM. If it was that plainly laid out I'm sure more people would be compiling their own code.
Title: Re: Help with VirtualBox 5D3
Post by: Pelican on August 12, 2013, 02:51:44 PM
Is there any advance over cygwin?
Title: Re: Help with VirtualBox 5D3
Post by: RenatoPhoto on August 12, 2013, 03:04:42 PM
I gave up compiling with cygwin because my camera had a problem that was fixed when I used a compile done in VM.  I dont know what happen but I stopped trusting the cygwin compile, too many bugs.
edit: VM is not easy that is why I am adding all of this stuff that I struggle for days to solve by-myself.
Title: Re: Help with VirtualBox 5D3
Post by: Pelican on August 12, 2013, 04:00:22 PM
I'm fine with it. No bugs here.
Title: Re: Help with VirtualBox 5D3
Post by: RenatoPhoto on August 14, 2013, 05:28:33 AM
------------------------- Solutions found --->>>>

4. How to resize the VirtualBox HD.

Read the example below, it gives you some preliminary idea of what we are going to do, but it is not 100% compatible.  Have a quick look:

http://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox-or-vmware/

Now to our changes...

First make a clone of the machine that you are going to change.  The clone will have the xxx-clone.vdi  file and you can work with that file.  Do not work on the original file in the case that something goes wrong.

The .vdi files are stored in my machine (Windows 7 -64 bit) here C:\Users\RE\VirtualBox VMs

In my case the machine that I am working was created from the MagicLantern.vdi  that I downloaded from Nanomads box.  You can do this process to the original file or to your updated file as long as it is in the .vdi format.

1. Download a little tool (CloneVDI) which makes this easier.  You can explore the command line option if you like but the tool is easier.  Here is the VirtualBox forum where this tool is discussed here:  https://forums.virtualbox.org/viewtopic.php?t=22422

2. Download the tool here: https://forums.virtualbox.org/download/file.php?id=7579&sid=21c43d0d5cbec78dd968632194b799b0
Unzip it and double click on the CloneVDI.exe file. 

3. In Source: Browse for the MagicLantern.vdi file, selected and click Open

4. In Destination: Browse for a new destination, selected and click Save.  The new file name adds a -clone at the end.  ie MagicLnatern-clone.vdi

5. Now select the Options:
    * Generate new UUID
    * Increase virtual drive size to, and enter the drive size.  In my case 50 GB
   *  Increase partition size.  This only works automatically on some hard drive drive formats but choose it anyway.
Click on Proceed!  When done in Exit.

Under some file system this is all you need to do so open your new machine and check to see if you have more space in your drive... probably not!  You can do this by opening the File System and you should see the free space near the bottom.  In my machine now it shows Free space: 2.8 GB, this is the original ML machine.

So if you did not get the extra space yet we need to do another step.

Option: The MagicLantern virtual box comes with a swap file, this file can be removed if you wish.  The Linux-Swap file is not necessary, but some people added for speed, although some say that it is not needed.  In any case if you want the swap file leave there.  The write-up was done with the swap file removed.

6. If your system is 64 bit download gparted-live-0.16.1-4-i686-pae.iso
Here:  http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.16.1-1/gparted-live-0.16.1-1-i686-pae.iso/download

6a. If your system is 32 bit system download gparted-live-0.16.1-1-i486.iso
here: http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.16.1-1/gparted-live-0.16.1-1-i486.iso/download

7. Open VirtualBox Manager

8. Select the machine you want to change and click Settings. Make sure this machine is in the Power off state.

9. Click on Storage and then click on the IDE controller.

10. Click on the first disk icon (CD/DVD) with the green plus sign.

11. In the dialog box select Choose Disk and then select the recently downloaded  gparted-live-xxxx.iso file from step 1.  Click on open.

12. Now this iso file is mounted as a boot CD/DVD device.  Click OK to mount.

13. Run the machine, press enter to select GParted Live (Default), I get some message about 24 bit color which I ignore.

14. When you reach "Dont touch keymap" press enter, now Language: press enter, Which mode do you prefer (0): press enter.  You can change the language, or mode if you wish.

Gparted should be running and the virtual hard drive is mapped.  The partition on the left (yellow and white) is the operating system and should be 6 GiB. Then there is a 43 GiB unallocated (gray) partition which we just added, and then the swap file 2GiB at the end with a blue and brown box.

15. If you want to keep the swap file then jump to step 17.

15a. Right-mouse click on the 2GiB swap file (green and brown box) and click on Delete.  Now it should turn gray color and say Unallocated 2.00 GiB

16. Look below the colored partitions there is a line-by-line descriptions of the partitions on the hard drive.   The first one is the Operating system at 6.00 GiB.  The second is the unallocated 43Gib, the third is an extended partition where the swap file partition was mounted.  In my system shows as /dev/sda2.  Right-mouse click and Delete this 2 Gib partition.

Now there is only one partition, where there are 44 Gib of unallocated space.

17. Now go up to operating system partition and right-mouse click.  Select the Resize/Move Option.  On the new screen click on the right black-arrow and drag it all the way to the right.  Now this partition should grow to its Maximum size.

18. Click again on the bottom right to Resize/Move. Now the operating system uses the full  50GiB.  (48 GiB if you left the swap file)

19. If you are happy with the results click on Apply which is a green check mark above the partition.  Apply again!

20. Now go to the top VirtualBox menu and click on Machine, Close, and select Power Off option.

21. Click on Settings for the machine, go to Storage, select the gparted-liv.xxx (under the Controller: IDE
Click on the (-) minus red sign near the bottom right side of the Storage Tree.  This should remove the .iso file.  Click OK

22. Start the machine.  Open the file System and you should see more file space near the bottom.  In my machine now it shows Free space: 47 GB.  If you did not delete the swap file you will have 45GB.
Title: Re: Help with VirtualBox 5D3
Post by: Marsu42 on August 25, 2013, 12:03:24 PM
Quote from: RenatoPhoto on August 12, 2013, 03:04:42 PM
I gave up compiling with cygwin because my camera had a problem that was fixed when I used a compile done in VM.

What was the specific error you encountered? Cygwin is actively developed, and I wonder what can go wrong at all since ml really just needs the arm compiler (a windows mingw gcc exe that has nothing to do with cygwin) and a couple of tools like make & mercurial.

Otherwise cygwin or msys/mingw (which I personally use) imho is easier for Windows, there even could be a "one click" package: http://www.magiclantern.fm/forum/index.php?topic=991.msg69890#msg69890
Title: Re: Help with VirtualBox 5D3
Post by: RenatoPhoto on August 25, 2013, 11:45:03 PM
Quote from: Marsu42 on August 25, 2013, 12:03:24 PM
What was the specific error you encountered? /index.php?topic=991.msg69890#msg69890

First there were many compilations errors that I could not fix.  Probably all of those errors have been corrected by now.
Second I had a bug which I reported but it could not be repeated by alex1.  After I used one of the compiles from Lourenco for 5D3 then the problem went away.
I remember that had something to do with selecting CF card as default and then the modules would not work...
Since Lourenco was providing the builds for a while I just stopped compiling myself.
I went on a trip and now I am back and finally had time to figure out all this stuff with VMmachine.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: RenatoPhoto on September 20, 2013, 03:53:24 AM
"Make Install" update for compiling in VM machine.

Today I used the "make install" command to build the entire ML file structure and experienced some problems. 

To use this command you should mount the USB card reader with the card where you want the files installed.
In the VM you go to Devices, and USB Devices, and now you should see the card reader listed.
Click on the card reader and the card will be automatically mounted to the file system.  It will probably show up in the desktop, and file manager as EOS_DIGITAL.
Also the mounting process will bring this to the /media root directory in the file system

The make install command can be done in the platform for which the build is required.  Inside the magiclantern folder there is a platform folder and inside it is the 5D3.113 sub-folder. 

Right click on the 5D3.113 folder and select Open Terminal Here.
Type: make install
The process should build automatically all of the required files and copy them to the card.

All of this seem to work properly but when I ran the make install command I received the following error:

cp ../modules/*/*.mo "/media/EOS_DIGITAL/"/ML/modules/ || echo "no problem"
make[1]: Leaving directory `/home/magiclantern/magic-lantern/modules'
umount "/media/EOS_DIGITAL/"
umount: /media/EOS_DIGITAL is not mounted (according to mtab)
make: *** [install] Error 2

In the compiling log (before the error) it appeared that all of the files had been copied (|| echo "no problem") but when I looked for the files in the card reader I could not find them!

After much wasted time I found that the files where being built in the filesystem directory: /media/EOS_DIGITAL   but the files were not ending up in the card reader.

I had permanently mounted one of my windows drives to the /media, so the Linux system (my assumption since I am not a programmer) just created the sub-directory and built the file structure in the /media directory.  The unmount error hopefully will not screw up my windows mounted drive.  So for now the files go to my windows drive and I can install them from there.


Title: Re: Quick Guide and Solutions for VirtualBox
Post by: a1ex on September 20, 2013, 08:04:58 AM
What about "make zip" and then copy manually?
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: brapodam on September 20, 2013, 11:22:12 AM
When I do a "make clean" (after hg update), I get this garbage

magiclantern@magiclantern-VirtualBox:~/magic-lantern$ make clean
make -C platform clean
make[1]: Entering directory `/home/magiclantern/magic-lantern/platform'
make -C all clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/all'
[ RM ]  autoexec-all autoexec-all.bin
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/all'
make -C  ../platform/40D.111 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/40D.111'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/40D.111'
make -C  ../platform/50D.109 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/50D.109'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/50D.109'
make -C  ../platform/5D2.212 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/5D2.212'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/5D2.212'
make -C  ../platform/5DC.111 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/5DC.111'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/5DC.111'
make -C  ../platform/60D.111 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/60D.111'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/60D.111'
make -C  ../platform/7D.203 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/7D.203'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/7D.203'
make -C  ../platform/1100D.105 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/1100D.105'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/1100D.105'
make -C  ../platform/500D.111 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/500D.111'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/500D.111'
make -C  ../platform/550D.109 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/550D.109'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/550D.109'
make -C  ../platform/5D3.113 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/5D3.113'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/5D3.113'
make -C  ../platform/600D.102 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/600D.102'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/600D.102'
make -C  ../platform/650D.104 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/650D.104'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/650D.104'
make -C  ../platform/6D.113 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/6D.113'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/6D.113'
make -C  ../platform/7D_MASTER.203 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/7D_MASTER.203'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/7D_MASTER.203'
make -C  ../platform/EOSM.106 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/EOSM.106'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/EOSM.106'
make -C  ../platform/700D.111 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/700D.111'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/700D.111'
make -C  ../platform/100D.100 clean
make[2]: Entering directory `/home/magiclantern/magic-lantern/platform/100D.100'
[ RM ]  *.o *.d autoexec autoexec.bin magiclantern magiclantern.bin
[ RM ]  magiclantern.bin autoexec autoexec.map location.map
[ RM ]  autoexec-fir autoexec-fir.bin
[ RM ]  magiclantern.lds
[ RM ]  newlib-libc.a lib_a-setjmp.o lib_a-memcpy.o lib_a-memcpy-stub.o lib_a-memccpy.o lib_a-memset.o  dietlibc.a
[ RM ]  version.c version.bin
[ RM dir ]  zip
[ RM ]  *.zip
make[2]: Leaving directory `/home/magiclantern/magic-lantern/platform/100D.100'
make[1]: Leaving directory `/home/magiclantern/magic-lantern/platform'
[ RM dir ]  doxygen-doc
[ RM ]  magiclantern.lds /home/magiclantern/magic-lantern/lua/*.o /home/magiclantern/magic-lantern/lua/.*.d /home/magiclantern/magic-lantern/lua/liblua.a doc/Cropmarks550D.png doc/credits.tex doc/install-body.tex doc/install.wiki doc/menuindex.txt src/menuindexentries.h doc/userguide.rst doc/INSTALL.aux doc/INSTALL.log doc/INSTALL.out doc/INSTALL.pdf doc/INSTALL.rst doc/INSTALL.tex doc/INSTALL.toc doc/UserGuide-cam.aux doc/UserGuide-cam.log doc/UserGuide-cam.out doc/UserGuide-cam.pdf doc/UserGuide-cam.tex doc/UserGuide.aux doc/UserGuide.log doc/UserGuide.out doc/UserGuide.pdf doc/UserGuide.tex doc/UserGuide.toc *.pdf platform/*/qemu-helper.bin
[ RM dir ]  doc/cam
[ RM dir ]  binaries


I've also tried "make all clean", but I get another bunch of errors
magiclantern@magiclantern-VirtualBox:~/magic-lantern$ make all clean
make -C  /home/magiclantern/magic-lantern/platform/60D.111
make[1]: Entering directory `/home/magiclantern/magic-lantern/platform/60D.111'
[ VERSION  ]   ../../platform/60D.111/version.bin
[ CPP      ]   magiclantern.lds
[ AS       ]   ../../platform/60D.111/stubs.o
[ VERSION  ]   ../../platform/60D.111/version.c
[ CC       ]   version.o
[ CC       ]   boot-hack.o
../../src/boot-hack.c:51:16: warning: '_reloc' defined but not used [-Wunused-variable]
[ CC       ]   mem.o
[ CC       ]   ico.o
[ CC       ]   edmac.o
[ CC       ]   menu.o
[ CC       ]   debug.o
[ CC       ]   cfn.o
[ CC       ]   gui.o
[ CC       ]   picstyle-noauto.o
[ CC       ]   exmem.o
[ CC       ]   bmp.o
[ CC       ]   rbf_font.o
[ CC       ]   config.o
[ CC       ]   stdio.o
[ CC       ]   bitrate.o
../../src/bitrate.c: In function 'time_indicator_show':
../../src/bitrate.c:376:61: warning: signed and unsigned type in conditional expression [-Wsign-compare]
[ CC       ]   lcdsensor.o
[ CC       ]   tweaks.o
../../src/tweaks.c:3643:21: warning: initialization discards 'volatile' qualifier from pointer target type [enabled by default]
[ CC       ]   lens.o
[ CC       ]   property.o
[ CC       ]   propvalues.o
[ CC       ]   gui-common.o
[ CC       ]   chdk-gui_draw.o
[ CC       ]   movtweaks.o
[ CC       ]   menuhelp.o
[ MENU IDX ]   ../../src/menuindexentries.h

No menuindex.txt! The "Complete user guide" menu is empty!
Run make docq to update menuindex.txt.

[ CC       ]   menuindex.o
[ CC       ]   af_patterns.o
[ CC       ]   focus.o
[ CC       ]   notify_box.o
[ CC       ]   bootflags.o
[ CC       ]   dialog_test.o
[ CC       ]   vram.o
../../src/vram.c: In function 'vram_redirect_lv_buffer':
../../src/vram.c:581:35: warning: assignment makes integer from pointer without a cast [enabled by default]
[ CC       ]   aj_port.o
[ CC       ]   fps-engio.o
[ CC       ]   shoot.o
../../src/shoot.c:464:60: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/shoot.c:464:1: error: initializer element is not constant
../../src/shoot.c:466:53: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/shoot.c:466:1: error: initializer element is not constant
make[1]: *** [shoot.o] Error 1
make[1]: Leaving directory `/home/magiclantern/magic-lantern/platform/60D.111'
make: *** [60D] Error 2


What am I doing wrong? I didn't have this problem previously (like a 1 or 2 months back), but now whenever I try to compile, it doesn't work.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: a1ex on September 20, 2013, 11:34:34 AM
And where's the error?!
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: brapodam on September 20, 2013, 11:38:49 AM
Quote from: a1ex on September 20, 2013, 11:34:34 AM
And where's the error?!
afaik it used to show CC instead of RM? I'm not sure. Either way, if I just ignore and continue, I still get this when I do "make 60D"
magiclantern@magiclantern-VirtualBox:~/magic-lantern$ make 60D
make -C  /home/magiclantern/magic-lantern/platform/60D.111
make[1]: Entering directory `/home/magiclantern/magic-lantern/platform/60D.111'
[ VERSION  ]   ../../platform/60D.111/version.bin
~/arm-toolchain/bin/arm-none-eabi-gcc-4.7.3    -c -o ../../src/entry.o ../../src/entry.S
[ AS       ]   ../../platform/60D.111/stubs.o
[ VERSION  ]   ../../platform/60D.111/version.c
[ CC       ]   version.o
[ CC       ]   boot-hack.o
../../src/boot-hack.c:51:16: warning: '_reloc' defined but not used [-Wunused-variable]
[ CC       ]   mem.o
[ CC       ]   ico.o
[ CC       ]   edmac.o
[ CC       ]   menu.o
[ CC       ]   debug.o
[ CC       ]   cfn.o
[ CC       ]   gui.o
[ CC       ]   picstyle-noauto.o
[ CC       ]   exmem.o
[ CC       ]   bmp.o
[ CC       ]   rbf_font.o
[ CC       ]   config.o
[ CC       ]   stdio.o
[ CC       ]   bitrate.o
../../src/bitrate.c: In function 'time_indicator_show':
../../src/bitrate.c:376:61: warning: signed and unsigned type in conditional expression [-Wsign-compare]
[ CC       ]   lcdsensor.o
[ CC       ]   tweaks.o
../../src/tweaks.c:3643:21: warning: initialization discards 'volatile' qualifier from pointer target type [enabled by default]
[ CC       ]   lens.o
[ CC       ]   property.o
[ CC       ]   propvalues.o
[ CC       ]   gui-common.o
[ CC       ]   chdk-gui_draw.o
[ CC       ]   movtweaks.o
[ CC       ]   menuhelp.o
[ MENU IDX ]   ../../src/menuindexentries.h

No menuindex.txt! The "Complete user guide" menu is empty!
Run make docq to update menuindex.txt.

[ CC       ]   menuindex.o
[ CC       ]   af_patterns.o
[ CC       ]   focus.o
[ CC       ]   notify_box.o
[ CC       ]   bootflags.o
[ CC       ]   dialog_test.o
[ CC       ]   vram.o
../../src/vram.c: In function 'vram_redirect_lv_buffer':
../../src/vram.c:581:35: warning: assignment makes integer from pointer without a cast [enabled by default]
[ CC       ]   aj_port.o
[ CC       ]   fps-engio.o
[ CC       ]   shoot.o
../../src/shoot.c:464:60: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/shoot.c:464:1: error: initializer element is not constant
../../src/shoot.c:466:53: warning: initialization makes pointer from integer without a cast [enabled by default]
../../src/shoot.c:466:1: error: initializer element is not constant
make[1]: *** [shoot.o] Error 1
make[1]: Leaving directory `/home/magiclantern/magic-lantern/platform/60D.111'
make: *** [60D] Error 2


After which if I try to "make clean" and "make" any module, it gives me
magiclantern@magiclantern-VirtualBox:~/magic-lantern/modules/autoexpo$ make clean
[ RM ]  autoexpo.o autoexpo.mo autoexpo.sym autoexpo.dep module_strings.h *.o *.d *.bmp *.dep *.sym hgstamp
magiclantern@magiclantern-VirtualBox:~/magic-lantern/modules/autoexpo$ make
[ README   ]   module_strings.h
[ CC       ]   autoexpo.o
[ MODULE   ]   autoexpo.mo
[ STRIP    ]   autoexpo.mo
[ EXPORTS  ]   autoexpo.sym
[ DEPENDS  ]   autoexpo.dep
Not checked (compile ML for these cameras first):
    100D, 1100D, 40D, 500D, 50D, 550D, 5D2, 5D3, 5DC, 600D, 60D, 650D, 6D, 700D, 7D, EOSM
make: *** [autoexpo.dep] Error 1
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: a1ex on September 20, 2013, 11:59:07 AM
What gcc version?
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: Andy600 on September 20, 2013, 12:45:48 PM
@a1ex - quick question.

I compile a fork of 1%'s Tragic Lantern which is itself a fork of Magic Lantern. How do I merge a specific commit from the Magic Lantern repo with my fork without 1% first merging the changes to his repo as it crosses branches?
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: a1ex on September 20, 2013, 12:55:12 PM
I don't know, tried to do the same with the fonts fork (mine was a fork of g3gg0's) and ended up commiting directly to g3gg0's fork.

You can transplant individual changesets, but I guess it's not exactly what you want.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: Andy600 on September 20, 2013, 12:59:42 PM
Thanks a1ex :)

Good to know it's not just me with that issue ;D

I usually copy changesets manually when I need to so I'll keep doing that.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: RenatoPhoto on September 20, 2013, 01:53:35 PM
Quote from: a1ex on September 20, 2013, 08:04:58 AM
What about "make zip" and then copy manually?
Thanks Alex,
make zip works beautifully and puts the zip file in the platform directory such as /magic-lantern/paltform/5D3.113
File name is magiclantern-v2.3.NEXT.2013Sep20.5D3113.zip
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: chris_overseas on September 20, 2013, 03:40:43 PM
Quote from: RenatoPhoto on September 20, 2013, 01:53:35 PM
Thanks Alex,
make zip works beautifully and puts the zip file in the platform directory such as /magic-lantern/paltform/5D3.113
File name is magiclantern-v2.3.NEXT.2013Sep20.5D3113.zip

On my Desktop PC I run Windows and build ML in a VM. What I do is have Dropbox installed in Windows and share the Dropbox folder with the VM. My build script basically calls hg pull, hg update, make etc. On success it copies the output to the Dropbox folder. I then just copy ML across to SD card at my leisure from within Windows (done via a batch file, whenever I get around to inserting the SD card). The interesting part however is I can also trigger my build script remotely. Once the build is complete it automatically syncs across to my laptop via Dropbox. Great for when I'm out in the field and want to grab a current build without having a VM eat all the laptop's resources.

Possibly a bit of a niche use-case but hopefully someone will find the above useful.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: brapodam on September 20, 2013, 03:42:50 PM
Quote from: a1ex on September 20, 2013, 11:59:07 AM
What gcc version?
I'm using 4.7.3
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: meditant on November 05, 2013, 04:02:49 PM
Hello

What is the admin password it ask me wen i want install french language

Regards
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: vertigopix on November 05, 2013, 04:23:32 PM
123456  ;-)
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: meditant on November 05, 2013, 07:15:24 PM
Thanks ;-)
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: engardeknave on November 09, 2013, 10:10:50 AM
This has been very helpful. Just compiled auto_dof.mo. Entirely hard coded, but does what I need.
Title: .fir file from Source
Post by: Can0nUser on February 03, 2014, 06:11:56 PM
Hi Guys,
I'm quite new to ML Dev and wanted to make a .fir file from the source code.. I use the pre configured VM Box on a Mac after I failed installing the toolchain on Ubuntu Server.. So now.. I compiled the code for 5D3.123 and I got the autoexec.bin file. But how do I get the .fir file with bootflag for 5D3.123? Any Tip would help!

Update: Works!
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: wes on February 15, 2014, 05:29:56 AM
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!
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: ayshih on February 15, 2014, 06:44:27 AM
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:
      GCC_VERSION=-4.7.3
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.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: 006fazer on March 13, 2014, 11:01:17 AM
Hi,

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]]
[[Cropmarks]]
[[External Recorders]]
[[Unbricking]]
[[install]]
[[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
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: bischofftep on April 22, 2014, 03:21:14 PM
Check this post:
http://www.magiclantern.fm/forum/index.php?topic=9517.msg110966#msg110966
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: Audionut on April 22, 2014, 05:18:28 PM
And this one (http://www.magiclantern.fm/forum/index.php?topic=11278.msg109871#msg109871).

I installed python-docutils through the Ubuntu software software center.
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: SpcCb on August 16, 2014, 03:44:11 PM
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.

Informations:
-> 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/
Title: Re: Quick Guide and Solutions for VirtualBox
Post by: nikfreak on December 05, 2014, 09:09:15 AM
I have prepared an easy to use virtual machine based on "Ubuntu Mate 14.04 LTS (https://wiki.ubuntu.com/LTS)".

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

ARM Console is preinstalled (http://magiclantern.wikia.com/wiki/GPL_Tools/ARM_console). 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 (http://magiclantern.wikia.com/wiki/GPL_Tools/ARM_console) 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 (https://bitbucket.org/hudson/magic-lantern/src)" 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)
https://drive.google.com/file/d/0B9Mu66yg5QzROTdILWhlV00yY0E/view?usp=sharing
https://drive.google.com/file/d/0B9Mu66yg5QzRc0lvMk1KeWdFVkE/view?usp=sharing
https://drive.google.com/file/d/0B9Mu66yg5QzRWlJQTFd1dXFsSXc/view?usp=sharing
https://drive.google.com/file/d/0B9Mu66yg5QzRcW9saS05YmpRQ3M/view?usp=sharing

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.