[VF2] Boot Ubuntu和Debian发行版

发布于:2025-09-06 ⋅ 阅读:(15) ⋅ 点赞:(0)

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

  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. 下载支持的镜像之一:
  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. 下载支持的镜像之一:
  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开关选择。

GPIO01 GPIO00 Boot Source
0 0 SPI flash
0 1 microSD card
1 0 eMMC
1 1 UART

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

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

Cloud-init seed

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

UART console

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

Board Adapter
GND, pin 6 GND, black
TX, pin 8 RX, white
RX, pin 10 TX, green

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

使用以下设置进行连接:

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

Limitations

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

网站公告

今日签到

点亮在社区的每一天
去签到