Текущие недостатки архитектуры ARM
Опубликовано 09.8.2013 00:32 пользователем Peter Lemenkov
Rich W.M. Jones разразился гневным постом о недостатках архитектуры ARM. Он особо выделяет следующее:
Rich W.M. Jones знал обо всем этом и раньше, но сейчас он по-особенному зол, т.к. из-за влияния одного или нескольких факторов из данного списка, количество загружающихся ARM-машин у него дома уменьшилось с трех до нуля.
- Нет стандартного дисплея или стандартного последовательного порта для debug-консоли. На некоторых моделях последовательный порт, который можно использовать на ранних этапах, конечно, есть, но как его задействовать - никак не стандартизировано. Если б ARM Holdings жестко выделила бы адресное пространство для COM-порта, это было бы здорово!
- ARM-инструкции вообще не имеют некоего минимального общего набора (например, 8086). В совокупности с первым и несколькими последующими пунктами, это делает невозможным вообще создание одного единого загрузчика системы (BIOS).
- Стандартом де-факто для загрузки является U-Boot. Но практически никто из ARM-производителей не работает с апстримом. Для нас, для участников Fedora Project, это довольно дико, но это так - для каждого ARM-устройства есть форкнутая года два назад и порядком устаревшая копия U-Boot.
- Сам по себе U-Boot, это еще то удовольствие. Для сборки порой требуется по-особому собранный компилятор GCC, а потом нестандартные скрипты для установки его в совершенно нестандартные носители, на нестандартные таблицы разделов. Чуть где ошибся, и получил просто черный экран (см. первый пункт).
- U-Boot порой просто не получается заменить, т.к. под ним или над ним есть нестандартный проприетарный блоб или блобы, как это сделано на Raspberry Pi.
- Оборудование необходимо для каждой конфигурации описать вручную, с помощью Device Tree. Чуть где ошибся, и все - черный экран (см. первый пункт). К счастью (или к несчастью), как вы уже могли от нас слышать, участники Fedora выработали рекомендации для производителей нового оборудования на ARM, и там Device Tree больше не будет.
- Стандартных средств для подписывания ядра тоже нет. В x86_64, в общем тоже нет, но наш коллега Peter Jones уже давно разрабатывает тулкит, который скорее всего и будет объявлен стандартным средством для подписывания ядер.
Rich W.M. Jones знал обо всем этом и раньше, но сейчас он по-особенному зол, т.к. из-за влияния одного или нескольких факторов из данного списка, количество загружающихся ARM-машин у него дома уменьшилось с трех до нуля.