Хакерская группа Magic Lantern смогла установить ядро Linux 3.19 на популярные цифровые камеры серии Canon EOS. Хотя сообщение на форуме опубликовано 1 апреля, но это не розыгрыш, Linux действительно работает.
Ребята давно экспериментируют с этими цифровыми фотоаппаратами, раньше они смогли получить доступ к дисплею из загрузчика. Тогда выяснилось, какой процессор установлен в камере (ARM 946E-S), сколько памяти доступно для работы (256/512 МБ, в зависимости от модели) и как выводить картинку на дисплей, как работать со счётчиками/таймерами и прерываниями и как считывать данные с флэш-карты SD в некоторых моделях (600D и 5D3). Были мысли, как обрабатывать события нажатий на разные кнопки фотоаппарата, так что сейчас пришло время для выхода на новый уровень.
Опубликованный бинарник с кодом ядра Linux 3.19 должен загружаться на всех ML-камерах. Он проверен на 60D, 600D, 7D, 5D2 и 5D3. Ядро получает доступ ко всей доступной памяти, отправляет сообщения на экран, устанавливает прерывания для назначения запуска задач, монтирует ramdisk на 8 МБ с файловой системой ext2fs, запускает /bin/init из initrd и выводит “heelo world”.
Сейчас хакеры работают над реализацией пользовательского окружения, чтобы загружать GUI и прочее из userspace.
Видео: https://www.youtube.com/watch?v=IcBEG-g5cJg
Скачать: autoexec.bin
Исходный код: https://bitbucket.org/hudson/magic-lantern/branch/linux-bootloader