Buildroot版本:2018.02-rc3
Buildroot内置DHCP包无法编译成功,参考以下链接手动编译成功:
https://www.cnblogs.com/y4247464/p/14870985.html
Cross Compiling ISC dhcp for ARM - BeyondLogic
1.下载并解压dhcp-4.3.0b1.tar.gz,放置在Buildroot目录下的output/rockchip_rk3568/build/dhcp
wget ftp://ftp.isc.org/isc/dhcp/4.3.0b1/dhcp-4.3.0b1.tar.gz
wget http://wiki.beyondlogic.org/patches/dhcp-4.3.0b1.bind_arm-linux-gnueabi.patch
wget http://wiki.beyondlogic.org/patches/bind-9.9.5rc1.gen_crosscompile.patch
tar zxvf dhcp-4.3.0b1.tar.gz
2.修改dhcp-4.3.0b1.bind_arm-linux-gnueabi.patch中
--host=arm-linux-gnueabi --target=arm-linux-gnueabi
改为:
--host=aarch64-linux-gnu --target=aarch64-linux-gnu
并并命名文件为:dhcp-4.3.0b1.bind_aarch64-linux-gnu.patch
3.修改dhcp-4.3.0b1目录下configure文件4440行:
STD_CWARNINGS="$STD_CWARNINGS -Wall -Werror -fno-strict-aliasing"
改为
STD_CWARNINGS="$STD_CWARNINGS -Wall -fno-strict-aliasing"
4.在dhcp目录下新建文件build.sh,在文件中添加
#/bin/sh
cd dhcp-4.3.0b1
patch -p1 < ../dhcp-4.3.0b1.bind_aarch64-linux-gnu.patch
cd bind
tar -xzf bind.tar.gz
cd bind-9.9.5rc1
patch -p1 < ../../../bind-9.9.5rc1.gen_crosscompile.patch
cd ../../
./configure --host=aarch64-linux-gnu --prefix= --build=i686-pc-linux-gnu ac_cv_file__dev_random=yes
make
make install DESTDIR=`pwd`/../../../target/
cp client/dhclient.conf.example `pwd`/../../../target/sbin/dhclient.conf
cp client/scripts/linux `pwd`/../../../target/sbin/dhclient-script
保存文件后修改权限并执行:
chmod a+x build.sh
./build.sh
5.执行完成后查看output/rockchip_rk3568/target是否有对应文件