HiFive Unleashed: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 5: Строка 5:
== Образы ALT ==
== Образы ALT ==


Для Unleashed выходили [[Regular/riscv64|регулярные сборки]] и [[Simply Linux 9]]. Сейчас мы рекомендуем воспользоватся регулярными сборками, выпускаемыми jqt4@: http://ftp.altlinux.org/pub/people/jqt4/images/hifive/
На текущий момент еженедельно собираются регулярные сборки: [[ Regular/riscv64 ]]. Образы требуется записать через alt-rootfs-installer или вручную.  


== Установка на ОС Альт ==
=== Запись с помощью alt-rootfs-installer ===


Если на основном компьютере у Вас установлен Альт, вы можете воспользоваться пакетом [https://packages.altlinux.org/ru/sisyphus/srpms/alt-rootfs-installer alt-rootfs-installer]. Для этого его нужно установить.
Требуется установить alt-roofs-installer версии не ниже 0.5.2.


  sudo apt-get install alt-rootfs-installer
<source lang="shell">
root# alt-rootfs-installer --target=HiFive-Unleashed-opensbi --image-in=/path/to/<image>-riscv64.img.xz --media=/dev/sdX
</source>


<tt>alt-rootfs-installer</tt> автоматически выполнит разметку microSD карты и установку системы. Пример команды с выводом логов в <code>/home/user/alt-rootfs-installer.log</code>:
Опцию --vnc=1 добавлять не требуется, режим vnc для alterator-setup включается по дефолту.
Про режим vnc подробнее написано в: [[ Regular/riscv64#VNC ]].


<source lang="shell">
=== Установка образов вручную ===
$ alt-rootfs-installer --rootfs=/path/to/regular-builder-latest-riscv64.tar.xz \
                      --resize --media=/dev/sdX \
                      --target=HiFive-Unleashed-opensbi --log=/home/user/alt-rootfs-installer.log
</source>


После этого на диске <code>/dev/sdX</code> будет создано три раздела:  
Для запуска образов на SiFive HiFive Unmatched (FU740) SoC необходимо выполнить следующие шаги:


* [https://github.com/sifive/freedom-u540-c000-bootloader FSBL (First Stage Bootloader)]
'''Шаг 0.''' Запись образа и монтирование:
* [https://github.com/riscv/opensbi OpenSBI] + [https://www.denx.de/wiki/U-Boot/ U-Boot]
* rootfs


microSD карта готова к использованию с HiFive Unleashed.
<source lang="shell">
root# xzcat /path/to/<image>-riscv64.img.xz | dd of=/dev/sdx bs=4M status=progress
root# udiskctl mount /dev/sdX2
</source>


== Установка образов вручную ==
Корневой раздел будет примонтирован в /run/media/root/<UUID>
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:


'''Шаг 0.''' Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:
'''Шаг 1.''' Добавляем разделы для записи U-Boot SPL (Secondary Program Loader) и U-Boot :


<source lang="shell">
<source lang="shell">
root$ sgdisk -g --clear \
root# sgdisk -a 1 \
         --new=2::+32K    --change-name=2:'fsbl'          --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \
         --new=3::+32K    --change-name=3:'fsbl'          --typecode=3:5B193300-FC78-40CD-8002-E86C45580B47 \
         --new=3::+8M:    --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \
         --new=4::+8M:    --change-name=4:'opensbi-uboot' --typecode=4:2E54B353-1271-4842-806F-E436D6AF6985 \
        --new=1::-0      --change-name=1:'root'          --typecode=1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
/dev/sdX
        /dev/sdb
root$ mkfs.ext4 -L ROOT /dev/sdb1
root$ mount /dev/sdb1 /mnt
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt
</source>
</source>


'''Шаг 1.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt.
'''Шаг 2.а.''' First Stage BootLoader (FSBL) и OpenSBI находятся в корневом разделе записанного образа.
Запишем их на разделы 2 и 3 соответственно:
Запишем их на разделы 3 и 4 соответственно:


<source lang="shell">
<source lang="shell">
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M
root# dd if=/run/media/root/<UUID>/usr/share/fu540_boot/fsbl.bin of=/dev/sdX3 bs=1M
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M
root# dd if=/run/media/root/<UUID>/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX4 bs=1M
root$ sync
root# sync
</source>
</source>


'''Шаг 1.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.
'''Шаг 2.б.''' Альтернативный вариант: [http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/ загрузить] и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.


Например:
Например:


<source lang="shell">
<source lang="shell">
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root# curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root$ curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root# curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root$ rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root# rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root$ rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root# rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root$ dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M
root# dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdX3 bs=1M
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M
root# dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX4 bs=1M
root$ sync
root# sync
</source>
</source>


'''Шаг 2.''' Настроим идентификацию корневого раздела по его UUID:
'''Шаг 3.''' Переключить режим загрузки с EFI на extlinux.conf. Для этого необходимо убрать флаг boot с раздела fat32:
 
Посмотрим UUID корневого раздела
lsblk -f
NAME        FSTYPE LABEL UUID                                FSAVAIL FSUSE% MOUNTPOINT
...
sdb                                                                         
├─sdb1      ext4  ROOT  7ad2a5dc-ea11-4e05-8d74-0890933d33e5  11,1G    19% /mnt
 
Запишем это значение UUID в конфигурационные файлы, а затем размонтируем раздел:
 
<source lang="shell">
<source lang="shell">
root$ sed -i s/LABEL=ROOT/UUID=7ad2a5dc-ea11-4e05-8d74-0890933d33e5/ /mnt/boot/extlinux/extlinux.conf
root# parted /dev/sdX set 1 boot off
root$ sed -i s/LABEL=ROOT/UUID=7ad2a5dc-ea11-4e05-8d74-0890933d33e5/ /mnt/etc/fstab
root$ umount /dev/sdb1
</source>
</source>
Система на microSD карточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи [https://www.altlinux.org/Regular/riscv64#VNC VNC].  При подключении по VNC установлен стандартный пароль '''<tt>alt</tt>''', его будет предложено поменять при первоначальной настройке.




{{Category navigation|title=RISC-V|category=RISC-V|sortkey=*}}
{{Category navigation|title=RISC-V|category=RISC-V|sortkey=*}}

Версия от 10:19, 15 декабря 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


SiFive HiFive Unleashed -- плата с SoC Freedom U540 на архитектуре RISCV64GC. На данный момент снята с производства, но всё ещё поддерживается портом Sisyphus на riscv64.

Образы ALT

На текущий момент еженедельно собираются регулярные сборки: Regular/riscv64 . Образы требуется записать через alt-rootfs-installer или вручную.

Запись с помощью alt-rootfs-installer

Требуется установить alt-roofs-installer версии не ниже 0.5.2.

root# alt-rootfs-installer --target=HiFive-Unleashed-opensbi --image-in=/path/to/<image>-riscv64.img.xz --media=/dev/sdX

Опцию --vnc=1 добавлять не требуется, режим vnc для alterator-setup включается по дефолту. Про режим vnc подробнее написано в: Regular/riscv64#VNC .

Установка образов вручную

Для запуска образов на SiFive HiFive Unmatched (FU740) SoC необходимо выполнить следующие шаги:

Шаг 0. Запись образа и монтирование:

root# xzcat /path/to/<image>-riscv64.img.xz | dd of=/dev/sdx bs=4M status=progress 
root# udiskctl mount /dev/sdX2

Корневой раздел будет примонтирован в /run/media/root/<UUID>

Шаг 1. Добавляем разделы для записи U-Boot SPL (Secondary Program Loader) и U-Boot :

root# sgdisk -a 1 \
        --new=3::+32K    --change-name=3:'fsbl'          --typecode=3:5B193300-FC78-40CD-8002-E86C45580B47 \
        --new=4::+8M:    --change-name=4:'opensbi-uboot' --typecode=4:2E54B353-1271-4842-806F-E436D6AF6985 \
/dev/sdX

Шаг 2.а. First Stage BootLoader (FSBL) и OpenSBI находятся в корневом разделе записанного образа. Запишем их на разделы 3 и 4 соответственно:

root# dd if=/run/media/root/<UUID>/usr/share/fu540_boot/fsbl.bin of=/dev/sdX3 bs=1M
root# dd if=/run/media/root/<UUID>/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX4 bs=1M
root# sync

Шаг 2.б. Альтернативный вариант: загрузить и установить First Stage BootLoader (FSBL) и OpenSBI для FU540.

Например:

root# curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root# curl -O http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/riscv64/Sisyphus/noarch/RPMS.classic/opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root# rpm -i fu540-bootloaders-0-alt1.git54bfc90.noarch.rpm
root# rpm -i opensbi-firmware-fu540-0.6-alt1.noarch.rpm
root# dd if=/usr/share/fu540_boot/fsbl.bin of=/dev/sdX3 bs=1M
root# dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdX4 bs=1M
root# sync

Шаг 3. Переключить режим загрузки с EFI на extlinux.conf. Для этого необходимо убрать флаг boot с раздела fat32:

root# parted /dev/sdX set 1 boot off