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

Материал из ALT Linux Wiki
м (+интервики)
(XFCE update)
(не показано 7 промежуточных версий 3 участников)
Строка 14: Строка 14:
= '''Краткий обзор''' =
= '''Краткий обзор''' =


Регулярные сборки образов предназначены для разработки и тестирования [https://www.altlinux.org/Ports/riscv64 порта] на архитектуру RISC-V (rv64gc) репозитория [https://www.altlinux.org/Sisyphus Sisyphus].
Регулярные сборки образов предназначены для разработки и тестирования [[Ports/riscv64|порта]] на архитектуру RISC-V (rv64gc) репозитория [[Sisyphus]].


Подробную информацию о регулярных сборках можно прочитать [https://www.altlinux.org/Regular здесь].
Подробную информацию о регулярных сборках можно прочитать [[Regular|здесь]].


В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].
В случае предложений или обнаружения ошибок смотрите раздел [[#Обратная связь|"Обратная связь"]].
Строка 25: Строка 25:
<br>
<br>
'''<tt>password: alt</tt>'''
'''<tt>password: alt</tt>'''
Графический образ с [https://ru.wikipedia.org/wiki/Xfce XFCE] не имеет предустановленного пароля для root.
Во время первого запуска пользователю предлагается выполнить настройку системы самостоятельно через
графическое меню.


В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:
В случае системы для разработчика ('''builder''') есть также предустановленный пользователь:
Строка 35: Строка 39:


== HiFive Unleashed ==
== HiFive Unleashed ==
На текущий момент опубликованы два вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:
На текущий момент опубликованы четыре вида образов для платы [https://www.sifive.com SiFive] [https://www.crowdsupply.com/sifive/hifive-unleashed HiFive Unleashed]:


* Минимальная система с systemd -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-systemd-latest-riscv64.tar ссылка] ([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-systemd-latest-riscv64.tar.xz ссылка] ([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, ssh) -- [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])
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.tar.xz ссылка] ([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, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.tar.xz ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
<br>
<br>
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].
Инструкция для запуска образов на HiFive Unleashed находится в разделе [[#Запуск на HiFive Unleashed|"Запуск на HiFive Unleashed"]].
Строка 44: Строка 50:
== QEMU ==
== 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-systemd-latest-riscv64.qcow2 ссылка] ([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-systemd-latest-riscv64.qcow2c ссылка] ([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, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2 ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальная система с SysV -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-jeos-sysv-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Минимальная система для разработчика (rpmbuild, [[hasher]], gcc 8, ssh) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-builder-latest-riscv64.qcow2c ссылка] ([http://nightly.altlinux.org/sisyphus-riscv64/alpha/MD5SUM MD5], [http://nightly.altlinux.org/sisyphus-riscv64/alpha/SHA1SUM SHA1])
* Графическая система с XFCE (VNC, X11) -- [http://nightly.altlinux.org/sisyphus-riscv64/alpha/regular-xfce-latest-riscv64.qcow2c ссылка] ([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"]].
Строка 54: Строка 62:
'''Шаг 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-5.0.19-alt2.rv64gc.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/vmlinuz будет лежать ядро для QEMU сжатое gzip.
Распакуйте ядро:
<source lang="shell">$ gzip -d -c /usr/share/qemu-riscv64/vmlinuz > ~/vmlinux</source>


'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2:
'''Шаг 3.''' После этого, скачав один из образов для QEMU ([[#QEMU|см. выше]]) можно запускать QEMU, заменив <IMAGE> на путь к образу qcow2c:
<source lang="shell">
<source lang="shell">
$ qemu-system-riscv64 -nographic -machine virt \
$ qemu-system-riscv64 -nographic -machine virt \
                       -kernel /usr/share/qemu-riscv64/vmlinux \
                       -kernel ~/vmlinux \
                       -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                       -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                       -drive file=<IMAGE>.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 \
                       -drive file=<IMAGE>.qcow2c,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>
В случае графического образа с XFCE необходимо перенаправить входящие TCP соединения к хосту на порт 5900 (VNC) в гостевую машину.
Для этого можно воспользоваться следующей командой:
<source lang="shell">
$ qemu-system-riscv64 -nographic -machine virt \
                      -kernel ~/vmlinux \
                      -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                      -drive file=<IMAGE>.qcow2c,id=hd0 -device virtio-blk-device,drive=hd0 \
                      -append "earlyprintk root=/dev/vda1 fastboot rootwait console=ttyS0 debug sunrpc.debug" \
                      -netdev user,id=eth0,hostfwd=tcp::5900-:5900 -device virtio-net-device,netdev=eth0
</source>
Информация о подключении к системе с графическим образом через VNC находится в разделе [[#VNC|"VNC"]].


= '''Запуск на HiFive Unleashed''' =
= '''Запуск на HiFive Unleashed''' =
Строка 79: Строка 101:
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].
'''Шаг 2.''' Установите пакет [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer].


'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:
'''Шаг 3.''' Запустите установщик <tt>alt-rootfs-installer</tt>. Он автоматически выполнит разметку microSD карты и установку системы. Пример команды, для установки на microSD карту <tt>/dev/sdX</tt> образа <tt>regular-builder-alpha20190329-riscv64.tar.xz</tt>, с выводом логов в <tt>/home/user/alt-rootfs-installer.log</tt>:
<source lang="shell">
<source lang="shell">
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar \
$ alt-rootfs-installer --rootfs=/home/user/images/regular-builder-alpha20190329-riscv64.tar.xz \
                       --media=/dev/sdX \
                       --media=/dev/sdX \
                       --target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log
                       --target=HiFive-Unleashed-bbl --log /home/user/alt-rootfs-installer.log
Строка 93: Строка 115:
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:
'''Шаг 2.''' Распакуйте директорию /boot из архива полученного на шаге 1. Например, в случае минимального образа с systemd:
<source lang="shell">
<source lang="shell">
$ tar -xf regular-jeos-latest-riscv64.tar ./boot
$ tar -xf regular-jeos-latest-riscv64.tar.xz ./boot
</source>
</source>
После чего в ./boot/vmlinuz будет находиться symlink на ядро.
После чего в ./boot/vmlinuz будет находиться symlink на ядро.
Строка 122: Строка 144:


microSD карта готова к использованию с HiFive Unleashed.
microSD карта готова к использованию с HiFive Unleashed.
= '''VNC''' =
При первом запуске, пользователю будет предложено выполнить первоначальную настройку системы в графическом меню. Во время настройки можно
установить временную зону, пароль пользователя root, пароль для подключения к VNC, задать нового пользователя и т.д.
В случае использования QEMU, всё, что нужно сделать это подключиться к VNC серверу внутри гостевой машины, который доступен по адресу 127.0.0.1.
Для этого, можно воспользоваться, например [https://en.wikipedia.org/wiki/TigerVNC tigerVNC]:
<source lang="shell">
$ vncviewer 127.0.0.1
</source>
В случае платы HiFive Unleashed необходимо узнать IP адрес этой машины, который она автоматически получает по DHCP.
Один из способов, которым это можно сделать, заключается в подключении к последовательной консоли через microUSB разъём на плате.
Для подключения к последовательной консоли (обычно /dev/ttyUSB1) с помощью GNU/screen воспользуйтесь следующей командой:
<source lang="shell">
$ screen /dev/ttyUSB1 115200
</source>
Во время загрузки системы, будет выведено сообщение об IPv4 и IPv6 адресах сетевого устройства используемого по умолчанию
в виде:
<source lang="shell">
[  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"
</source>
Подключение к VNC серверу выполняется аналогичным образом:
<source lang="shell">
$ vncviewer 192.168.88.216
</source>


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

Версия от 09:28, 27 августа 2019

Регулярные сборки для одноплатных компьютеров с архитектурой процессора 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 x86_64: qemu-system-riscv-core.

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

rpm --install <kernel package>.rpm

После этого в /usr/share/qemu-riscv64/vmlinuz будет лежать ядро для QEMU сжатое gzip. Распакуйте ядро:

$ gzip -d -c /usr/share/qemu-riscv64/vmlinuz > ~/vmlinux

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

$ qemu-system-riscv64 -nographic -machine virt \
                      -kernel ~/vmlinux \
                      -m 2G -smp cpus=4,threads=2,maxcpus=8 \
                      -drive file=<IMAGE>.qcow2c,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

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

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

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

Запуск на HiFive Unleashed

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

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

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

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

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

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

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


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

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

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

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

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

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

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

  • Первый раздел должен иметь специальный 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"

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

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

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

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

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