Ubuntu 20.04安装GEM5

进入root用户:

#sudo -i
sudo -s

1.配置环境:

sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev python-dev python

2.下载源代码:

git clone https://gem5.googlesource.com/public/gem5

这一步不能连接外网的话就直接下载压缩包:

链接:https://pan.baidu.com/s/1cnFdbuaBxg58ELzKiUZqPw

提取码:cbwc

3.使用命令cd gem5/进入

4.编译:(如果物理内存小于16G,建议执行此步骤之间查看swap大小,使用命令free -m)

scons build/ARM/gem5.opt -j8

5.测试:

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

输出Hello world!表示运行成功

编译过程可能出现的错误:

fatal error:Killed signal terminated program cc1plus

原因:内存不足,编译中止

解决办法:增加交换分区

Linux 交换区——SWAP

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,供当前运行的程序使用。被释放的空间可能来自一些长时间没有操作的程序,被释放的空间被临时保存在swap空间中,等到这些程序需要运行时,再从swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不足时,才进行swap交换。

增加swap交换分区

查看交换分区大小:

free -m

进入root用户:

#sudo -i

sudo -s

创建一个目录:

mkdir /swap

进入目录:

cd /swap

输入以下命令来增加swap空间:

dd if=/dev/zero of=swapfile bs=1024 count=10290000

执行成功后看见到如下内容:

        记录了10290000+0 的读入

        记录了10290000+0 的写出

        10536960000字节(11 GB,9.8 GiB)已复制,181.055 s,58.2 MB/s

配置:

mkswap swapfile

可能会出现如下提示:

        mkswap: swapfile:不安全的权限 0644,建议使用 0600。

        正在设置交换空间版本 1,大小 = 9.8 GiB (10536955904  个字节)

        无标签, UUID=f509e38b-9ba3-4652-82d3-a400892076a5

解决办法:

sudo chmod 600 swapfile

挂载交换区:

swapon swapfile

再次查看交换分区大小:

free -m

总计         已用        空闲      共享    缓冲/缓存    可用

内存:        7870        1877         142         400        5851        5296

交换:       12096           1       12095

如提示:swapon失败:设备或资源忙

采用如下步骤:

关闭swap交换区:

swapoff swapfile

重新挂载交换区:

swapon swapfile

如上,交换分区增加完成

参考:

1.Ubuntu安装gem5_xiao_huocai的博客-CSDN博客

2.【Linux】Ubuntu增加Swap交换区大小_m0_46537958的博客-CSDN博客

3.gem5: Building gem5

你可能感兴趣的:(ubuntu,linux)