Учитывая, что прошивка и ядро на visionfive1 в основном стабильны, этот курс ориентирован на visionfive2. Наш предыдущий курс установки был основан на прошивке и ядре visionfive2.4.5, но теперь эти версии были обновлены до visionfive2.11.5, и старые образы больше не могут запускаться под новой прошивкой. Поэтому цель этого курса — обеспечить возможность запуска старых образов (классическая версия openeuler riscv 2203LTS) под новой прошивкой.
Обратите внимание, что ISCAS также выпустила новый образ 2303 для новой прошивки, но это новая тестовая версия, которая требует доработки. Этот текст также предоставляет справочную информацию о новом образе.
Я попытался обновить прошивку, следуя официальному руководству starfive, но безуспешно. Я не знаю, как другие коллеги сделали это, поэтому здесь я делюсь своим успешным опытом обновления прошивки.
Установите службу 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
Метод 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.
Включите 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
Подготовьте следующие файлы согласно предыдущему руководству (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-драйвера. Кроме того, было сделано много обновлений и оптимизаций.
На хост-машину 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
После запуска системы не забудьте обновить систему.
sudo dnf upgrade
Можно заметить, что учитель Цю Цзяньшэн приложил немало усилий в этой работе. Видно, что игры dosbox и sdlquake работают нормально. Однако на первый взгляд всё ещё есть проблемы, например, по умолчанию нет звука, необходимо выбрать audio stereo в разделе звука; проблема с отображением маленьких значков приложений, даже после установки eclipse маленькие значки приложений не отображаются в списке приложений. Надеюсь, в будущем можно будет улучшить.
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.
Подготовка
Процесс обновления
После выполнения всех подготовительных шагов можно приступать к обновлению SPL и U-boot:
Примечание: в тексте запроса есть фрагменты кода, которые не удалось перевести.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )