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系统) | 内部端口(模拟的系统) |
| 1 | 20080 | 192.168.100.2:80 |
| 2 | 20443 | 192.168.100.2:443 |
| 3 | 28080 | 192.168.100.2:8080 |
| 4 | 24433 | 192.168.100.2:4433 |
| 5 | 9999 | 192.168.100.2:9999 |
上述是默认的端口映射表,如果不够可以这样添加,比如你需要添加一个1234端口的映射,那么导入PORTFWD环境变量即可:
| # 使用root账户登录 su # 外部端口号:内部端口号 export PORTFWD="20080:80,20443:443,21234:1234" ./run-emux-docker |
或者直接修改run-emux-docker脚本内容:

参考链接: