2.移植NET-SNMP到开发板ARM
SNMP:net-snmp-5.7.1交叉编译:arm-linux-gcc4.3.2 ubuntu2013.04.27 系统新装,net-snmp linux版还未装,ACE装了。
步聚: //参考来源:http://www.linuxidc.com/Linux/2012-05/61074p2.htm 1 2 页
一、移植前的准备 ---安装amr-linux-gcc
把arm-linux-gcc-4.3.2.tgr.gz复制到/root下解压,exportPATH=/usr/local/arm/4.3.2/bin:$PATH添加到gedit/etc/bash.bashrc 末尾保存,然后source /etc/bash.bashrc生效,用arm-linux-gcc –v 查看版本检测是否安装成功!
二、 移植过程
1 .下载源码包:从http://www.net-snmp.org/网址下载net-snmp-5.7.1.zip源码包
2.解压unzip net-snmp-5.7.1.zip到root目录下,mv net-snmp-5.7.1 net-snmp-arm重命名.cdnet-snmp-arm,
3.配置:
静态编译:
动态编译:
CC=arm-linux-gcc ./configure--build=i386-linux --host=arm-linux --enable-mini-agent --disable-ipv6--with-endianness=little --disable-manuals --disable-ucd-snmp-compatibility--enable-as-needed --disable-embedded-perl --without-perl-modules --disable-snmptrapd-subagent--disable-applications --disable-scripts
(各配置选项含义可以使用./configure –help来查看,可以添加自己需要的选项或者去掉不需要的选项)。
4. #make install,有时可能会编译出错,所以在此之前最后先关机下再开机,然后进行安装,完成后会在root/ net-snmp-5.7.2/agent 和/usr/sbin下生成 snmpd二进制文件 。 如果出错原因,有些库没装的话,要装上。我的是这个库:apt-get install libperl.dev
5.移植到开发板
编译得到的snmpd比较大,需要进行strip处理,使用arm-linux-strip snmpd处理后得到需要的snmpd文件。
进入cd /usr/local/sbin/ 把snmpd 和之前linux版的snmpd.conf 通过ftp复制到开发板的/usr/local/sbin下。
把/usr/local/share/mibs/ 也拷贝到开发板相应目录下,没有目录就创建。
6.测试结果
a. 打开SecureCRT进入开发板 /usr/local/sbin/, 执行: ./snmpd –C –c ./snmpd.conf //需要的库从linux拷贝
(也可以指定目录:snmpd –Lsd –c /usr/local/share/snmp/snmpd.conf –M/usr/snmp/MIBS &)
b. 进入虚拟机LINUX目录/usr/local/bin/ 运行:./snmpget -v2c -c public 192.168.0.236sysDescr.0 //192.168.0.236为开发板的IP
会显示:SNMPv2-MIB::sysDescr.0 = STRING: LinuxFORLINX6410 2.6.36.2 #2 Thu Mar 21 18:41:13CST 2013 armv6l
注:测试前要先确保两台虚拟机linux可以互通,snmpwalk、snmpget测试OK!