码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Gem5 for Ubuntu20.04


    一、安装Ubuntu 

    参考教程:史上最全最新Ubuntu20.04安装教程(图文) - 知乎 (zhihu.com)

    1. 查看Ubuntu版本号命令:

    lsb_release -a

            显示如下:

    Distributor ID:    Ubuntu     //类别是ubuntu
    Description:    Ubuntu 22.04.1 LTS  //22年4月发布的稳定版本,LTS是Long Term  Support:长时间支持版本,支持周期长达三至五年
    Release:    22.04     //发行日期或者是发行版本号
    Codename:    jammy   //ubuntu的代号名称

    2. 如何实现虚拟机和本机的直接复制黏贴:

    sudo apt-get autoremove open-vm-tools
    sudo apt-get install open-vm-tools
    sudo apt-get install open-vm-tools-desktop

    3. 如何设置字体和分辨率:

    鼠标右键选择显示display settings,再根据本机分辨率自行调整

     4.如何更换镜像源:仅适用于Ubuntu20.04

    (22条消息) ubuntu20.04更换清华源_PisaYu的博客-CSDN博客_ubuntu20.04换清华源


    二、搭建gem5环境

    基本配置:Ubuntu20.04    2GB内存   20G硬盘   VMware15.5

    1.安装依赖软件。使用官方指南的命令行一站式配置gem5所需要的环境:

    1. sudo apt install build-essential git m4 scons zlib1g zlib1g-dev \
    2. libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
    3. python3-dev python-is-python3 libboost-all-dev pkg-config

    2.获取源码。克隆gem5代码仓库,如果直接使用官网的方法,那就会从GitHub下载,下载速度捉急,这里建议改用Gitee下载:

    git clone https://gitee.com/koverlu/gem5.git

    从gitee中获取的源码和gem5官方代码库的最新版本是一致的。若想使用以前的版本可以通过git进行版本回调。

    3.设置swap交换区。Swap分区是什么?Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Linux Swap交换分区设置教程:关闭分区、创建分区文件、设置开机启动等 - VPS GO

    fallocate:fallocate失败:文本文件在Ubuntu 17.04中忙吗? | 码农俱乐部 - Golang中国 - Go语言中文社区 (mlog.club)

    dd if=/dev/zero of=/var/swapfile bs=1M count=4096  //bs*count是文件大下,此命令会创建一个4G的文件

    4.编译Gem5。仓库克隆完之后家目录下应该会多一个gem5目录,进入gem5目录,然后按照官网的指示编译X86内核(本次实验用X86内核,如果有需要,也可以使用别的,具体需要看官网)

    1. cd gem5 //切换到克隆下来的gem5源码目录
    2. scons build/X86/gem5.opt -j N

    其中X86可以替换为thumb、arm、sparc、arm64、riscv,j表示开启多线程,N为线程数,一般等于核心数-1,编译过程用时可能较长两三个小时,需要耐心等待。出现如下信息表示编译正常结束:

    到此为止,gem5的环境和实验用的CPU内核就全部准备好了!接下来可以按照官网指南搭建自己的脚本并尝试运行。

    5.测试

    ./build/X86/gem5.opt ./configs/example/se.py -c ./tests/test-progs/hello/bin/x86/linux/hello
    

    出现如下结果表示正确:


    参考链接:

    (22条消息) Linux:安装Debian最新10.x操作系统(超详细)_HowieXue的博客-CSDN博客

    史上最全最新Ubuntu20.04安装教程(图文) - 知乎 (zhihu.com)

    gem5学习笔记一:模拟器安装与使用 (qq.com)

    (22条消息) Ubuntu 20.04 LTS 安装gem5_OlivePlum的博客-CSDN博客

  • 相关阅读:
    PLSQL下载与安装
    Java基础 面试题
    Llama改进之——分组查询注意力
    C++之容器类有趣的实验(二百四十一)
    Android 按钮点击设置静音
    PMP的智慧(2) - 系统性思考及复杂性
    Apache Doris系列之:深入认识实时分析型数据库Apache Doris
    C++输入输出
    npm介绍
    Golang 编写测试用例(单元测试、压力测试等)最新教程,细到极致
  • 原文地址:https://blog.csdn.net/qq_46675545/article/details/127906559
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号