当前位置: 首页 > news >正文

[VF2] Boot Ubuntu和Debian发行版

这篇文章基于前面的两篇文章

  1. [VF2] StarFive VisionFive 2(昉·星光 2 )硬件简介
  2. [VF2] Flashing a new u-boot version

从本篇文章开始,我们开始探讨最新的UbuntuDebian发行版(not for starfive only)怎么在VF2上成功boot,包括烧录到EMMC/USB/NVME上的方法和踩过的坑。

这个过程分为三步:

  1. 更新Flash上的SPL和U-Boot到最新版本,以引导Ubuntu(如果按之前的文章已经更新,可跳过),
  2. 烧写发行版到SD卡
  3. 从SD卡Boot,安装发行版到EMMC或NVME,这一步和传统安装Ubuntu的方法没啥区别

Using the pre-installed server image

  1. 下载支持的镜像之一:
    • Ubuntu 25.04(勇猛海雀)镜像:ubuntu-25.04-preinstalled-server-riscv64+jh7110.img.xz
    • Ubuntu 24.04.3 LTS(高贵食蚁兽)镜像:ubuntu-24.04.3-preinstalled-server-riscv64+jh7110.img.xz
  2. 将预装服务器镜像烧录到 microSD 卡。
  3. 将 microSD 卡插入开发板。
  4. 设置启动源为 microSD 卡。
  5. 将 USB UART 转接器连接到 GPIO 排针的 UART 接口。
  6. 给开发板上电。
  7. 当显示Hit any key to stop autoboot时,按下Enter
  8. 使用以下命令重置 U-Boot 环境:
env default -f -a
env save
  1. 重新启动开发板。
  2. 等待输出行确认cloud-init已完成运行;该服务负责生成 SSH 密钥并创建默认用户:
[   35.682018] cloud-init[909]: Cloud-init v. 24.1.3-0ubuntu3 finished at Tue, 23 Apr 2024 07:44:59 +0000. Datasource DataSourceNoCloud [seed=/var/lib/cloud/seed/nocloud-net][dsmode=net].  Up 35.65 seconds
  1. 使用用户名 ubuntu 和默认密码 ubuntu 登录;系统将提示设置新密码。

Using the live server image

live installer image用于将Ubuntu安装到eMMC、USB或NVMe驱动器。要启动live image,必须在SPI Flash上安装U-Boot。

Install U-Boot to the SPI flash

  1. 将预装的服务器镜像烧录到 microSD 卡。
  2. 将 microSD 卡插入开发板。
  3. 将启动源设置为 microSD 卡。
  4. 将 USB UART 转接器连接到 GPIO 排针上的 UART 接口。
  5. 给开发板上电。
  6. 当显示Hit any key to stop autoboot时,按下 Enter 键。
  7. 输入以下命令将 U-Boot 烧录至 SPI:
sf probe
load mmc 1:1 $kernel_addr_r /usr/lib/u-boot/starfive_visionfive2/u-boot-spl.bin.normal.out
sf update $kernel_addr_r 0 $filesize
load mmc 1:1 $kernel_addr_r /usr/lib/u-boot/starfive_visionfive2/u-boot.itb
sf update $kernel_addr_r 0x100000 $filesize
  1. 关闭开发板电源。
  2. 将启动源设置为SPI闪存。
  3. 给开发板上电。
  4. 当显示Hit any key to stop autoboot时,按下Enter
  5. 输入以下命令重置U-Boot环境:
env default -f -a
env save
  1. Switch the board off.

Boot the live server image

  1. 下载支持的镜像之一:
    • Ubuntu 25.04(勇猛海雀)镜像:ubuntu-25.04-live-server-riscv64.iso
    • Ubuntu 24.04.3 LTS(高贵食蚁兽)镜像:ubuntu-24.04.3-live-server-riscv64.iso
  2. 将实时服务器镜像烧录到 microSD 卡。
  3. 将 microSD 卡插入开发板。
  4. 确保启动源为 SPI Flash,而非 microSD 卡。
  5. 将 USB UART 适配器连接到 GPIO 排针上的 UART。
  6. 给开发板上电。
  7. 如果之前没有安装操作系统,U-Boot 会启动 microSD 卡上的GRUB。跳至第 9 步。
  8. 如果已存在操作系统,当显示“按任意键停止自动启动”时按下 Enter 键,并输入:
load mmc 1:1 $fdt_addr_r dtb/starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
# for the 1.2a version of the board:
# load mmc 1:1 $fdt_addr_r dtb/starfive/jh7110-starfive-visionfive-2-v1.2a.dtb
load mmc 1:1 $kernel_addr_r EFI/boot/bootriscv64.efi
bootefi $kernel_addr_r $fdt_addr_r
  1. 在 GRUB 菜单中,选择“试用或安装 Ubuntu Server”。
  2. 加载安装程序需要一些时间。加载完成后,请按照 Ubuntu Server 安装教程 操作。
  3. 安装完成后,请勿取出 microSD 卡,直接重启开发板。

注意: U-Boot 不允许操作系统写入UEFI变量。您可以使用 U-Boot 的 eficonfig 命令手动完成此操作。

Boot source selection

StarFive VisionFive 2开发板可从SPI闪存、microSD卡、eMMC或UART启动固件。启动源通过DIP开关选择。

GPIO01GPIO00Boot Source
00SPI flash
01microSD card
10eMMC
11UART

例如,要从 microSD 卡启动,DIP 开关应按如下方式设置:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

或者,要从SPI闪存启动,请按如下方式设置DIP开关:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Cloud-init seed

标为“CIDATA”的FAT分区中存在cloud-init种子示例文件。详情请参阅为无外设使用配置开发板。

UART console

UART控制台可通过 [GPIO引脚访问。假设 USB 转TTL串口适配器采用标准配色方案,需进行如下连接:

BoardAdapter
GND, pin 6GND, black
TX, pin 8RX, white
RX, pin 10TX, green

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用以下设置进行连接:

  • 115200 baud
  • 8 data bits
  • no parity
  • 1 stop bit
  • no flow control

Limitations

  • 板载 GPU 不受支持。
  • PCIe 支持不完整:可以使用 NVMe 驱动器,但 Wi-Fi 网卡和外部 GPU 无法工作。

文章转载自:

http://on7YZL24.ftmzy.cn
http://8ksXfEZA.ftmzy.cn
http://FdJFO7LU.ftmzy.cn
http://zr8yrO3j.ftmzy.cn
http://D4HXSexB.ftmzy.cn
http://w4jH0ol1.ftmzy.cn
http://mO4OchHU.ftmzy.cn
http://Gt6647PY.ftmzy.cn
http://36KfgnEP.ftmzy.cn
http://tEL7ghDp.ftmzy.cn
http://mdaW5VPd.ftmzy.cn
http://sT9iUXZW.ftmzy.cn
http://hzRw0LiX.ftmzy.cn
http://W2eaYIDP.ftmzy.cn
http://LuI5FWLg.ftmzy.cn
http://k4nzXF9Z.ftmzy.cn
http://7domP9hA.ftmzy.cn
http://E7z4l4bG.ftmzy.cn
http://DJpl5WQl.ftmzy.cn
http://1PstSo9C.ftmzy.cn
http://ICtPviis.ftmzy.cn
http://rxLZpFTZ.ftmzy.cn
http://R0RXevkT.ftmzy.cn
http://1UzDS6mD.ftmzy.cn
http://dpq5uTD5.ftmzy.cn
http://VigK3qjU.ftmzy.cn
http://wDkaVVQi.ftmzy.cn
http://B6waoDFx.ftmzy.cn
http://hL39o2x9.ftmzy.cn
http://OKItp32t.ftmzy.cn
http://www.dtcms.com/a/367917.html

相关文章:

  • 模型剪枝----ResNet18剪枝实战
  • CSS Position 属性
  • 【Android】制造一个ANR并进行简单分析
  • 《sklearn机器学习——回归指标1》
  • 使用tomcat本地部署draw.io
  • C++《C++11》(上)
  • XR数字融合工作站打造智能制造专业学习新范式
  • windows通过xrdp远程连接Ubuntu黑屏问题解决
  • 第25节:VR基础与WebXR API入门
  • Vue-25-利用Vue3大模型对话框设计之前端和后端的基础实现
  • 沪深300股指期权包含上证50期权吗?
  • webhook使用
  • AMD KFD驱动技术分析16:SVM Aperture
  • linux Nginx服务配置介绍,和配置流程
  • 数字人源头厂商实力全揭秘,系统搭建能力盘点!
  • LangChain: Models, Prompts 模型和提示词
  • 【自动化实战】Python操作Excel/WORD/PDF:openpyxl与docx库详解
  • AI急速搭建网站:Gemini、Bolt或Jules、GitHub、Cloudflare Pages实战全流程!
  • Oracle到ClickHouse:异构数据库ETL的坑与解法
  • Spring Boot 参数校验全攻略:从基础到进阶
  • AI架构师的新工具箱:DeepSeek、Copilot、AutoML
  • Go语言实现以太坊Web3开发
  • 新后端漏洞(上)- Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)
  • uni-app 和 uni-app x 的区别
  • 手把手教你用Go打造带可视化的网络爬虫
  • 极致效率:用 Copilot 加速你的 Android 开发
  • ISP对噪声的影响
  • 深度学习从入门到精通 - AutoML与神经网络搜索(NAS):自动化模型设计未来
  • Day36 TCP客户端编程 HTTP协议解析 获取实时天气信息
  • 分享个C++线程池的实现源码