Дамага, доброго времени суток.
Последнее время ковыряю вопрос сабжа под снапдрагона 8хх.
Имею тело - OP6 - на нем задеплоен > PMOS <
Там собрано ядро и все такое. Тело грузит ядро нативно. Бутлоадер штатный, разлоченный.
В инфе про бутлоадер мерцает надпись SAFEBOOT: enabled.
В общем-то в чем вопрос: вопрос в том, почему фирмварь от сабжа на постмаркетосе подписана другим сертами, нежели подписана фирмварь от сабжа на самом сабже (раздел модем_а/модем_б).
То есть на сабже оно подписано тестовыми цертами квалькома - это общепринятая практика для ОЕМ-ов.
Но поскольку в частном случае на теле загрузчик грузит мейнлайн ядро линухи, то линуха потом видит 4 remoteproc-ессора, и через специальные драйвера (линушные) через специальный интерфейс (линушный) в рантайме грузит прошивку в удаленный процессор (то есть *dsp, msm и что-то там еще).
Так вот, тот серт которым подписано прошу с раздела с модемом (modem_a/b) у меня есть.
Но на постмаркетосе, почему-то, прошу подписано другим сертом! И его у меня нету. И он грузится.
Находится он по адресу
При попытке скормить любой другой файл дмесг сплевывает -22 (ЭИНВАЛ).
Вот я и пытаюсь понять, где происходит проверка подписи. Неужто зашито на сам камень? Если да - почему тогда в оригинале серт дефолтный и как тогда в оригинале оно воркает?
Если нет - тогда где?
Возможно как-то на это влияет секбут? Хотя не должен по логике вещей - по логике вещей он работает для ядра, которое не подписано.
Но не понятно как он работает когда там 4 процессора. Только-ли для основного или для всех? И если для всех - почему он грузит не подписанное ядро спокойно?
Второй вопрос - это как пронаблюдать логи загрузки того самого remoteproc?
К примеру на pine64 есть отдельный пин на мамке RX TX для модема конкретно. Но я поспешил и отдал его кенту.
По идее тут, в более дорогом и модном чипсете, должен быть интерфейс к которому можно добраться с контекста основного процессора. Типа уарта...
В приципе это последний затык отделяющий меня от раскатки собственноручно собранного из сорцев модема на современное тело.
Нид хелп!
Последнее время ковыряю вопрос сабжа под снапдрагона 8хх.
Имею тело - OP6 - на нем задеплоен > PMOS <
Там собрано ядро и все такое. Тело грузит ядро нативно. Бутлоадер штатный, разлоченный.
В инфе про бутлоадер мерцает надпись SAFEBOOT: enabled.
В общем-то в чем вопрос: вопрос в том, почему фирмварь от сабжа на постмаркетосе подписана другим сертами, нежели подписана фирмварь от сабжа на самом сабже (раздел модем_а/модем_б).
То есть на сабже оно подписано тестовыми цертами квалькома - это общепринятая практика для ОЕМ-ов.
Но поскольку в частном случае на теле загрузчик грузит мейнлайн ядро линухи, то линуха потом видит 4 remoteproc-ессора, и через специальные драйвера (линушные) через специальный интерфейс (линушный) в рантайме грузит прошивку в удаленный процессор (то есть *dsp, msm и что-то там еще).
Так вот, тот серт которым подписано прошу с раздела с модемом (modem_a/b) у меня есть.
Но на постмаркетосе, почему-то, прошу подписано другим сертом! И его у меня нету. И он грузится.
Находится он по адресу
/lib/firmware/квальком/сдм845/онеплус/{мба.мбн,модем.мбн}При попытке скормить любой другой файл дмесг сплевывает -22 (ЭИНВАЛ).
Вот я и пытаюсь понять, где происходит проверка подписи. Неужто зашито на сам камень? Если да - почему тогда в оригинале серт дефолтный и как тогда в оригинале оно воркает?
Если нет - тогда где?
Возможно как-то на это влияет секбут? Хотя не должен по логике вещей - по логике вещей он работает для ядра, которое не подписано.
Но не понятно как он работает когда там 4 процессора. Только-ли для основного или для всех? И если для всех - почему он грузит не подписанное ядро спокойно?
Второй вопрос - это как пронаблюдать логи загрузки того самого remoteproc?
К примеру на pine64 есть отдельный пин на мамке RX TX для модема конкретно. Но я поспешил и отдал его кенту.
По идее тут, в более дорогом и модном чипсете, должен быть интерфейс к которому можно добраться с контекста основного процессора. Типа уарта...
В приципе это последний затык отделяющий меня от раскатки собственноручно собранного из сорцев модема на современное тело.
Нид хелп!