Batman-adv源码编译安装

Batman-adv源码编译安装

https:downloads.open-mesh.org/batman/releases/batman-adv-2022.0

1.首先到上面的网站分别下载下面这三个文件,batman-adv文件夹下的net文件夹下的batman-adv是核心源码,另外两个是管理程序
在这里插入图片描述
2.对两个管理程序,解压后进入到文件夹下,make编译,然后make install ,会生成执行命令到/usr/local/sbin(还是bin,忘记了,反正执行之后有提示到哪里了)。这里要注意:有的linux系统,可能PATH路径下没有这个路径,记得加一下,这样外面也可以执行
3.batman-adv也是make,然后make install 来获得batman-adv.ko,再去batman-adv.ko对应的文件夹下执行insmod batman-adv.ko将该组件插入到内核空间。这里要注意:大多数linux系统下有自带的batman-adv内核空间模块,所以需要rmmod batman-adv.ko。不过,我试过Debian11,这个系统下一开始没有。
4.测试,打开main.c文件,执行一条测试语句printk(KERN_INFO “Hello Test\n”);。然后重新make,make install,rmmod batman-adv.ko,insmod batman-adv.ko
最后执行dmesg,可以找到对应的输出。说明编译没问题了
5.后续要安装配置batman协议,可以使用batctl的一些命令。具体可以看官网,上面压缩包里面的reademe也可以看。

上述是在Debian11电脑系统上运行编译,后面在树莓派上编译,树莓派系统也是Debian

在树莓派上编译遇到的问题
问题1:树莓派headers下面没有build文件
https://www.bilibili.com/read/cv11737094
树莓派为了节省内存空间,所以出厂原生的Raspbian系统是没有这个Build文件夹的。此时,我们需要安装Linux Headers内核相关文件
sudo apt install raspberrypi-kernel-headers
问题2:编译batctl的时候出现No libnl-3.0 development libraries found!. Stop.
安装依赖包
sudo apt-get install libnl-3-dev libnl-genl-3-dev
问题3:编译alfred的时候出现No libcap development libraries found!. Stop.
sudo apt-get install libcap-dev
问题4:编译alfred的时候出现No libgps development libraries found!. Stop.
sudo apt-get install libgps-dev

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值