What is the goal with running Linux on the Canon DSLR? Is this to lead towards completely custom firmware for the camera? or just to say my camera can run Linux? I just wondering if there is going to be a real useful reason to have Linux on the camera.
Does it really have to be a goal? Some people tend to forget that we are doing all this for fun.
The biggest immediate gain for us is a deeper understanding of camera internals (for now: interrupts, timers, MPU communication, bootloader routines, and portable code that runs on all cameras).
At some point, we hope to be able to intercept buttons (which requires a good understanding of MPU communication). We might be able to drive the sensor and take a picture as well, but I wouldn't bet on it (it may take anywhere between a few weeks and several years, and I wouldn't call it "the goal"). A related quest is to emulate the entire Canon firmware in
QEMU - again, with no immediate benefit for regular users.
MPU communication is quite useful - there have been some feature requests about changing focus or aperture during a long exposure. If there's a way to do it, that would be via MPU.
About direct sensor access: we can already do whatever we want with it from playback mode, because Canon code does not use the sensor there. No need to run a custom OS for that. But since we don't know how to drive the sensor, we have no feature that makes use of this yet.
We also hope to attract more developers to the project. By running a separate OS, the risks of soft-bricking your camera with bad code are much lower than with a user task running on top of Canon firmware. Why? because Canon code saves settings periodically, by reflashing the ROM. Since we have no MMU, a out-of-range write (or invalid pointer) and some bad luck can be enough to cause Canon code to write gibberish in their settings area. Just ask @chris_overseas what happened with his 5D3 recently.
@kitor: keep an eye on the
display thread, I'll build a binary for that first. The display code did not work on 5D classic (also a VxWorks camera), so...