移植DHCP到ARM Linux

ARM 706浏览

1、 配置

1.1

tar xzf dhcp-4.2.6.tar.gz
cd dhcp-4.2.5-6
./configure --host=arm-linux ac_cv_file__dev_random=yes

正常运行:

碰到问题

我的交叉编译工具链是arm-2009q3,bin目录下全为arm-none-linux-gnueabi-xxx没有软连接,

无论配置--host=arm-linux还是--host=arm-none-linux-gnueabi都会报错,

所以在工具链bin目录下添加一个软连接 ln -s arm-none-linux-gnueabi-gcc arm-linux-gcc

重新配置,通过。

1.2

cd bind

修改Makefile:增加

./configure BUILD_CC=gcc ac_cv_file__dev_random=yes --host=arm-linux --with-randomdev=no
tar xzf bind.tar.gz
cd bind-9.9.5

修改 lib/export/dns/Makefile.in

gen: ${srcdir}/gen.c
        ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS}

改为

gen: ${srcdir}/gen.c
        ${BUILD_CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS}

2、编译、安装

cd      dhcp根目录
make
make DESTDIR=$PWD/tmp install(这一步  可以忽略,make之后就会在client目录下生成dhclient)

3、把文件复制到板子

将client目录下编译好的dhclient可执行文件拷贝到目标板的/bin目录下。

将client目录下的dhclient.conf.5和client/scripts/linux拷贝到目标板的/sbin目录下,

将dhclient.conf.5改名为dhclient.conf,将linux脚本改名为dhclient-script。

输入命令

chmod +x dhclient-script

为dhclient-script添加可执行属性。

打开  dhclient-script

并修改

#!/bin/bash

改为

#!/bin/sh

4、测试

mkdir -p /var/db
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
dhclient wlan0