risc-v中文社区

 找回密码
 立即注册
查看: 1162|回复: 0

ubuntu risc-v

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-7-22 14:27:37 | 显示全部楼层 |阅读模式
自 Ubuntu 20.04 LTS 发布以来,Ubuntu 为 RISC-V 平台提供了 riscv64 架构。

图片
SiFive HiFive 无与伦比和 QEMU
可以在任何带有 qemu-system 的系统或裸机SiFiveHiFive Unmatched板上启动 riscv64+ unmatched映像

SiFive HiFive Unleashed & QEMU
可以在任何带有 qemu-system 的系统或裸机SiFiveHiFive Unleashed 板上启动 riscv64 和 riscv64+unleashed 映像。

论坛
您可以在Ubuntu Server 论坛上讨论 RISC-V 上的Ubuntu

使用 qemu 启动
先决条件:
  • apt 安装 qemu-system-misc opensbi u-boot-qemu qemu-utils
目前需要 Hirsute 版本的 u-boot-qemu 来引导 hirsute 映像。
安装完上述先决条件后,就可以使用上述任一镜像启动 virtua>
首先解压镜像
xz -dk focus-preinstalled-server-riscv64.img.xz
或者,如果您想要更大的磁盘,您可以扩展磁盘(文件系统将自动>
qemu-img resize -f raw focus-preinstalled-server-riscv64.img +5G
接下来使用 OpenSBI bootloader & u-boot-qemu 来引导虚拟机
所有选项的工作示例是:
qemu-system-riscv64 \-machine virt -nographic -m 2048 -smp 4 \-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \-device virtio-net-device,netdev=eth0 -netdev 用户,id=eth0 \-drive file=focal-preinstalled-server-riscv64.img,format=raw,if=virtio
要使用的重要选项是:
  • 机器类型virt又名-machine virt
  • Bios 是 OpenSBI -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf
  • “内核”是 qemu smode uboot -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf

可以使用直通网络,根据需要调整内存 ( -m ) 和 CPU 计数 ( -smp )。
切换到串口控制台,等待 cloud-init 完成,然后使用ubuntu:ubuntu登录。请参阅下面的 cloud-init 部分,以使用 cloud-init 进一步自定义首次启动行为。

在 SiFive HiFive Unmatched 板上启动
上图有 U-Boot SPL 加载程序和SiFive U-Boot 在板上启动。
通过设置MSEL=1011来设置跳线从 microSD 启动(MSEL2 到板的外部,其余的到内部)。
然后,您可以使用“Gnome Disks”应用程序将img.xz图像恢复到 microSD 卡上,将其插入开发板并启动。
您还可以使用 cmdline 提取图像并添加它。
xz -dk focus-preinstalled-server-riscv64+unmatched.img.xzdd if=focal-preinstalled-server-riscv64+unmatched.img of=/dev/disk/by-id/<TAB><TAB>complete-to-sdcard-device
监控串口控制台,等待 cloud-init 完成,然后使用ubuntu:ubuntu登录。请参阅下面的 cloud-init 部分,以使用 cloud-init 进一步自定义首次启动行为。

在 SiFive HiFive Unleashed 板上启动
上图有 U-Boot SPL 加载程序和SiFive U-Boot 在板上启动。
通过设置MSEL=1011来设置跳线从 microSD 启动(MSEL2 到板的外部,其余的到内部)。
然后,您可以使用“Gnome Disks”应用程序将img.xz图像恢复到 microSD 卡上,将其插入开发板并启动。
您还可以使用 cmdline 提取图像并添加它。
xz -dk focus-preinstalled-server-riscv64+unleashed.img.xzdd if=focal-preinstalled-server-riscv64+unleashed.img of=/dev/disk/by-id/<TAB><TAB>complete-to-sdcard-device
监控串口控制台,等待 cloud-init 完成,然后使用ubuntu:ubuntu登录。请参阅下面的 cloud-init 部分,以使用 cloud-init 进一步自定义首次启动行为。

云初始化集成
该映像具有后备 cloud-init 数据源,该数据源使用密码ubuntu和 DHCP 网络配置 sudo 用户ubuntu。首次登录时,系统会要求您更改密码。
该映像具有CIDATA分区,可用作调整云配置元数据的有效数据源。如果您想自定义用户密码、网络信息、添加 ssh 密钥等,请挂载CIDATA分区重命名元数据和用户数据文件并调整它们的口味。如果需要比 DHCP 更复杂的东西,您可以使用 network-info 来配置网络。
例如 ssh 密钥、禁用交互式登录等。请参阅https://cloudinit.readthedocs.io/en/latest

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-27 18:43 , Processed in 0.022337 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表