快速搭建mips环境
2019-11-17 本文已影响0人
E4x
系统环境为Ubuntu16.04,软件源为阿里云
0x01 安装qemu、libguestfs
sudo apt-get update
sudo apt-get install qemu libguestfs-tools
0x02 安装mips交叉编译
sudo apt-get install emdebian-archive-keyring
sudo apt-get install linux-libc-dev-mips-cross
sudo apt-get install libc6-mips-cross libc6-dev-mips-cross
sudo apt-get install binutils-mips-linux-gnu gcc-mips-linux-gnu
sudo apt-get install g++-mips-linux-gnu
此交叉编译工具应该已经完成了,可以测试一下
best@E4x:~/mips$ mips-linux-gnu-gcc --version
mips-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
但是实际运行时却报错⬇️
best@E4x:~/mips$ qemu-mips ./mips_test
/lib/ld.so.1: No such file or directory
查资料后发现这个交叉编译工具默认会到/lib目录下找ld和libc,添加软链接到/usr/mips-linux-gnu/lib/目录下可解决
sudo ln -s /usr/mips-linux-gnu/lib/ld.so.1 /lib/ld.so.1
sudo ln -s /usr/mips-linux-gnu/lib/libc.so.6 /lib/libc.so.6
最后测试可以运行
best@E4x:~/mips$ file mips_test
mips_test: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, interpreter /lib/ld., for GNU/Linux 3.2.0, BuildID[sha1]=90ec348a4bff3e0e9d2a20cb3b68aa3ed5dbb6d7, not stripped
best@E4x:~/mips$ qemu-mips ./mips_test
Hello Mips