1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/samuel_yuan-riscv-openeuler-visionfive

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Fix-openeuler-riscv-2203LTS-classical-version-on-visionfive2.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:29 33f4fa7

Операционное руководство: Fix openeuler riscv 2203LTS/2303V1 version on visionfive2


1 Цель

Учитывая, что прошивка и ядро на visionfive1 в основном стабильны, этот курс ориентирован на visionfive2. Наш предыдущий курс установки был основан на прошивке и ядре visionfive2.4.5, но теперь эти версии были обновлены до visionfive2.11.5, и старые образы больше не могут запускаться под новой прошивкой. Поэтому цель этого курса — обеспечить возможность запуска старых образов (классическая версия openeuler riscv 2203LTS) под новой прошивкой.

Обратите внимание, что ISCAS также выпустила новый образ 2303 для новой прошивки, но это новая тестовая версия, которая требует доработки. Этот текст также предоставляет справочную информацию о новом образе.

2 Обновление прошивки через tftpboot

Я попытался обновить прошивку, следуя официальному руководству starfive, но безуспешно. Я не знаю, как другие коллеги сделали это, поэтому здесь я делюсь своим успешным опытом обновления прошивки.

2.1 Установка службы tftp на хост-машине Ubuntu

Установите службу TFTP на хост-компьютере Ubuntu с помощью команды:

sudo apt install tftpd-hpa

Проверьте настройки каталога tftp:

vim /etc/default/tftpd-hpa

Отображение содержимого:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

Здесь /srv/tftp — каталог для загрузки и скачивания файлов через TFTP.

Измените права доступа к каталогу и перезапустите службу tftp.

sudo chmod 777 /srv/tftp
sudo service tftpd-hpa restart

2.2 Подготовка двоичных файлов прошивки

Метод 1: Загрузите двоичные файлы u-boot-spl.bin.normal.out и visionfive2_fw_payload.img напрямую и скопируйте их в каталог /srv/tftp.

wget https://github.com/starfive-tech/VisionFive2/releases/download/VF2_v2.11.5/u-boot-spl.bin.normal.out
wget https://github.com/starfive-tech/VisionFive2/releases/download/VF2_v2.11.5/visionfive2_fw_payload.img

Способ 2: Обратитесь к предыдущему руководству (Setup-openeuler-on-visionfive2-for-the-second-time.md) для загрузки Visionfive2 SDK, который является последней версией 2.11.5.

git clone git@github.com:starfive-tech/VisionFive2.git VisionFive2.11.5

Перейдите в каталог VisionFive2.11.5 и выполните команду сборки:

make -j$(nproc)

Мы можем найти скомпилированные файлы u-boot-spl.bin.normal.out и visionfive2_fw_payload.img в каталоге VisionFive2.11.5/work. Скопируйте эти файлы в каталог /srv/tftp.

2.3 Обновление прошивки

Включите visionfive2 и дождитесь перехода в командную строку U-Boot. Проверьте версию U-Boot и убедитесь, что она устарела. Здесь прошивка всё ещё находится в состоянии поставки, то есть версия 2.4.6.

StarFive # version
U-Boot 2021.10 (Dec 19 2022 - 17:24:44 +0800)
riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot VF2_515_v2.4.6) 10.3.0
GNU ld (GNU Binutils) 2.36.1

Посмотрите IP-адрес хост-машины, который равен 10.0.0.127. Установите IP-адрес visionfive2 на 10.0.0.222 и настройте переменные среды.

setenv ipaddr 10.0.0.222
setenv serverip 10.0.0.127
setenv gatewayip 10.0.0.1
saveenv

Просмотрите текущую конфигурацию и убедитесь, что serverip настроен.

print

Используйте команду ping для проверки подключения.

StarFive # ping 10.0.0.127
Using ethernet@16040000 device
host 10.0.0.127 is alive

Инициализируйте SPI flash.

sf probe

Обновите двоичные файлы U-Boot и Linux.

tftpboot 0xa0000000 u-boot-spl.bin.normal.out
sf update 0xa0000000 0x0 $filesize
tftpboot 0xa0000000 visionfive2_fw_payload.img
sf update 0xa0000000 0x100000 $filesize

Сбросьте переменные среды, эта операция кажется необходимой, иначе система не запустится. Однако сброс не повредит.

eraseenv

Покажите версию U-Boot, мы видим, что она была обновлена до версии 2.11.5.

StarFive # version
U-Boot 2021.10 (Mar 24 2023 - 01:42:56 +0800), Build: jenkins-github_visionfive2-13
riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot VF2_v2.11.5) 10.3.0
GNU ld (GNU Binutils) 2.36.1

Image

2.4 Изменение системных файлов версии 2203 LTS

Подготовьте следующие файлы согласно предыдущему руководству (Setup-openeuler-on-visionfive2-for-the-second-time.md): config-5.15.0, System.map-5.15.0, vmlinuz-5.15.0, initrd.img-5.15.0, jh7110-visionfive-v2.dtb, modules/5.15.0 и замените ими старые файлы.

Система успешно запускается. Мы видим, что весь процесс прошёл без применения патчей, что указывает на то, что kernel версии 5.15.0 в VisionFive2 SDK уже может нормально запускаться без GPU-драйвера. Кроме того, было сделано много обновлений и оптимизаций.

2.5 Установка системных файлов версии 2303 V1

На хост-машину Ubuntu загрузите openEuler-23.03-V1.

wget  https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/preview/openEuler-23.03-V1-riscv64/Visionfive2/openEuler-23.03-V1-xfce-visionfive2-preview.img.zst

Загрузите инструмент для записи дисков balenaEtcher, который по сути аналогичен команде dd.

wget https://github.com/balena-io/etcher/releases/download/v1.7.9/balena-etcher-electron-1.7.9-linux-x64.zip

Установите и распакуйте инструмент.

sudo apt install zip unzip
sudo unzip balena-etcher-electron-1.7.9-linux-x64.zip

Запустите balenaEtcher из распакованного каталога.

sudo ./balenaEtcher-1.7.9-x64.AppImage

Image

Image

3 Запуск системы

После запуска системы не забудьте обновить систему.

sudo dnf upgrade

Можно заметить, что учитель Цю Цзяньшэн приложил немало усилий в этой работе. Видно, что игры dosbox и sdlquake работают нормально. Однако на первый взгляд всё ещё есть проблемы, например, по умолчанию нет звука, необходимо выбрать audio stereo в разделе звука; проблема с отображением маленьких значков приложений, даже после установки eclipse маленькие значки приложений не отображаются в списке приложений. Надеюсь, в будущем можно будет улучшить.

Image

4 Ссылки

https://mp.weixin.qq.com/s/VwTbob0wr6A5A_8nEp2H4w

https://gitee.com/openeuler/RISC-V/blob/master/release/openEuler-23.03/Installation_Book/Visionfive2/README.md Обновление SPL и U-Boot

В этом разделе описывается, как обновить SPL и U-boot на устройстве VisionFive2.

Подготовка

  1. Убедитесь, что устройство VisionFive2 подключено к компьютеру с помощью USB-кабеля.
  2. На компьютере должен быть установлен драйвер для устройства VisionFive2.
  3. На компьютере должна быть установлена среда разработки (например, PlatformIO).
  4. На компьютере должны быть скачаны файлы с обновлёнными версиями SPL и U-boot.
  5. Файлы с новыми версиями должны находиться в папке проекта на компьютере.
  6. Включите устройство VisionFive2 и дождитесь появления сообщения о готовности к программированию.
  7. Откройте среду разработки и выберите проект для устройства VisionFive2.
  8. Нажмите кнопку «Загрузить» или «Program».

Процесс обновления

После выполнения всех подготовительных шагов можно приступать к обновлению SPL и U-boot:

  1. Выберите файл с новой версией SPL и нажмите кнопку «Открыть».
  2. После загрузки файла с SPL нажмите кнопку «Подтвердить».
  3. Выберите файл с новой версией U-boot и нажмите кнопку «Открыть».
  4. После загрузки файла с U-boot нажмите кнопку «Подтвердить».
  5. Подождите, пока процесс обновления завершится.

Примечание: в тексте запроса есть фрагменты кода, которые не удалось перевести.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/samuel_yuan-riscv-openeuler-visionfive.git
git@api.gitlife.ru:oschina-mirror/samuel_yuan-riscv-openeuler-visionfive.git
oschina-mirror
samuel_yuan-riscv-openeuler-visionfive
samuel_yuan-riscv-openeuler-visionfive
master