Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
openeuler_risc-v_qemu_install [2023/04/28 02:32] – Add macOS & fix links misaka00251 | openeuler_risc-v_qemu_install [2024/09/28 11:30] (current) – [自己装] Fix startup script misaka00251 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== 在 QEMU 内运行 openEuler RISC-V 移植版 ====== | ====== 在 QEMU 内运行 openEuler RISC-V 移植版 ====== | ||
+ | |||
+ | 目前已经是 openEuler 24.03 LTS 了,也是 RISC-V 的第一个主线合并后 LTS 版本。 | ||
+ | |||
+ | ===== QEMU ===== | ||
+ | |||
+ | QEMU 有两种方法,前提是确定一下你的 QEMU 版本一定要大于 8.1 版本。 | ||
+ | |||
+ | * 一种是直接下载安装好 openEuler 的 QEMU riscv64 架构镜像,在[[https:// | ||
+ | * 另一种是自己用 ISO 镜像安装,在[[https:// | ||
+ | |||
+ | 对于新手,我推荐直接下载 QEMU riscv64 架构镜像。因为目前模拟 QEMU riscv64 太慢了,自己安装的话至少要等 20 min。 | ||
+ | |||
+ | ==== 直接用镜像 ==== | ||
+ | |||
+ | 在下载 '' | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | 可以根据你自己想要怎么启动来下载对应的文件。 | ||
+ | |||
+ | ==== 自己装 ==== | ||
+ | |||
+ | 以下是 macOS 的启动脚本。 | ||
+ | |||
+ | <file bash run.sh> | ||
+ | cmd=" | ||
+ | -bios " | ||
+ | -machine virt, | ||
+ | -display cocoa, | ||
+ | -smp " | ||
+ | -cpu rv64 \ | ||
+ | -object memory-backend-ram, | ||
+ | -numa node, | ||
+ | -object memory-backend-ram, | ||
+ | -numa node, | ||
+ | -blockdev node-name=pflash0, | ||
+ | -blockdev node-name=pflash1, | ||
+ | -drive file=" | ||
+ | -object rng-random, | ||
+ | -device virtio-vga \ | ||
+ | -device virtio-rng-device, | ||
+ | -device virtio-blk-device, | ||
+ | -device virtio-net-device, | ||
+ | -netdev user, | ||
+ | -audiodev coreaudio, | ||
+ | -device qemu-xhci -usb -device usb-kbd -device usb-tablet -device usb-audio, | ||
+ | -drive file=" | ||
+ | -device virtio-blk-device, | ||
+ | |||
+ | |||
+ | eval $cmd | ||
+ | </ | ||
+ | |||
+ | 在启动之前,请创建一个 qcow2 磁盘,可以使用 '' | ||
+ | |||
+ | 安装成功之后,可以注释掉最后 CD 两行。 | ||
+ | |||
+ | 目前镜像已经很完善了,基本不需要做什么额外的操作。我碰到了一个坑是在开启 Loon / Quantumult X 的时候,自动 DNS 不会工作。在手动安装的时候可以在网络那里设置个 '' | ||
+ | |||
+ | ===== 硬件镜像 ===== | ||
+ | |||
+ | ==== Milk-V Pioneer ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ==== Sipeed LicheePi 4A ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 以下内容为过期内容 ===== | ||
+ | |||
+ | :!: **以下的为 openEuler 22.03 LTS 之前的内容。仅作为历史记录。** | ||
不要忘记安装最新版的 [[https:// | 不要忘记安装最新版的 [[https:// | ||
Line 75: | Line 152: | ||
默认的用户名为 '' | 默认的用户名为 '' | ||
- | ===== 软件源 | + | 注意,以下都很老了(已经不存在这些问题),仅仅作为存档用途出现在这里。 |
+ | |||
+ | ==== 软件源 ==== | ||
openEuler 使用的是 dnf 作为包管理器,配置文件在 ''/ | openEuler 使用的是 dnf 作为包管理器,配置文件在 ''/ | ||
Line 98: | Line 177: | ||
然后执行 '' | 然后执行 '' | ||
- | ===== 系统时间 | + | ==== 系统时间 ==== |
不过在这里你可能发现失败了,因为时间不对!通过运行 '' | 不过在这里你可能发现失败了,因为时间不对!通过运行 '' | ||
Line 140: | Line 219: | ||
</ | </ | ||
- | ===== Others | + | ==== Others ==== |
'' | '' | ||
- | ==== 公共 CI 机器上编译用户模式的 QEMU ==== | + | === 公共 CI 机器上编译用户模式的 QEMU === |
这里我们可以使用清华源来加快 git clone 的速度,然后转到最新版的分支用于构建: | 这里我们可以使用清华源来加快 git clone 的速度,然后转到最新版的分支用于构建: | ||
Line 170: | Line 249: | ||
:!: 公共机器上无需再去 openEuler 官方下载相关文件,Wechat@nil 准备了一份放在了 / | :!: 公共机器上无需再去 openEuler 官方下载相关文件,Wechat@nil 准备了一份放在了 / | ||
- | ==== 我的虚拟环境没空间了 | + | === 我的虚拟环境没空间了 === |
这我还真在编译 openjdk 的时候遇到了。 | 这我还真在编译 openjdk 的时候遇到了。 |