Regular/riscv64

Материал из ALT Linux Wiki

Регулярные сборки для одноплатных компьютеров с архитектурой процессора RISC-V (rv64gc)

mipsel, riscv64,
aarch64, armh,
x86_64, i586
English

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

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

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

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

После загрузки системы с предложенными ниже образами необходимо ввести следующие логин и пароль:
login: root
password: alt

Графический образ с XFCE не имеет предустановленного пароля для root. Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через графическое меню.

В случае системы для разработчика (builder) есть также предустановленный пользователь:
login: altlinux
password: alt

Внимание! Сразу же после авторизации смените пароль!!!


HiFive Unleashed

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


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

QEMU

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


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

Запуск на QEMU

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

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

Шаг 2.

ALT

Далее необходимо установить или распаковать пакет с OpenSBI и U-Boot. Для этого, в случае хостовой системы ALT (если это не так, см. ниже) можно добавить noarch репозиторий riscv64 и установить пакет opensbi-firmware-generic:

$ apt-repo add 'rpm [sisyphus-riscv64] http://ftp.altlinux.org/pub/distributions/ALTLinux ports/riscv64/Sisyphus/noarch classic'
$ apt-get update
$ apt-get install opensbi-firmware-generic

После этого в вашей системе появится нужный файл прошивки /usr/share/opensbi/generic/firmware/fw_payload.elf.

Другая система

В этом случае можно скачать пакет opensbi-firmware-generic-.* из репозитория sisyphus-riscv64 noarch. После этого, можно установить этот пакет в систему используя rpm -i или распаковать его rpm2cpio.

Кроме этого, можно достать файл прошивки /usr/share/opensbi/generic/firmware/fw_payload.elf из загруженного образа qcow2c с помощью qemu-nbd.

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

$ qemu-system-riscv64 -nographic -machine virt \
                      -bios <FIRMWARE> \
                      -m 2G -smp cpus=4 \
                      -drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -netdev user,id=eth0 -device virtio-net-device,netdev=eth0

В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину. Для этого можно воспользоваться следующей командой:

$ qemu-system-riscv64 -nographic -machine virt \
                      -bios <FIRMWARE> \
                      -m 2G -smp cpus=4 \
                      -drive file=<IMAGE>,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0

Информация о подключении к системе с графическим образом через VNC находится в разделе "VNC".

Запуск на HiFive Unleashed

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

Шаг 1. Скачайте образ для платы (см. выше), который представляет собой сжатый tar.xz архив с rootfs. Существует два варианта установки системы: автоматическая установка на системе ALT Sisyphus и ручная.

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

Для автоматической установки требуется подготовка карты microSD в системе ALT Sisyphus.

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

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

$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-latest-riscv64.tar.xz \
                       --media=/dev/sdX \
                       --target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log


После этого на диске /dev/sdX будет создано три раздела:

  1. FSBL (First Stage Bootloader)
  2. OpenSBI + U-Boot
  3. rootfs

microSD карта готова к использованию с HiFive Unleashed.

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

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

$ tar -xJf regular-builder-latest-riscv64.tar.xz ./usr/share/fu540_boot/fsbl.bin ./usr/share/fu540_boot/fsbl.bin

Полученные файлы ./usr/share/fu540_boot/fsbl.bin и ./usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin являются, соответственно, FSBL и OpenSBI + U-Boot.

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

  • Раздел с FSBL должен иметь специальный GUID 5B193300-FC78-40CD-8002-E86C45580B47
  • Раздел с OpenSBI должен иметь специальный GUID 2E54B353-1271-4842-806F-E436D6AF6985
  • Раздел с Linux Filesystem GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4

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

$ sgdisk \
 --new=1:2048:4095 --change-name=1:fsbl \
 --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
 --new=2:4096:32767 --change-name=2:opensbi-uboot \
 --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
 --new=3:32768: --change-name=3:rootfs \
 --typecode=3:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
 /dev/sdX

Шаг 4. Запишите файл с FSBL на раздел microSD c FSBL GUID (в примере это первый раздел):

$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX1 bs=4M status=progress

Шаг 5. Запишите файл с OpenSBI+U-Boot на раздел microSD c OpenSBI GUID (в примере это второй раздел):

$ dd if=./usr/share/fu540_boot/fsbl.bin of=/dev/sdX2 bs=4M status=progress

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

$ mkfs.ext4 /dev/sdX3
$ mount /dev/sdX3 /mnt
$ tar -xpJvf regular-builder-latest-riscv64.tar.xz -C /mnt/
$ sync; umount /dev/sdX3

microSD карта готова к использованию с HiFive Unleashed.

VNC

При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д. В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1. Для этого, можно воспользоваться, например tigerVNC:

$ vncviewer 127.0.0.1

В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP. Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате. Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:

$ screen /dev/ttyUSB1 115200

Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию в виде:

[  128.084540] xinit[276]: ALTERATOR SETUP === Default device: "eth0"
[  128.084888] xinit[276]: ALTERATOR SETUP === IPv4: "192.168.88.216/24"
[  128.085110] xinit[276]: ALTERATOR SETUP === IPv6: "fe80::72b3:d5ff:fe92:f229/64"

Подключение к VNC серверу выполняется аналогичным образом:

$ vncviewer 192.168.88.216

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

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

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

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