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

Материал из ALT Linux Wiki
м (Remove riscv64 category.)
(Minor improvements.)
Строка 5: Строка 5:
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].
Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].


На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].


* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
== HiFive Unleashed ==
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed] {{#tag:hifiveimgs ||}}:


* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
<br>
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].
== QEMU ==
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:
Помимо образов для платы HiFive Unleashed существуют образы для эмулятора [https://www.qemu.org QEMU]:
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-alpha20190328-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальной системы для разработчика (rpmbuild, [https://www.altlinux.org/Hasher hasher], gcc-8) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.img ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
 
<br>
<br>
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].
Инструкция для запуска образов в QEMU находится в разделе [[#Запуск на QEMU|"Запуск на QEMU"]].


Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].
= '''Запуск на QEMU''' =
Для запуска образов на QEMU необходимо выполнить следующие шаги:


= '''Запуск на QEMU''' =
'''Шаг 1.''' Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].
'''Шаг 1'''. Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: [http://sisyphus.ru/en/srpm/Sisyphus/qemu qemu-system-riscv-core].


'''Шаг 2'''. Далее необходимо получить [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/kernel-image-qemu-un-def-4.19.6-alt5.noarch.rpm ядро Linux для QEMU] и установить:
'''Шаг 2.''' Далее необходимо получить [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/kernel-image-qemu-un-def-4.19.6-alt5.noarch.rpm ядро Linux для QEMU] и установить:
<source lang="shell">rpm --install <kernel package>.rpm</source>
<source lang="shell">rpm --install <kernel package>.rpm</source>
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.
После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.


'''Шаг 3'''. После этого, скачав один из образов для QEMU можно запускать QEMU, заменив <IMAGE> на путь к образу img:
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:
<source lang="shell">
<source lang="shell">
qemu-system-riscv64 \
$ qemu-system-riscv64 -nographic -machine virt \
  -nographic -machine virt -kernel /usr/share/qemu-riscv64/vmlinux \
                      -kernel /usr/share/qemu-riscv64/vmlinux \
  -m 3G -smp cpus=4,cores=2,threads=2,maxcpus=6 \
                      -m 2G -smp cpus=4,threads=2,maxcpus=8 \
  -drive file=<IMAGE>.img,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \
  -append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \
                      -append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \
  -netdev user,id=eth0 -device virtio-net-device,netdev=eth0
                      -netdev user,id=eth0 -device virtio-net-device,netdev=eth0
</source>
</source>


= '''Запуск на HiFive Unleashed''' =
= '''Запуск на HiFive Unleashed''' =
Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:
'''Шаг 1.''' Скачайте минимальный образ для платы ([[#HiFive Unleashed|см. выше]]), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. [[#Автоматическая установка|Автоматически]] или [[#Ручная установка|вручную]].
== Автоматическая установка ==
'''Шаг 2.''' Установите alt-rootfs-installer.
'''Шаг 3.''' Запустите установщик, который автоматически выполнит разметку μSD карточки и установку системы. Пример комманды, для установки на μSD  <tt>/dev/sdX</tt>, образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:
<source lang="shell">
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \
                      --media=/dev/sdX \
                      --target=HiFive-Unleashed-bbl \
                      -y --log /home/user/alt-rootfs-installer.log
</source>
<br>
После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.
Теперь можно вставлять μSD карточку в HiFive Unleashed и загружать систему!


= '''Как сообщить об ошибке?''' =
== Ручная установка ==
Сообщения об ошибках принимаются через [https://bugzilla.altlinux.org bugzilla].
'''Шаг 2.''' Скачайте пакет с ядром Linux и загрузчиком bbl по [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/files/riscv64/RPMS/kernel-image-un-def-4.19.6-alt5.riscv64.rpm этой ссылке].
 
'''Шаг 3.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:
<source lang="shell">
$ tar -xf regular-jeos-latest-riscv64.tar ./boot
</source>
После чего в ./boot/vmlinuz будет находится symlink на ядро.
 
'''Шаг 4.''' Создайте GPT таблицу с двумя разделами на вашей μSD карточке:
* Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985
* Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4
Пример комманды для разметки <tt>/dev/sdX</tt>:
<source lang="shell">
$sgdisk -g --clear \
        --new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \
        --new=2:264192:    --change-name=2:root      --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
        "/dev/sdX"
</source>
 
'''Шаг 5.''' Запишите файл с ядром и bbl на первый раздел μSD:
<source lang="shell">
$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress
</source>
 
'''Шаг 6.''' Созайте файловую систему на втором разделе μSD. Примонтируйте его и распакуйте туда tar архив:
<source lang="shell">
$ mkfs.ext4 /dev/sdX2
$ mount /dev/sdX2 /mnt
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/
$ umount /dev/sdX2
</source>
 
После этих шагов μSD карточка готова к использованию!
 
= '''Обратная связь''' =
'''• Сообщения об ошибках''' принимаются через [https://bugzilla.altlinux.org bugzilla].
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''
* В случае, если проблема в пакете, то при создании ошибки выбирайте ''Sisyphus''
* В случае проблем с образами выбирайте ''Regular''
* В случае проблем с образами выбирайте ''Regular''
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.
<br>
<br>
В качестве платформы укажите ''riscv64'' (выпадающий список справа). В качестве ''исполнителя'' укажите <tt>arei@altlinux.org</tt>.
'''• IRC''' канал [http://irc.netsplit.de/channels/details.php?room=%23altlinux-riscv&net=freenode #altlinux-riscv] на [https://freenode.net/ freenode].


{{Category navigation|title=Regular|category=Regular|sortkey=*}}
{{Category navigation|title=Regular|category=Regular|sortkey=*}}
[[Категория:Sisyphus]]
[[Категория:Sisyphus]]

Версия от 18:08, 29 марта 2019

Краткий обзор

Регулярные сборки образов предназначены для разработки и тестирования порта репозитория Sisyphus на архитектуру RISC-V (rv64gc).

Подробную информацию о регулярных сборках можно прочитать здесь.

В случае предложений или обнаружения ошибок смотрите раздел "Обратная связь".

HiFive Unleashed

На текущий момент опубликованы два вида образов для платы SiFive HiFive Unleashed <hifiveimgs></hifiveimgs>:


Инструкция для запуска образов на HiFive Unleashed находится в разделе "Запуск на HiFive Unleashed".

QEMU

Помимо образов для платы HiFive Unleashed существуют образы для эмулятора QEMU:


Инструкция для запуска образов в QEMU находится в разделе "Запуск на QEMU".

Запуск на QEMU

Для запуска образов на QEMU необходимо выполнить следующие шаги:

Шаг 1. Для запуска порта ALT на RISC-V необходимо установить QEMU с поддержкой riscv64. Например, в случае хостовой системы на ALT x86_64: qemu-system-riscv-core.

Шаг 2. Далее необходимо получить ядро Linux для QEMU и установить:

rpm --install <kernel package>.rpm

После этого в /usr/share/qemu-riscv64/vmlinux будет лежать ядро для QEMU.

Шаг 3. После этого, скачав один из образов для QEMU (см. выше) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:

$ qemu-system-riscv64 -nographic -machine virt \
                      -kernel /usr/share/qemu-riscv64/vmlinux \
                      -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                      -drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \
                      -netdev user,id=eth0 -device virtio-net-device,netdev=eth0

Запуск на HiFive Unleashed

Для запуска на плате HiFive Unleashed необходимо выполнить следующие шаги:

Шаг 1. Скачайте минимальный образ для платы (см. выше), который представляет собой tar архив с rootfs. Далее, есть два варианта установки системы. Автоматически или вручную.

Автоматическая установка

Шаг 2. Установите alt-rootfs-installer.

Шаг 3. Запустите установщик, который автоматически выполнит разметку μSD карточки и установку системы. Пример комманды, для установки на μSD /dev/sdX, образа regular-builder-alpha20190329-riscv64.tar, с выводом логов в /home/user/alt-rootfs-installer.log:

$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \
                       --media=/dev/sdX \
                       --target=HiFive-Unleashed-bbl \
                       -y --log /home/user/alt-rootfs-installer.log


После этого на диск /dev/sdX будет создано два раздела. На первом разделе содержится загрузчик bbl со статически слинкованным ядром Linux. На втором разделе будет находится /.

Теперь можно вставлять μSD карточку в HiFive Unleashed и загружать систему!

Ручная установка

Шаг 2. Скачайте пакет с ядром Linux и загрузчиком bbl по этой ссылке.

Шаг 3. Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:

$ tar -xf regular-jeos-latest-riscv64.tar ./boot

После чего в ./boot/vmlinuz будет находится symlink на ядро.

Шаг 4. Создайте GPT таблицу с двумя разделами на вашей μSD карточке:

  • Первый раздел должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985
  • Второй раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4

Пример комманды для разметки /dev/sdX:

$sgdisk -g --clear \
        --new=1:2048:67583 --change-name=1:bootloader --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \
        --new=2:264192:    --change-name=2:root       --typecode=2:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
        "/dev/sdX"

Шаг 5. Запишите файл с ядром и bbl на первый раздел μSD:

$ dd if=boot/vmlinuz of=/dev/sdX1 bs=4M status=progress

Шаг 6. Созайте файловую систему на втором разделе μSD. Примонтируйте его и распакуйте туда tar архив:

$ mkfs.ext4 /dev/sdX2
$ mount /dev/sdX2 /mnt
$ tar -xpvf regular-jeos-latest-riscv64.tar -C /mnt/
$ umount /dev/sdX2

После этих шагов μSD карточка готова к использованию!

Обратная связь

• Сообщения об ошибках принимаются через bugzilla.

  • В случае, если проблема в пакете, то при создании ошибки выбирайте Sisyphus
  • В случае проблем с образами выбирайте Regular

В качестве платформы укажите riscv64 (выпадающий список справа). В качестве исполнителя укажите arei@altlinux.org.
• IRC канал #altlinux-riscv на freenode.