Товарищ умудрился развести@запилить IP камеру на GM8126 (Grain media), подкинул мне на предмет покопать прошивку сварганить. Делюсь с толксами первым трип-репорт^W^Wэкскурсией в недры этой содомии.
- armv5te. Для сравнительно свежего чипа.
- Ядро 2.6.28. Стабильно и надежно, разлагается и воняет. Nuff said. И это для девайсов которые бай дизайн будут торчать в сетях в том числе корпоративных, и для которого наверняка дыр известно больше, чем есть в решете.
- Модуль сенсора (слава яйцам, что v4l, а не «нестандартное техническое решение» (tm) ) содержит компайл-тайм конфиг, который скриптом потом передается мейком препроцессорными директивами. Причем это такие опции как HFLIP/VFLIP. module parameters? Рантайм конфиг? Нет, не слышали.
- В модуль h264 кодера заглядывать боюсь. Там утенок. Туалентый. Актииивный.
- Ни ядро, ни модули, ни юзерспейс не собираются свежими версиями GNU/Make. Хрошо откопал машинку с каким-то старым дебианом, с матами и кровавым патчингом собрал.
- Собранное добро зашить через линукс по усб нельзя. Только виндовой утилитой, которая связывается по usb с тем, что работает в OTP чипа. Судя по тому, что оно определяется как USB Mass storage, только без накопителя, скорее всего оно работает кастомными scsi запросами, как stlinkv1. Но не факт.
Говнистость кода местами достигает 0.9-1.2 реалтеков. И судя по BSP для других чипов под IP камеры, это еще не худший случай. Одел костюм химзащиты, взял монтировку, запасся цинизмом, продолжаю раскопки.