一、编译环境
1、虚拟机Linux版本: Ubuntu16.04
2、编译器:arm-ca9-linux-gnueabihf
3、net-snmp版本:net-snmp-5.7.3
二、开始编译
1、解压源码
2、配置内容:
./configure --host=arm-linux --build=i686-linux \
--with-cc=arm-ca9-linux-gnueabifh-gcc \
--with-ar=arm-ca9-linux-gnueabihf-ar \
--with-endianess=little --disable-ipv6\
--disable-embedded-perl --disable-shared\
--prefix=...........
--with-default-snmp-version="2"
配置完成的summary
3、编译 make
主要使用编译后得到的snmpd,程序过大,需要瘦身,瘦身后:
4、将snmpd下载到arm板进行测试
运行成功
此时使用MIB Browser软件测试,发现连接失败,可能是由于配置文件缺失
查看snmpd日志:
这里主要有两个问题,一是缺少基本的MIB库,二是缺少配置文件
4、将源文件中的mibs文件夹下载到arm板并编写snmpd.conf文件
/*snmpd.conf*/
agentAddress udp:161
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
rocommunity public default
再运行snmpd,通过MIB Browser可正常访问:
至此,SNMPD移植初步完成,之后可根据需要添加自己的MIB库,并编写加入自己的子代理。