From Fedora Project Wiki
Line 63: Line 63:
===Создание адреса для kernel/initrd/dtb===
===Создание адреса для kernel/initrd/dtb===


==Quick Start==
==Быстрый старт==
===What's the quickest way to get Fedora on my device?===
===Какой самый быстрый путь запуска Fedora на моём оборудовании?===
Download the pre-built images corresponding to your device and following the instructions for writing the image to your media.
Скачать предварительно собранный images для устройства и следуя инструкциям записать image на носитель.


====Platforms supported by Fedora====
====Платформы поддерживаемые проектом Fedora====
* [[Architectures/ARM/F18/Pandaboard|Pandaboard]]
* [[Architectures/ARM/F18/Pandaboard|Pandaboard]]
* [[Architectures/ARM/F18/Trimslice|Trimslice]]
* [[Architectures/ARM/F18/Trimslice|Trimslice]]
Line 73: Line 73:
* [[Architectures/ARM/F18/GuruPlug|GuruPlug (Kirkwood Devices)]]
* [[Architectures/ARM/F18/GuruPlug|GuruPlug (Kirkwood Devices)]]
* [[Architectures/ARM/F18/HighBank|Calxeda EnergyCore (HighBank)]]
* [[Architectures/ARM/F18/HighBank|Calxeda EnergyCore (HighBank)]]
For virtualization through QEMU:
Виртуализация через QEMU:
* [[Architectures/ARM/F18/Versatile_Express|Versatile Express]]
* [[Architectures/ARM/F18/Versatile_Express|Versatile Express]]


====Platforms supported by Fedora Remixes====
====Платформы поддерживаемые проектом Fedora Remixes====
* XO 1.75
* XO 1.75
* OpenBlocks AX3
* OpenBlocks AX3
Line 83: Line 83:
* [[Architectures/ARM/F18/Remixes#Raspberry_Pi |Raspberry Pi]]
* [[Architectures/ARM/F18/Remixes#Raspberry_Pi |Raspberry Pi]]


=== Once my device is running Fedora, how do I get developing/contributing to Fedora ARM?===
=== Однажды я запустил Fedora, как я могу по-содействовать/помочь в разработке проекту Fedora ARM?===
* Introduce yourself on the mailing list
* Ознакомиться со списком рассылки
** Mailing list: {{fplist|arm}} ([http://lists.fedoraproject.org/pipermail/arm/ archives])
** Список рассылки: {{fplist|arm}} ([http://lists.fedoraproject.org/pipermail/arm/ архивы])
* Hang out in the IRC channel
* Подключиться к каналу IRC
** IRC: {{fpchat|#fedora-arm}} on http://freenode.net
** IRC: {{fpchat|#fedora-arm}} на http://freenode.net
* Join our weekly meeting:
* Присоедениться к еженедельным встречам:
** IRC: {{fpchat|#fedora-meeting-1}} each Wednesday at 20:00 UTC (4PM EDT) on http://freenode.net ([https://fedoraproject.org/wiki/Architectures/ARM/Meetings/Archive/ archives])
** IRC: {{fpchat|#fedora-meeting-1}} каждую среду в 20:00 UTC на http://freenode.net ([https://fedoraproject.org/wiki/Architectures/ARM/Meetings/Archive/ Архивы])
* Help fix packages that are failing to build on ARM
* Помочь в исправлении пакетов не работающих (не собирающихся) на ARM
** [http://142.204.133.82/jon/koji/kc.f18.diff.html Fedora 18]
** [http://142.204.133.82/jon/koji/kc.f18.diff.html Fedora 18]
** [http://142.204.133.82/jon/koji/kc.f19.diff.html Fedora 19]
** [http://142.204.133.82/jon/koji/kc.f19.diff.html Fedora 19]
** [http://142.204.133.82/jon/koji/kc.f20.diff.html Fedora 20(rawhide)]
** [http://142.204.133.82/jon/koji/kc.f20.diff.html Fedora 20(rawhide)]
* Ask questions, and help make this documentation better
* Задать вопросы, и помочь сделать документацию лучше
* <b>Developers</b> - Ensure patches are going upstream!
* <b>Товарищи разработчики</b> - Убедитесь, что патчи попадают в upstream!


===Understanding the Fedora tools===
===Оговорённые инструменты Fedora===
====Koji====
====Koji (кодзи)====
Koji is the software that builds [http://koji.fedoraproject.org/koji/ RPM packages for the Fedora project]. It uses [http://fedoraproject.org/wiki/Projects/Mock Mock] to create chroot environments to perform builds. To download the source code, report bugs, join the mailing list etc., see the [https://fedorahosted.org/koji/wiki Koji project website] .
Koji это программа собирающая пакеты [http://koji.fedoraproject.org/koji/ RPM пакеты для проекта Fedora]. Она использует [http://fedoraproject.org/wiki/Projects/Mock Mock] для создания chroot окружения при подготовке сборки. Для загрузки исходников, сообщения об ошибках, присоеденению к списку рассылки, и т.д. смотрим [https://fedorahosted.org/koji/wiki сайт проекта Koji].
* [[Koji|Koji Overview]]
* [[Koji|Koji Описание]]
** [[Using_the_Koji_build_system|Using the Koji build system]] (includes cli and web interface. Use of fedpkg)
** [[Using_the_Koji_build_system|Использование Koji для сборки системы]] (включая командную строку (cli) и веб интерфейс. Используйте fedpkg)


====Koji-shadow====
====Koji-shadow====
Koji-Shadow is a script that is used by secondary architectures to 'follow' package builds performed on the primary architecture (PA) [[http://koji.fedoraproject.org Koji instance]]. When a build is submitted on PA, the script will pick it up and submit the build for completion on the secondary architecture. This ensures secondary architectures build the same packages used in primary within a reasonable time frame, developers need to only submit their package once, and it is propagated to all secondary architectures running Koji-Shadow. Koji-Shadow is included in the 'koji-utils' package.  
Koji-Shadow скрипт that используемый для вторичных архитектур - 'follow', пакеты собираются следуя первичной архитектуре (PA) [[http://koji.fedoraproject.org Koji например]]. Когда подтверждена собрка для первичной архитектуры, скрипт поднимет сборку для компиляции и подтверждает для вторичной архитектуры. Это гарантирует сборку пакета для вторичной архитектуры в течении разумного времени, разработчикам необходимо только подтвердить их пакет единразово, и это распространяется на все вторичные архитектуры с которыми работает Koji-Shadow. Koji-Shadow включён в пакет 'koji-utils'.  


=====More information on Koji=====
=====Больше информации по Koji=====
* [[koji/ServerHowTo| Run Your Own Koji Build Server]]
* [[koji/ServerHowTo| Запустить свой собственный сервер сборки Koji]]
* [[koji/KojiLiveCDHowTo| Building Images in Koji]]
* [[koji/KojiLiveCDHowTo| Создание Images в Koji]]
* [[koji/Policies| Defining hub policies]]
* [[koji/Policies| Определение основных политик]]


====Bodhi====
====Bodhi====
[https://fedorahosted.org/bodhi/ Bodhi] pronounced as bo-dee is a buddhist term for the wisdom by which one attains enlightenment. Bodhi is a modular web-based system that facilitates the process of publishing package updates for Fedora. It maintains a single stage of repositories by adding/updating/removing packages.
[https://fedorahosted.org/bodhi/ Bodhi] произносится как bo-dee (бо-ди или бодхи) буддисткий термин означает просветление. Bodhi это модульная веб-ориентированная система, которая облегчает процесс обновления публикации пакетов для Fedora, поддерживая единообразие хранилищ путем добавления / обновления / удаления пакетов.
* For more information on [[Bodhi|Bodhi]]
* Болше информации о [[Bodhi|Bodhi]]


==The Future of Fedora and the ARM Architecture==
==The Future of Fedora and the ARM Architecture==

Revision as of 12:16, 12 August 2013

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

The Future of Fedora and the ARM Architecture

Promotion to a Primary Architecture

ARM is currently considered a Secondary Architecture in Fedora and would greatly benefit from being promoted to a primary architecture, a detailed draft proposal can be found here.

Future Boot Options

  • Grub2

Standards and Engineering Bodies