RTL8192CU驅動移植及內核配置:linux
1.驅動到realtek官網下載less
2.下載完解壓到內核下的drivers/net/wireless目錄,spa
3.在此目錄下的Kconfig文件添加以下orm
4.source "drivers/net/wireless/rtl8192cu/Kconfig"dns
5.在此目錄下的Makefile文件添加obj-$(CONFIG_RTL8192CU) += rtl8192cu/ssl
6.make menuconfig開發
7.選中進入Networking support openssl
8.選中進入Wireless it
9.選中cfg80211 - wireless configuration API io
10.主菜單中進入Device Drivers
11.選中進入Network device support
12.選中進入Wireless LAN
13.選中Realtek 8192C USB WiFi
14.保存配置編譯內核
15.make zImage
16.make modules
17.燒寫linux啓動完成以後,多了一個wlan0設備
Libnl-3.2.25移植:
1.下載最新版libnl-3.2.25
2.執行./configure --prefix=/usr/local/arm/libnl-3.2.25 –host=arm-linux
3.make
4.su以root身份登陸,make install,將libnl庫安裝至/usr/local/arm/libnl-3.2.25路徑下
5.將/usr/local/arm/libnl-3.2.25/lib下全部文件拷貝至開發板的/lib目錄下,確保hostapd在開發板上運行,可以正確找到libnl庫的位置
Openssl-1.0.1j移植:
openssl在arm下的交叉編譯靜態連接庫:
1.下載最新版本openssl-1.0.1j
2../Configure linux-armv4 shared --prefix=/usr/local/openssl-1.0.1j
3.修改Makefile中相關項爲arm-linux-系列
4.make
5. su以root身份登陸,make install
openssl在arm下的交叉編譯動態連接庫:
1.下載最新版本openssl-1.0.1j
2../configure linux-armv4 no-asm shared --prefix=/usr/local/openssl-1.0.1j
3.修改Makefile中相關項爲arm-linux-系列
4.make
5. su以root身份登陸,make install
6.將/usr/local/arm/libnl-1.0.1j/lib下全部文件拷貝至開發板的/lib目錄下,確保hostapd在開發板上運行,可以正確找到庫的位置
注意:
在項目的Makefile文件裏頭加入openssl的頭文件和庫文件的聲明,此時須要注意引用庫的順序爲:-lssl -lcrypto,若是爲 -lcrypto -lssl就會編譯錯誤。
Hostapd-2.3移植:
1. 下載最新版本hostapd-2.3
2. 修改配置文件
cp defconfig .config;
gedit .config;
找到這一行:#CONFIG_DRIVER_NL80211=y,去掉註釋,註釋掉其餘的CONFIG_DRIVER;
CONFIG_LIBNL32=y;
CFLAGS += -I/usr/local/arm/libnl-3.2.5/include/libnl3
LIBS += -L/usr/local/arm/libnl-3.2.5/lib/
CONFIG_TLS=openssl
CONFIG_TLSV12=y
CONFIG_IEEE80211N=y
其他默認
3. 修改Makefile文件以下
修改相關項爲arm-linux-系列
4.將hostpad和hostapd_cli拷貝到開發板/sbin下
5.將libnl和openssl的動態庫拷貝到開發板/lib下
6.開發板上執行/sbin/hostapd –v,輸出版本信息,表示移植成功
Dnsmasq-2.72移植:
1.下載最新版本dnsmasq-2.72
2.修改Makefile CC爲arm-linux-gcc
3.make
4.將dnsmasq拷貝到開發板/sbin下