From Fedora Project Wiki

Revision as of 05:34, 13 August 2013 by Pinkpony (talk | contribs)

🔗 Secret Decoder Ring

Переходим на ARM ? - Secret decoder ring для пользователей Fedora желающих больше узнать о проекте Fedora на процессорах ARM.

🔗 Введение

Процессоры архитектуры ARM являются наиболее распространённой в мире; исторически начали использоваться в сотовых телефонах и встроенных устройствах, всё чаще находят своё применение в планшетах и серверах с низким энергопотреблением.

Проект Fedora-ARM нацелен на работу проекта Fedora с данным семейство процессоров.

🔗 Почему ARM?

  • Низкое энергопотребление / Большее КПД
  • Высокоуровневая аппаратная интеграция -- конструкция "однокристальной системы", с уменьшенным пространством и требованием к охлаждению
  • Доступность от различных поставщиков
  • Низкая стоимость

🔗 Почему проект Fedora заботится о ARM?

  • Новые технологии (как основная цель вычислительные платформы)
  • Растущая база пользователей

🔗 Понимание ARM

  • История архитектуры ARM - here
  • Различаия в процессорах ARM - here

🔗 Программная или аппаратная обработка чисел с плавающей точкой

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

🔗 Однажды я запустил Fedora, как я могу по-содействовать/помочь в разработке проекту Fedora ARM?

  • Ознакомиться со списком рассылки
  • Подключиться к каналу IRC
  • Присоедениться к еженедельным встречам:
  • Помочь в исправлении пакетов не работающих (не собирающихся) на ARM
  • Задать вопросы, и помочь сделать документацию лучше
  • Товарищи разработчики - Убедитесь, что патчи попадают в upstream!

🔗 Оговорённые инструменты Fedora

🔗 Koji (кодзи)

Koji это программа собирающая пакеты RPM пакеты для проекта Fedora. Она использует Mock для создания chroot окружения при подготовке сборки. Для загрузки исходников, сообщения об ошибках, присоеденению к списку рассылки, и т.д. смотрим сайт проекта Koji.

🔗 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

🔗 Стандарты and инжинерные основы