Linux on your Canon DSLR? Why not?

Started by a1ex, April 01, 2015, 08:00:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

We, the Magic Lantern Team, are very proud to present you a new milestone in DSLR customization!

LINUX ON CANON EOS CAMERAS!

(edit: after playing a game, making it look like an April's fool, we can ensure: this is not a fake!)

Starting from our recent discovery about display access from bootloader, we thought, hey, we could now have full control of the resources from this embedded computer. At this stage, we knew what kind of ARM processor we have (ARM 946E-S), how much RAM we have (256MB/512MB depending on the model), how to print things on the display (portable code), how to handle timers and interrupts, how to do low-level SD card access on select models (600D and 5D3), and had a rough idea where to start looking for button events.

So, why not trying to run a different operating system?

We took the latest Linux kernel (3.19) and did the first steps to port it. As we have nearly zero experience with kernel development, we didn't get too far, but we can present a proof of concept implementation that...

...boots the Linux kernel 3.19 on Canon EOS DSLR cameras!
- it is portable, the same binary runs on all ML-enabled cameras (confirmed for 60D, 600D, 7D, 5D2 and 5D3)
- allocates all available RAM
- prints debug messages on the camera screen
- sets up timer interrupts for scheduling
- mounts a 8 MiB ext2fs initial ramdisk
- starts /bin/init from the initrd
- this init process is a selfcontained, libc-less hello world
- next step: build userspace binaries (GUI, etc)

Demo video:


Download: autoexec.bin

Source code (WIP): https://bitbucket.org/hudson/magic-lantern/branch/linux-bootloader

We hope this proof of concept will encourage you to tinker more with your new embedded computer. Maybe you want to run Angry Birds on it, or maybe Gimp? :)

Enjoy!



Audionut

This opens up so many possibilities.  Just wow!

DeafEyeJedi

Definitely another pipe dream coming true for many!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

edilson

I've just notice that I haven't had an properly account yet --
anyway ... just had to comment this great new, it's amazing! Thanks for share ;)
:D :D
ML on 500D.111 (Other cameras: 5D3 - 6D - 50D)
My photography channel is 'Sobre Foto': YouTubeInstagram  Facebook - Twitter

rbrune


vroem

If this is as true as you seem to imply on Twitter, you sure chose a great day to announce it!

edilson

hahaha
yes ... inopportune day to announce
ML on 500D.111 (Other cameras: 5D3 - 6D - 50D)
My photography channel is 'Sobre Foto': YouTubeInstagram  Facebook - Twitter

rbrune

If it is real: how much do we know about the usb interface chip?
It would be great to get something like adb working to have an interactive shell.

Walter Schulz


Danne

Awesome. Now we can run exiftool straight in the cam  :P

ItsMeLenny

It's quite easy to tell that this whole video is computer generated.
And if you read closely what is written on the SD card it says "April Fools".

a1ex


nitrosito

WOW! Congrulations! This is big!

Excelent notice

thearczoro

Camera: Canon 500D
FW: 1.1.1
ML: Nightly (4 October 2017)

insippo

great. I can use facebook with my d600

tob


g3gg0

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Walter Schulz


g3gg0

we had enough fun seeing responses that were somewhere between "AMAZING!" and "haa, haa...."

so.. enjoy the demo. we had fun with creating it :)
you will be the first ones who boot linux on their DSLR.
and i hope there will be some more soon :)



we updated the first post, check it
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Walter Schulz

Ok, I tried it on 7D and had Linux running and my first kernel panic on DSLR.




g3gg0

see, you are one of the first people ever having a kernel panic on the 7D.
very few people can tell this :)

the kernel panic is due to my hackish "init" process, that only prints a "hello world", exiting back to kernel.
thats a good thing.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Walter Schulz

Yes, first person officially reporting 7D with kernel panic!
And 650D, too.

Not that much Endorphin released, though!

On second thought: This is pretty much "Alice's Adventures in Wonderland" opening the door after falling down the rabbit hole. I cannot imagine all the options ...

Greg


rbrune

EOS-M also seems to boot it.

Is there already a git/hg for kernel/initrd/userspace set up?

nikfreak

pranked by BSOD but this autoexec doesn't even power on 70D.
[size=8pt]70D.112 & 100D.101[/size]