移植DHCP服务器到Android平台RK3399板子中

Shirley ·
更新时间:2024-11-15
· 574 次阅读

前言
现需要将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



rk3399 dhcp服务 dhcp服务器 dhcp Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号