Ports/riscv64: различия между версиями

Материал из ALT Linux Wiki
мНет описания правки
(Document structure refactoring)
Строка 19: Строка 19:
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.
* <tt>'''C'''</tt> - сжатые 16-битные инструкции.


На данной странице можно найти последнюю информацию о статусе порта ALT на RISC-V (RV64GC).
== Порт Сизифа ==
Сборка системы ведётся на плате SiFive [[HiFive Unmatched]].
 
Для целей тестирования выполняется сборка образов для QEMU, платы [[HiFive Unleashed]] и SiFive [[HiFive Unmatched]]. Подробнее об этом можно прочитать [https://www.altlinux.org/Regular/riscv64 тут].
Порт [[Sisyphus]] на архитектуру riscv64 (RV64GC) развивается с 2018 года. Поддерживается (и тестируется) работа на платформах:
 
* [[HiFive Unmatched]]
* [[HiFive Unleashed]]
* [[Ports/riscv64/QEMU|QEMU]]
 
Для этих платформ выпускаются [[Regular/riscv64|Регулярные сборки]] (см. также [[Regular]]).


== Репозиторий ==
== Репозиторий ==
Строка 37: Строка 43:
  rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/noarch  classic
  rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/noarch  classic


== Поддерживаемые платформы ==
Сборка пакетов проходит на отдельном узле [[girar]], аналогичном [[Git.alt]]. В качестве сборочных узлов сейчас используются платы SiFive [[HiFive Unmatched]]. Сборка пакетов идёт в режиме "догоняющей сборочницы": как только какое-то задание (task) проходит в основной Сизиф, специальный [[Girar/task-rerunner & recycler|робот]] создаёт аналогичное задание в <tt>sisyphus_riscv64</tt>. Это означает, что никаких специальных усилий для сборки пакетов под '''riscv64''' предпринимать не нужно: собирайте в [[Sisyphus]]. Задания подтверждаются вручную, обычно в тот же день или на следующий день. Если какого-то пакета не хватает (мы собираем не всё подряд) или он долго не обновляется, свяжитесь с '''iv@'''.
 
== Как сообщить об ошибке ==
 
Сообщения об ошибках принимаются по адресу https://bugzilla.altlinux.org/  (см. [[BugTracking]]).
* если проблема в пакете, выбирайте продукт Sisyphus, компонент соответсвующий имени пакета, платформа riscv64.
* если проблема в сборке или образе, выбирайте продукт Regular, компонент, сответствующий DE по умолчанию, платформа riscv64.
 
'''ВАЖНО''':
* указать <tt>Platform: riscv64</tt> (справа в верхней части формы создания бага)
* назначить ошибку на [[Участник:IvanMelnikov|iv@altlinux.org]]


* [[HiFive Unmatched]]
См. также [[BugTracking/BugzillaMiniHowto|Краткое пособие по использованию Bugzilla]]
* [[HiFive Unleashed]]
* [[Ports/riscv64/QEMU|QEMU]]


== Полезные ссылки: ==
== Полезные ссылки ==


* [http://0x1.tv/20180929H OSSDEVCONF-2018]
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.
* [https://github.com/dalegr/riscv-bbl-utils утилиты для Berkeley bootloader] для слияния ядра Linux в bbl.bin с dummy payload.
* [https://riscv.org/specifications RISC-V ISA]
* [https://riscv.org/specifications RISC-V ISA]
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.
* [https://www.sifive.com/blog/all-aboard-part-0-introduction All Aboard] -- интересный блог Палмера Даббелта о RISC-V, toolchain, и т.д.
* [http://0x1.tv/20180929H OSSDEVCONF-2018]
* [http://www.osp.ru/os/2020/02/13055471/ RISC-V: стандарт, изменивший мир микропроцессоров]
* [http://www.osp.ru/os/2020/02/13055471/ RISC-V: стандарт, изменивший мир микропроцессоров ]
* [http://habr.com/ru/post/234047/ Наборы команд должны быть свободны: доводы за RISC-V]
* [http://habr.com/ru/post/234047/ Наборы команд должны быть свободны: доводы за RISC-V]



Версия от 14:21, 1 ноября 2021

RISC-V

RISC-V является архитектурой с открытым набором комманд (ISA). ISA RISC-V имеют лицензию Creative Commons license (CC BY 4.0). Любой желающий может получить финальную версию ISA пользовательского уровня и черновик ISA привилегированного уровня.

Другая ключевая особенность архитектуры RISC-V - её расширяемость, что позволяет создавать разнообразные реализации. Минимальная спецификация архитектуры RISC-V включает в себя только инструкции для записи, сохранения, переходов и целочисленной арифметики. Код инструкций не зависит от размера регистра, минимальная спецификация обозначается RV32I, RV64I или RV128I ("I" означает integer) для размеров операнда 4, 8 или 16 байт соответственно. На данный момент порт Linux работает со спецификацией "RV64IMAFDC" или "RV64GC" ("G" == "IMAFD"):

  • I - целочисленные базовые инструкции;
  • M - умножение и деление целых чисел;
  • A - атомарные операции;
  • F - число с плавающей запятой одинарной точности;
  • D - число с плавающей запятой двойной точности;
  • C - сжатые 16-битные инструкции.

Порт Сизифа

Порт Sisyphus на архитектуру riscv64 (RV64GC) развивается с 2018 года. Поддерживается (и тестируется) работа на платформах:

Для этих платформ выпускаются Регулярные сборки (см. также Regular).

Репозиторий

RPM/SRPM репозиторий можно найти по этой ссылке. В виде sources.list для apt:

rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/riscv64 classic
# rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/riscv64 debuginfo 
rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64 Sisyphus/noarch  classic

Зеркало на Яндексе (скачивается быстрее, иногда отстаёт):

rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/riscv64 classic 
# rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/riscv64 debuginfo
rpm [sisyphus-riscv64] http://mirror.yandex.ru/altlinux/ports/riscv64 Sisyphus/noarch  classic

Сборка пакетов проходит на отдельном узле girar, аналогичном Git.alt. В качестве сборочных узлов сейчас используются платы SiFive HiFive Unmatched. Сборка пакетов идёт в режиме "догоняющей сборочницы": как только какое-то задание (task) проходит в основной Сизиф, специальный робот создаёт аналогичное задание в sisyphus_riscv64. Это означает, что никаких специальных усилий для сборки пакетов под riscv64 предпринимать не нужно: собирайте в Sisyphus. Задания подтверждаются вручную, обычно в тот же день или на следующий день. Если какого-то пакета не хватает (мы собираем не всё подряд) или он долго не обновляется, свяжитесь с iv@.

Как сообщить об ошибке

Сообщения об ошибках принимаются по адресу https://bugzilla.altlinux.org/ (см. BugTracking).

  • если проблема в пакете, выбирайте продукт Sisyphus, компонент соответсвующий имени пакета, платформа riscv64.
  • если проблема в сборке или образе, выбирайте продукт Regular, компонент, сответствующий DE по умолчанию, платформа riscv64.

ВАЖНО:

  • указать Platform: riscv64 (справа в верхней части формы создания бага)
  • назначить ошибку на iv@altlinux.org

См. также Краткое пособие по использованию Bugzilla

Полезные ссылки