移植DHCP服务器到Android平台RK3399板子中
前言
现需要将RK3399板子能够将自身WIFI接收到的网络数据通过Ethernet网口分发出去,使其扩展成为像路由器一样的功能,并且可以自动分配IP给Client,做到自由上网。自动分配IP地址,则就想到了DHCP服务器的功能,但Android中是没有自带的DHCP服务器的,所以就涉及到DHCP服务器移植,移植方法网上有很多教程,此文针对RK3399平台,DHCP服务器移植的经验之淡,以便将来作回顾的用处。
移植步骤
以下步骤基于Ubuntu16.04的环境下
1、先下载DHCP压缩包,网上有着各种的版本供选择。我这里下载的是dhcp-4.2.5版本的,有需要的可以由以下链接下载。
链接:https://pan.baidu.com/s/1nofp6k9sGsg5d0MVxPy0nQ
提取码:fe8c
2、下载好了dhcp-4.2.5.tar.gz,随便放在一个目录下进行解压:
sudo tar -zxvf dhcp-4.2.5.tar.gz
3、进入到dhcp-4.2.5目录后执行 sudo ./configure --host=arm-linux ac_cv_file__dev_random=yes CC=/usr/local/arm/5.4.0/usr/bin/arm-linux-gcc这里的arm-linux-gcc是指你的交叉编译工具所在目录。
4、进入bind目录,编辑Makefile文件。更改后如下,其中–prefix是设置参数,我将之后需要在移植后的平台上创建的dhcpd.leases文件放在/system/local/var/db/中,此路径可以根据你的需要更改。
5、在bind目录下解压bind.tar.gz,sudo tar -zxvf bind.tar.gz并进入到此文件夹。修改 lib/export/dns/Makefile.in,sudo gedit lib/export/dns/Makefile.in。
6、返回到根目录(dhcp-4.2.5),执行sudo make LDFLAGS="-static"; sudo make DESTDIR=$PWD/tmp install ,编译成功如下图所示:
7、进入tmp/usr/sbin中将dhcpd文件通过adb push命令复制到Android系统/system/bin中;进入dhcp-4.2.5/server中将dhcpd.conf.example修改内容并命名为dhcpd.conf并adb push到Android系统/systen/etc中。
8、通过adb shell进入Android系统命令行,执行dhcpd,一般来说第一次运行的话,会报错。可以手动在指定的路径中创建dhcpd.lease和dhcpd.pid文件,如此,DHCP服务器就可以运行了。
至此,多谢阅读。
作者:define_001
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341