🔗 Secret Decoder Ring
Переходим на ARM ? - Secret decoder ring для пользователей Fedora желающих больше узнать о проекте Fedora на процессорах ARM.
🔗 Введение
Процессоры архитектуры ARM являются наиболее распространённой в мире; исторически начали использоваться в сотовых телефонах и встроенных устройствах, всё чаще находят своё применение в планшетах и серверах с низким энергопотреблением.
Проект Fedora-ARM нацелен на работу проекта Fedora с данным семейство процессоров.
🔗 Почему ARM?
- Низкое энергопотребление / Большее КПД
- Высокоуровневая аппаратная интеграция -- конструкция "однокристальной системы", с уменьшенным пространством и требованием к охлаждению
- Доступность от различных поставщиков
- Низкая стоимость
🔗 Почему проект Fedora заботится о ARM?
- Новые технологии (как основная цель вычислительные платформы)
- Растущая база пользователей
🔗 Понимание ARM
🔗 Программная или аппаратная обработка чисел с плавающей точкой
Fedora на данный момент предлагает два решения для ARM - 'arm(sfp)' и 'armhfp'. Каждое определяет как значения с плавающей точкой передаются функциям, посредством регистров процессора (sfp) или посредством регистров математического сопроцессора (hfp); Однако оба варианта API могут использовать математический сопроцессор для арифметических вычислений.
В частности: В старших моделях процессоров ARM (до ARM v7 "Application Profile"), математический сопроцессор (FPU - floating point unit, чаще называют векторный математический сопроцессор или "VFP - vector floating point") был как опция. И аргументы функции передавались через регистры процессора или стек. Однако, математический сопроцессор стал полностью доступен, перемещать значения с плавющей точкой в регистры математического сопроцессора через регистры процессора и обратно стало накладно, и сводило на нет приемущества аппаратного математического вычисления. Когда математический сопроцессор стал обязательной состовляющей ARMv7, имело смысл перейти на работу с его регистрами напрямую. Это бинарно (ABI) несовместимые изменения, так программы которые успешно передовали значения чере регистры процессора, не могли этого делать с помощью библиотек работающих с регистрами математического сопроцессора (и наоборот).
🔗 Поддерживаемые на данный момент архитектуры ARM
armv7hl - 32-bit, little-endian, hfp для процессоров ARM v7. Поддрерживается F15 и выше.
armv5tel - 32-bit, little-endian, sfp для процессоров ARM v5 to v7. Поддрерживается до F18 (включая одновления для F18).
(Сборки учаснков: Seneca сборка для архитектуры armv6hl специально для Architectures/ARM/F18/Remixes#Raspberry_Pi Raspberry Pi)
🔗 Будущие архитектыры ARM
aarch64 - 64-bit (little-endian и предпологается hfp) для процессоров ARMv8+. Внастоящее время удалось загрузить.
🔗 Форм-факторы ARM
Будучи наиболее популярным архитектуры в мире, ARM процессоры можно обнаружить в различных усройствах, включая:
- Планшеты/Ноутбуки (Google Chromebook)
- Платы разработчиков (Pandaboard, Beagleboard, Trimslice)
- Масштабируемых серверных системах (Calxeda Highbank)
🔗 Дополнительные технологии ARM
🔗 Понимание U-Boot
U-Boot - универсальный загрузчик (Universal Boot Loader) это микропрограмма используемая в ARM, MIPS and Embedded Power архитектурах. Она выполняет задачи, как и другие загрузчики, по загрузке ядра Linux и операционной системы в память для работы, она так же отвечает за аппаратную иницилизацию на подобии BIOS (The Basic Input/Output System) в x86 устройствах.
- Дополнительная информация по U-Boot
🔗 Почему U-Boot?
BIOS доступен исключительно на x86 системах и выполняет различные внешние задачи, чем просто загрузка ядра в память. Пока BIOS на ARM возможен, однако затраты на разработку привышают потецеальную выгоду и ARM системы используют подход более быстрого загрузчика. Unified Extensible Firmware Interface (UEFI) заменяет BIOS в современных компьютерах, так же совместим с архитектурой ARM.
- Существует множество видов U-Boot включая - vboot, aboot, hboot.
🔗 Создание адреса для kernel/initrd/dtb
🔗 Быстрый старт
🔗 Какой самый быстрый путь запуска Fedora на моём оборудовании?
Скачать предварительно собранный images для устройства и следуя инструкциям записать image на носитель.
🔗 Платформы поддерживаемые проектом Fedora
Виртуализация через QEMU:
🔗 Платформы поддерживаемые проектом Fedora Remixes
- XO 1.75
- OpenBlocks AX3
- Allwinner A10-based devices
- Samsung Chromebook
- Raspberry Pi
🔗 Однажды я запустил Fedora, как я могу по-содействовать/помочь в разработке проекту Fedora ARM?
- Ознакомиться со списком рассылки
- Подключиться к каналу IRC
- IRC: #fedora-arm[?] на http://freenode.net
- Присоедениться к еженедельным встречам:
- IRC: #fedora-meeting-1[?] каждую среду в 20:00 UTC на http://freenode.net (Архивы)
- Помочь в исправлении пакетов не работающих (не собирающихся) на ARM
- Задать вопросы, и помочь сделать документацию лучше
- Товарищи разработчики - Убедитесь, что патчи попадают в upstream!
🔗 Оговорённые инструменты Fedora
🔗 Koji (кодзи)
Koji это программа собирающая пакеты RPM пакеты для проекта Fedora. Она использует Mock для создания chroot окружения при подготовке сборки. Для загрузки исходников, сообщения об ошибках, присоеденению к списку рассылки, и т.д. смотрим сайт проекта Koji.
- Koji Описание
- Использование Koji для сборки системы (включая командную строку (cli) и веб интерфейс. Используйте fedpkg)
🔗 Koji-shadow
Koji-Shadow скрипт that используемый для вторичных архитектур - 'follow', пакеты собираются следуя первичной архитектуре (PA) [Koji например]. Когда подтверждена собрка для первичной архитектуры, скрипт поднимет сборку для компиляции и подтверждает для вторичной архитектуры. Это гарантирует сборку пакета для вторичной архитектуры в течении разумного времени, разработчикам необходимо только подтвердить их пакет единразово, и это распространяется на все вторичные архитектуры с которыми работает Koji-Shadow. Koji-Shadow включён в пакет 'koji-utils'.
🔗 Больше информации по Koji
🔗 Bodhi
Bodhi произносится как bo-dee (бо-ди или бодхи) буддисткий термин означает просветление. Bodhi это модульная веб-ориентированная система, которая облегчает процесс обновления публикации пакетов для Fedora, поддерживая единообразие хранилищ путем добавления / обновления / удаления пакетов.
- Болше информации о Bodhi
🔗 Будущее проекта Fedora и архитектуры ARM
🔗 Продвижение первичной архитектуры
ARM в настоящее время считается вторичной архитектурой в проекте Fedora и, в значительной мере, может быть повышена до первичной, подробно о планах можно ознакомиться здесь.
🔗 Следующий загрузчик будет
- Grub2