hosts三个参数什么意思,hosts用什么打开

首页 > 数码 > 作者:YD1662024-04-05 01:05:58

(2)交叉编译libnl-3.2.23

./configure --prefix=/home/LinuxZn/git_clone/libnl-3.2.23/libnl_build_arm --host=arm-linux-gnueabihf make make install

交叉编译得到:

hosts三个参数什么意思,hosts用什么打开(13)

(3)交叉编译wpa_supplicant-2.9

将wpa_supplicant源码拷贝到linux主机并解压,然后进入wpa_supplicant目录下。 将wpa_supplicant目录下的defconfig拷贝一份并重命名为.config,然后打开.config文件:

cp defconfig .config vim .config

在.config文件中增加如下内容,其中openssl和libnl库的路径就是刚刚openssl和libnl安装的位置:

#交叉编译器 CC=arm-linux-gnueabihf-gcc #openssl 库和头文件路径 CFLAGS = -I/home/LinuxZn/git_clone/openssl-1.0.2/openssl_build_arm/include LIBS = -L/home/LinuxZn/git_clone/openssl-1.0.2/openssl_build_arm/lib #libnl 库和头文件路径 CFLAGS = -I/home/LinuxZn/git_clone/libnl-3.2.23/libnl_build_arm/include/libnl3 LIBS = -L/home/LinuxZn/git_clone/libnl-3.2.23/libnl_build_arm/lib

接着还需要指定 libnl 库的 pkgconfig 路径,环境变量 PKG_CONFIG_PATH 保存着 pkgconfig 包路径:

export PKG_CONFIG_PATH=/home/LinuxZn/git_clone/libnl-3.2.23/libnl_build_arm/lib/pkgconfig:$PKG_CONFIG_PATH

编译:

make

编译可能会报如下错误。这时候把.config里的下面两句屏蔽掉即可:

#CONFIG_CTRL_IFACE_DBUS_NEW=y #CONFIG_CTRL_IFACE_DBUS_INTRO=y

编译结束后会在当前目录下生成wpa_supplicant和wpa_cli两个工具。 将这两个文件拷贝到开发板/usr/bin目录下。

首先,在开发板/etc目录下新建一个wpa_supplicant.conf文件,文件内容如下:

ctrl_interface=/var/run/wpa_supplicant update_config=1 ctrl_interface_group=root ap_scan=1 network={ ssid="ChinaNet-9ee9" psk="s6iyvweq" key_mgmt=WPA-PSK }

接着需要新建/var/run/wpa_supplicant目录:

mkdir -p /var/run/wpa_supplicant

最后使用下面的命令连接wifi:

wpa_supplicant -Dwext -c /etc/wpa_supplicant.conf -i wlan1&

输出如下信息(wlan1: CTRL-EVENT-CONNECTED)则表明已经连接成功

[root@imx6ull:/etc]# [ 968.615223] ------------[ cut here ]------------ [ 968.622210] WARNING: CPU: 0 PID: 127 at net/wireless/sme.c:733 __cfg80211_connect_result 0x2e4/0x404 [ 968.635489] ---[ end trace c94b130fc23cc767 ]--- wlan1: Associated with 28:bf:89:7b:a1:23 wlan1: WPA: Key negotiation compl[ 968.655338] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready eted with 28:bf:89:7b:a1:23 [PTK=CCMP GTK=CCMP] wlan1: CTRL-EVENT-CONNECTED - Connection to 28:bf:89:7b:a1:23 completed [id=0 id_str=]

这样就是连接成功,再动态获取下ip即可

udhcpc -i wlan1 //-i指定网卡

接着执行ifconfig就可以看到已经分配ip地址的无线网卡了。这里若wlan1还是没有ip地址,可能是获取的ip地址还没有被写入网卡设备。

我们开发板分到的ip如:

hosts三个参数什么意思,hosts用什么打开(14)

这时候如果我们的路由器可以上网的话,就可以ping得通外网,如果路由器没网的话,可以ping我们的Ubuntu主机进行测试。这里我们ping百度测试如下则表明我们的开发板已经搭建好网络环境了:

hosts三个参数什么意思,hosts用什么打开(15)

这时候就可以愉快地玩耍啦!

ssh移植

上面两步已经让我们的开发板具有无线网络环境了。有必要搭建一个实用的环境:ssh环境。

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。 我们工作中经常使用ssh,Ubuntu主机可以很方便地与开发板进行交互。

交叉编译openssh需要依赖于zlib及openssl库,所以我们需要先交叉编译好这两个库。这些库都有很多个版本,可能会遇到版本不匹配的问题,这里我使用的版本如下:

(1)交叉编译openssl-1.0.2

交叉编译openssl-1.0.2在上面编译wpa_supplicant-2.9已经演示过了,这里不再演示。

(2)交叉编译zlib-1.2.3

./configure --prefix=/home/LinuxZn/git_clone/zlib-1.2.3/zlib_build_arm

得到Makefile,修改里面的CC为交叉编译器:

CC=arm-linux-gnueabihf-gcc CFLAGS=-O3 -DUSE_MMAP #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ # -Wstrict-prototypes -Wmissing-prototypes LDFLAGS=-L. libz.a LDSHARED=arm-linux-gnueabihf-gcc CPP=arm-linux-gnueabihf-gcc -E

然后执行:

make make install

编译得到:

hosts三个参数什么意思,hosts用什么打开(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.