news 2026/5/1 10:08:03

【linux期末大作业】在Ubuntu22.04上通过XQUME安装RISC-V架构的linux系统并写hello world进行测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【linux期末大作业】在Ubuntu22.04上通过XQUME安装RISC-V架构的linux系统并写hello world进行测试

这里记录一次linux期末实验作业的过程:

实验作业要求如下:
1.选择一个嵌入式CPU的模拟器下载并安装。推荐但不限于以下几个模拟器:
GEM5
QEMU
Spike
Sail
在该模拟器中运行RISCV(从零开始手写一个RISCV模拟器也可以)或LA64(Loongarch)或其他嵌入式cpu。

2.选择目标指令集架构:
RISCV(RV32 / RV64)
LA64(LoongArch 64 位)
或其他你感兴趣且有工具链支持的嵌入式架构。
3.在宿主机上安装所需软件环境:
对应架构的交叉编译工具链(如 riscv64-linux-gnu-gcc 等);
源码管理与构建工具(git、make等);
4.在模拟器上启动 Linux 内核
观察并记录启动日志。
若启动失败,进行排错:
5.编写并运行 “Hello World” 程序
在宿主机上编写一个简单的 C 语言 “Hello World” 程序
使用交叉编译工具链,为目标架构编译该程序:
在模拟器中启动 Linux,登录到 shell 或进入命令行环境,执行该 “Hello World” 程序

我选择的是,在虚拟机的Ubuntu22.04上通过XQUME安装RISC-V架构的linux系统并写helloworld进行测试;

最终效果图如下所示:

文章目录

      • 步骤0:准备环境
      • 步骤 1:选择并安装模拟器
        • 选择:QEMU
      • 步骤 2:选择目标架构
        • 选择:RISC-V 64位 (RV64)
      • 步骤 3:获取并编译 Linux 内核
      • 步骤 4:制作根文件系统(rootfs)
      • 步骤 5:在 QEMU 中启动 Linux
      • 步骤 6:编写并运行 Hello World 程序

步骤0:准备环境

在虚拟机的ubuntu22.04上进行以下配置:

  1. 更新系统
    sudo apt update
    sudo apt upgrade -y

  2. 安装必要的基础工具:编译和运行模拟器所需的基础开发工具

sudoaptinstall-y\build-essential\git\wget\curl\vim
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:42:14

如何在5分钟内完成Azure CLI量子作业结果导出?真相曝光

第一章:Azure CLI 量子作业结果导出的核心概念在使用 Azure Quantum 服务进行量子计算任务时,作业执行完成后获取并导出结果是关键步骤。Azure CLI 提供了一套命令行工具,用于提交量子作业、监控其状态以及提取计算结果。理解如何通过 Azure …

作者头像 李华
网站建设 2026/5/1 7:42:15

三相交流异步电动机保护器控制系统(论文+源码)

在本课题为三相交流异步电动机保护器控制系统设计,本文在结合实际需求的基础之上,将系统主要设计功能进行分析,主要如下:1.实现电机运行时的电压检测;2.实现电机运行时的电流检测;3.实现电机运行时的温度检…

作者头像 李华
网站建设 2026/5/1 7:42:14

基本运算放大器原理

★运算放大器电路图标:Vp:同相输入端 Vn:反向输入端 Vo:输出端 1.同相输入端与反向输入端的意义。同相位 Vp Vn Vo 上升 接地或稳定的电平 上升 下降 接地或稳定的电平 下降 反相位 Vp Vn Vo 上升 接地或稳定的电平 下降 下降 接地…

作者头像 李华
网站建设 2026/5/1 7:42:14

Utilizing 英文单词学习

1️、基本信息单词:utilizing词性:动词(现在分词,动词原形 utilize)发音: 🇺🇸 /ˈjuː.t̬əl.aɪzɪŋ/🇬🇧 /ˈjuː.tɪ.laɪz.ɪŋ/词源: 来自…

作者头像 李华
网站建设 2026/5/1 8:54:38

LeetCode 分类刷题:110. 平衡二叉树

题目 给定一个二叉树,判断它是否是 平衡二叉树 解析 // 怎么递归? // 左右子树的高度相差不超过1 // 递归计算左、右子树的高度,如果高度相差超过1,返回-1;否则正常返回树的高度 // 递归终止条件:节点为…

作者头像 李华