码农知识堂 - 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博客

  • 相关阅读:
    spring总结,从底层源码角度概括,一文看懂打通spring任督二脉
    SpringBoot使用Mybatis
    buildroot添加package包
    解决 cocos2d-x-4.0 IOS构建出错的问题—执行命令出错,返回值:65
    Three.js——骨骼动画
    还不清楚如何编辑图片上的文字的话,就看看这篇文章吧
    springboot websocket 客户端实现
    Java - 手写识别; 如何用spring ai和大模型做手写识别教程
    C++用条件变量实现线程安全的queue容器
    textarea文本展示,定时器模仿一个一个出字的效果。
  • 原文地址:https://blog.csdn.net/qq_46675545/article/details/127906559
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号