Добрый день, cazcap.
Очень уважаю Вас за помощь на форуме, но тут вы не правы.
Исходники, которые доступны на kernel.org с вероятностью 95% не заведутся на ПЛК. Они работают с весьма ограниченным числом плат, а если и запускаются на плате, то поддерживают не всю периферию, как правило.
К сожалению, с ARM все намного сложнее, чем с x86. Тут сильно зависит от того, как производитель платы развел ее (на каких ножки завел какую функциональность), потому что функции ножек, благодаря встроенному мультиплексору, могут изменяться во время работы. Драйверам периферии нужно знать по каким адресам периферия находится и какие прерывания она использует, потому что это тоже от производителя чипа к производителю отличается, а иногда разное даже на разных линейках одного производителя.
Раньше в v2.6.вся эта информация описывалась в board-файлах в самих исходниках ядра. Что привело к тому, что для каждой платы нужно было писать эти файлы. И по возможности отправить их в mainline, чтобы потом можно было взять любое ядро с kernel.org и запустить его без проблем или с минимальными. Это привело к раздуванию архитектуры ARM в ядре за счет растущего числа плат чуть-чуть друго от друга отличающихся. Поэтому было решено отказаться от board-файлов в пользу device-tree. Device-tree - это механизм описания железа, который всю эту информацию содержит. То есть в идеале производитель платы пишет только device-tree и берет ванильное ядро. Загрузчик системы загружает ядро и скомпилированный device-tree blob в память и говорит ядру, где оно может найти описание платы. Таким образом ядро модифицировать под новую плату уже не надо.
В реалии еще не все драйвера перешли на device-tree и далеко не вся периферия может быть так описана на данный момент.
Поэтому те исходники, которые поставляют производители чипов или производители комплектов разработчика, как правило, очень сильно отличаются от ванильных. Все это также касается загрузчика ядра (u-boot, red-boot или что там применяется).
По работе имел дело с платой на базе AM3517 от TI. Так там число изменений в исходниках от TI достигало 11000. Так что для встраиваемых систем практически всегда нужны оригинальные исходники ядра.
Кстати, буду приятно удивлен, если Овен отправили свои изменения в upstream и сделали ПЛК, который запускается на чистом ванильном ядре с kernel.org.
По поводу остановки производста, то этого скорее всего не произойдет. Будет, как с D-Link штраф и выкладывание исходников на FTP. =) После суда они выложили все в таком полном варианте, что даже диву даешься.
Не знаю, почему для Овен такая проблема выложить исходники. Как для производителя в первую очередь железа, это для Вас не должно быть какой-либо проблемой.





Ответить с цитированием