Вообще, за время работы много чего узнал, от чего шевелятся волосы. Все ваши вопли, мол Поттеринг всё сломал и линукс превратил в мастдайку (привет
eddy_em ) ерунда, в сравнении с реальным положением дел. И даже то что мелкомягкие мейнтенерят в ядро, это тоже не так страшно. Титан надвигающегося вселенского ада - это Китай. В частности один из самых распространённых китайских процессоров - Mediatek и прочее такое же гхм... Тысячи их и терабайты и петабайты китайского говнокода, который никто и никогда не перепишет и всё радостно идёт в ядро ведра.
Итак, пару примеров из моей практики. Мы говорим о чудесных открытиях и откровениях, не только по коду.
1. Если устройство не загрузилось, оно не будет заряжаться. Да-да, если вдруг слетела прошивка и работает только загрузчик (даже вторичный), а не ядро - заряжаться не будет. Для зарядки, суко, нужны ДРАЙВЕРА (фейспалм). Пример на фото. Железка (некоторая железка на медиатеке), к ней аппаратная консоль. Я втыкаю просто провод питания от зарядного устройства и на аппаратной консоли (припаяна и висит сзади платка преобразователя на 1,8 в) вижу лог загрузки и сообщения ядра.
Данное открытие я сделал, когда поймал бутлуп на устройстве, да что скрывать, на bv6000s. Аккумулятор не съёмный. Я был молод и глуп не видал больших ... и ушёл в пятницу домой, оставив его на зарядке. А в понедельник утром обнаружил полностью разряженный кирпич. Так что, если играетесь с прошивкой телефона, заряжайте его на 100% и в случае неудачи - снимайте аккумулятор. Реанимировать прошивку возможно (если, конечно калибровки не затёрли, но это надо талант иметь), но если устройство полностью сядет - сделать это будет сложнее.
2. Китайский говнокод.
Для меня было адовым откровением, что в сорцах ведра огромное количество тупо бинарных файлов, которые из userspace напрямую работают с железом, минуя системные вызовы ядра. И у меня вообще ощущение, что там libc используют едва-едва, только чтобы хоть запускалось. Это прямо боль и унижение. А самое большое унижение, это сами дрова железа. Вот ковыряю драйвер вайфая, в ядре линукс. И вижу такой, эм... Такое странное место.
На минуточку - это ЯДРО! Святая святых. Какого лешего там дефайны на windows??? Что за лютый треш? И такого ада там куча. Дрова написаны через жопу, даже мимолётно не соблюдая стандарты POSIX. Это АД!!!
Всё, я выплеснул свои впечатления ада, который есть сейчас.