[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. 下载支持的镜像之一:
  2. 将预装服务器镜像烧录到 microSD 卡。
  3. 将 microSD 卡插入开发板。
  4. 设置启动源为 microSD 卡。
  5. 将 USB UART 转接器连接到 GPIO 排针的 UART 接口。
  6. 给开发板上电。
  7. 当显示Hit any key to stop autoboot时,按下Enter
  8. 使用以下命令重置 U-Boot 环境:
plaintext 复制代码
env default -f -a
env save
  1. 重新启动开发板。
  2. 等待输出行确认cloud-init已完成运行;该服务负责生成 SSH 密钥并创建默认用户:
plaintext 复制代码
[   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:
plaintext 复制代码
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

  6. 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 键,并输入:
plaintext 复制代码
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 无法工作。
相关推荐
Skrrapper1 小时前
ubuntu?centos?还是 redhat?Linux 系统选哪个?
linux·ubuntu·centos
网络坤子-蔡先生2 小时前
CentOS 8 部署 Zabbix 7.0 LTS 完整流程(PostgreSQL)及不同系统agent安装
postgresql·centos·zabbix
余衫马4 小时前
实战指南:RVC 语音转换框架
人工智能·深度学习·ubuntu
艾莉丝努力练剑4 小时前
【Linux指令 (一)】Linux 命令行入门:从零开始理解Linux系统理论核心概念与基础指令
linux·c++·经验分享·ubuntu·centos
gsfl5 小时前
环境搭建,Ubuntu 安装、客户端使用与性能认知
linux·运维·ubuntu
且行且知5 小时前
在ubuntu下载企业微信
linux·ubuntu·企业微信
l1t14 小时前
拉取postgresql 18.0 docker镜像并运行容器
数据库·docker·postgresql
yong999014 小时前
安装MariaDB服务器流程介绍在Ubuntu 22.04系统
服务器·ubuntu·mariadb
bing_feilong15 小时前
树莓派4B+ubuntu20.04:不插显示器能不能正常开机?
ubuntu
阳懿17 小时前
windows系统电脑远程登录ubuntu系统电脑
linux·运维·ubuntu