EMUX固件模拟系统使用(1)

EMUX是ARMX的升级版本,是由Saumil Shah研发的一款开源的固件模拟工具,其使用的核心是qemu,支持ARM(小端)、MIPS(大、小端)固件的模拟。

推荐使用Ubuntu 20.04及以上系统安装,首先需要安装git、docker,命令如下:

apt install -y git
curl -sSL https://get.daocloud.io/docker | sh

为了更好地使用docker,建议添加docker加速源,在此文件添加以下内容:/etc/default/docker

DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"

现在来安装EMUX

(1)克隆EMUX源码
git clone --depth 1 --single-branch https://github.com/therealsaumil/emux.git
(2)安装EMUX的docker环境
cd emux
sudo ./build-emux-volume
sudo ./build-emux-docker
(3)启动EMUX
sudo ./run-emux-docker
可以输入以下命令开启第二个窗口
sudo ./emux-docker-shell

启动后如下图所示:

这里可以输入的命令如下:

(1) launcher ,启动主界面,可以进行选择模拟的不同型号

示例选择1 进入后,需要输入root才能开启模拟环境

显示选择界面,通常选择1才能进入模拟系统

(2)userspace, 重新进入上面选择的设备型号的界面

进入系统,开启8080的服务

在Ubuntu系统中访问http://127.0.0.1:28080即可访问示例自带的交通灯页面:

访问http://127.0.0.1:20080即可访问模拟的设备页面,到此模拟已经完成。

附端口映射表:

序号外部端口(Ubuntu系统)内部端口(模拟的系统)
120080192.168.100.2:80
220443192.168.100.2:443
328080192.168.100.2:8080
424433192.168.100.2:4433
59999192.168.100.2:9999

上述是默认的端口映射表,如果不够可以这样添加,比如你需要添加一个1234端口的映射,那么导入PORTFWD环境变量即可:

# 使用root账户登录
su
# 外部端口号:内部端口号
export PORTFWD="20080:80,20443:443,21234:1234"
./run-emux-docker

或者直接修改run-emux-docker脚本内容:

参考链接:

https://github.com/therealsaumil/emux

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注