I always wondered why no one attempted to do something like this.
I would love to, if I were familiar with the hardware and with OSes.
Check this out: http://www.linuxdevices.com/news/NS2881537833.htmlSony has released the Linux kernel for their digital cameras, and since they use a similar CPU and hardware.
No, if you were more familiar, you wouldn't wondering why no one had tried it, because you'd have some idea of the amount of work involved.
The hardware is not "similar" in any useful sense. If you were going to replace the canon firmware instead of just hooking it like CHDK does, you'd have to reverse engineer the entire firmware and write drivers for all that completely undocumented hardware. This is far more work than everything that has been done in CHDK to date. If you wanted to support multiple cameras, you'd have to do a large part of it for each one, because canon changes their hardware. Digital cameras are much more complicated than MP3 players. Unlike MP3 players, much of the competition revolves around the unique, proprietary hardware.
Furthermore, because of RAM limitations you'd have to write your firmware to onboard flash, which would likely result in a few bricked cameras before you got it right. You'd also have to implement all the canon functionality to get useful behavior. Then there's interfacing with the DSP side of digic, which is basically a black box at this point.
People ported Linux on devices much harder to port to. Of course it is hard, but that's not a reason to not do it.
I am thinking in small steps. First get the camera to boot Linux and be able to use the SD i/o stuff, and print things on the screen. Then do the camera specific stuff.
As we were discussing earlier, the ram is NOT a limitation, the minimum amount seems to be 32MB of RAM, and that's more than enough space for Linux. Only about 15 MB of memory is actually needed for RAW/JPG stuff (you don't need a buffer for the whole JPG image).
If you just wanted to hack on something for the sake of it, sure, knock yourself out. It would be nifty to see a scratch built OS on your camera. Instead, you seem to be saying someone else should do it, without any grasp of the effort required.
So ? To actually get something that is usable as a camera, you need to do all the camera specific stuff. To have a camera that is as functional as a stock canon camera you to do much more. If you invested the same effort in improving CHDK, it could be very slick. Instead of duplicating the many man-years of programmer time canon has put into their firmware, you can take advantage of it.
You are making unwarranted assumptions here.
Started by NewbieToobie
General Discussion and Assistance