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

  • 相关阅读:
    本地知识库开源框架Fastgpt、MaxKB产品体验
    xss过滤绕过笔记
    git服务器宕机后,怎么用本地仓库重新建立gitlab服务器(包括所有历史版本)
    单片机器件元器件选型
    爬虫逆向实战(33)-某联社数据(webpack)
    东北大学pillow库上机实验(第三方库练习)
    Codeforces Round 895 (Div. 3)
    Selenium教程(1)选择和查找基本元素
    Java项目校园兼职平台(三层架构+设计模式重构版)(含代码)
    使用电力系统稳定器 (PSS) 和静态 VAR 补偿器 (SVC) 提高瞬态稳定性(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/qq_46675545/article/details/127906559
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号