HiFive Unleashed
SiFive HiFive Unleashed -- плата с SoC Freedom U540 на архитектуре RISCV64GC. На данный момент снята с производства, но всё ещё поддерживается портом Sisyphus на riscv64.
Образы ALT
Для Unleashed выходили регулярные сборки и Simply Linux 9. Сейчас мы рекомендуем воспользоватся регулярными сборками, выпускаемыми jqt4@: http://ftp.altlinux.org/pub/people/jqt4/images/hifive/
Установка на ОС Альт
Если на основном компьютере у Вас установлен Альт, вы можете воспользоваться пакетом alt-rootfs-installer. Для этого его нужно установить.
sudo apt-get install alt-rootfs-installer
alt-rootfs-installer автоматически выполнит разметку microSD карты и установку системы. Пример команды с выводом логов в /home/user/alt-rootfs-installer.log
:
$ 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
После этого на диске /dev/sdX
будет создано три раздела:
- FSBL (First Stage Bootloader)
- OpenSBI + U-Boot
- rootfs
microSD карта готова к использованию с HiFive Unleashed.
Установка образов вручную
Для запуска образов на SiFive HiFive Unleashed (FU540) SoC необходимо выполнить следующие шаги:
Шаг 0. Предполагается, что microSD карточка находится в /dev/sdb. Выполним разметку microSD и создание файловой системы:
root$ sgdisk -g --clear \
--new=2::+32K --change-name=2:'fsbl' --typecode=2:5B193300-FC78-40CD-8002-E86C45580B47 \
--new=3::+8M: --change-name=3:'opensbi-uboot' --typecode=3:2E54B353-1271-4842-806F-E436D6AF6985 \
--new=1::-0 --change-name=1:'root' --typecode=1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 \
/dev/sdb
root$ mkfs.ext4 -L ROOT /dev/sdb1
root$ mount /dev/sdb1 /mnt
root$ tar -xpvf hifive-unleashed-riscv64.tar.xz -C /mnt
Шаг 1.а. First Stage BootLoader (FSBL) и OpenSBI находятся внутри распакованного дерева /mnt. Запишем их на разделы 2 и 3 соответственно:
root$ dd if=/mnt/usr/share/fu540_boot/fsbl.bin of=/dev/sdb2 bs=1M
root$ dd if=/mnt/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M
root$ sync
Шаг 1.б. Альтернативный вариант: загрузить и установить 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/sdb2 bs=1M
root$ dd if=/usr/share/opensbi/sifive/fu540/firmware/fw_payload.bin of=/dev/sdb3 bs=1M
root$ sync
Шаг 2. Настроим идентификацию корневого раздела по его UUID:
Посмотрим UUID корневого раздела
lsblk -f NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT ... sdb ├─sdb1 ext4 ROOT 7ad2a5dc-ea11-4e05-8d74-0890933d33e5 11,1G 19% /mnt
Запишем это значение UUID в конфигурационные файлы, а затем размонтируем раздел:
root$ sed -i s/LABEL=ROOT/UUID=7ad2a5dc-ea11-4e05-8d74-0890933d33e5/ /mnt/boot/extlinux/extlinux.conf
root$ sed -i s/LABEL=ROOT/UUID=7ad2a5dc-ea11-4e05-8d74-0890933d33e5/ /mnt/etc/fstab
root$ umount /dev/sdb1
Система на microSD карточке готова к загрузке. Дальнейшая настройка графической системы выполняется при помощи VNC. При подключении по VNC установлен стандартный пароль alt, его будет предложено поменять при первоначальной настройке.