mosquitto的交叉编译mips

本文记录了在Ubuntu环境下,使用32位MIPS交叉编译器对Mosquitto 1.4.9进行交叉编译的过程。解决了编译过程中遇到的问题,包括手动链接OpenSSL库,并成功在目标板上运行了发布与订阅示例。

       最近看到mosquitto,决定在板子上试一下。

去官网https://projects.eclipse.org/projects/technology.mosquitto下载了1.4.9版的代码试了一下

中间一些过程记录下来

        注:ubuntu是32位的,交叉编译的mips的gcc也是32位。

涉及到openssl的交叉编译就不写了。在ubuntu的终端进入mosquitto的目录,

正常来说输入

make clean
make WITH_SRV=no CC=/home/yyyy/mipsel-gcc/bin/mips-linux-gnu-gcc

就是可以编译的,但是中间过程出现一些问题,主要是在编译client目录下例子的时候,需要手动进入目录,加入openssl库,不知道是哪里的问题。具体操作过程如下。

cd client  

/home/yyyy/mipsel-gcc/bin/mips-linux-gnu-gcc pub_client.o client_shared.o -o mosquitto_pub  -L../lib ../lib/libmosquitto.so.1 /usr/local/ssl/lib/libssl.so.1.0.0 /usr/local/ssl/lib/libcrypto.so.1.0.0

cd ..

make WITH_SRV=no  CC=/home/yyyy/mipsel-gcc/bin/mips-linux-gnu-gcc


cd client  

/home/yyyy/mipsel-gcc/bin/mips-linux-gnu-gcc sub_client.o client_shared.o -o mosquitto_sub  -L../lib ../lib/libmosquitto.so.1 /usr/local/ssl/lib/libssl.so.1.0.0 /usr/local/ssl/lib/libcrypto.so.1.0.0

cd ..

make WITH_SRV=no CC=/home/yyyy/mipsel-gcc/bin/mips-linux-gnu-gcc


这样在就交叉编译好了mosquitto,及client目录下的sub和pub的例子。


把sub和pub的例子都拷贝到板子上


然后在windows上安装mosquitto windows版,并在命令行下启动。


然后在板子上分别启动两个程序,订阅和发布消息均成功。



### Kali Linux 下进行 MIPS 架构的 Dropbear 交叉编译教程 在 Kali Linux 上为 MIPS 架构交叉编译 Dropbear SSH 服务器涉及多个步骤,包括安装必要的工具链、配置源码以及执行编译过程。以下是详细的指导内容。 #### 工具链准备 首先需要获取适合的目标架构(MIPS)的交叉编译工具链。可以通过以下两种方式进行安装: - **使用预构建工具链**:许多开发者社区提供了针对不同架构优化好的交叉编译器包。例如,CodeSourcery 提供了一个广泛使用的 GCC 工具链集合。 - **通过 APT 获取**:Kali Linux 自带丰富的软件仓库资源,可以直接从中拉取所需工具链。 推荐采用第二种方法以保持一致性与兼容性。运行如下命令更新系统并安装对应工具链: ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential binutils-mips-linux-gnu gcc-mips-linux-gnu libc6-dev-mips-cross -y ``` #### 获取 Dropbear 源代码 访问官方 Git 存储库克隆最新稳定版 Dropbear 源码或将压缩包下载解压至本地目录中。 ```bash git clone https://github.com/mkj/dropbear.git /opt/dropbear-source cd /opt/dropbear-source ``` #### 配置编译环境 进入项目根目录后需编辑 Makefile 文件修改默认设置使其适应新平台需求。重点在于指定正确的 CROSS_COMPILE 变量指向先前已安裝之 MIPS-GNU-Linux 工具链前缀名字符串形式表达式;同时开启静态链接选项确保最终产物不依赖任何宿主机上的动态库文件[^2]。 打开终端输入 vi 或 nano 打开Makefile做相应更改: ```makefile CROSS_COMPILE ?= mips-linux-gnu- ... LDFLAGS += -static ``` #### 开始编译进程 保存所做的全部改动之后就可以正式开始构建流程啦!只需简单地键入 make 即可自动完成所有必要任务. ```bash make PROGRAMS="dropbear dbclient scp dropbearkey" ``` 等待一段时间直到看到屏幕上打印出成功的消息为止就代表我们已经成功创建出了适用于 MIPS 设备版本的 Dropbear 程序集了! #### 测试生成物 为了验证刚刚制作出来的二进制档是否能正常使用,在目标机器上尝试启动服务端程序看看效果如何吧! ```bash scp ./dropbear root@your_mips_device_ip:/usr/sbin/dropbear ssh your_mips_device_ip "/usr/sbin/dropbear -p 2222" ``` 现在可以从另一台计算机连接过去体验一下远程登录的感觉啰~ --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值