wifidog交叉編譯

yxwkaifa發表於2016-04-22
本文主要記錄在linux平臺下。交叉編譯wifidog並在openwrt平臺上執行的過程。主要是針對wifidog原始碼被改動後。

不得不親自進行交叉編譯移植的時候,所碰到的一些問題。

(1)下載原始碼
這個能夠到wifidog官方下載。

(2)交叉編譯環境
這個須要提前準備好。也不多說了

(3)解壓。並進入程式碼資料夾
執行./autogen.sh
可能會報錯:libtoolize: command not found
這個須要安裝一下依賴的工具包:apt-get install libtool

(4)然後執行./configure
./configure –host=mips-openwrt-linux –prefix=$PWD/install
host引數指定的是目的平臺,普通情況下。設定了host之後,makefile中的編譯器會自己主動調整為host平臺的編譯器
prefix引數是指執行make install 之後。程式安裝的路徑。

安裝在原始碼資料夾的install資料夾內,是為了不汙染主機的環境。

(5)然後把install資料夾中的檔案,都複製到目的平臺(我這裡是openwrt)
可是臨時是無法啟動wifidog的。由於還沒有配置檔案。能夠在原始碼資料夾找到,複製到目標平臺的 /etc/wifidog.conf
詳細的配置,請自行google

(6)這裡提一點,假設是能夠直接安裝wifiedog的,就直接線上安裝吧,不要折騰。
我是不得不改動wifidog 的原始碼,新增介面。才自行交叉編譯的。


假設像我情況一樣的話,建議先線上安裝wifidog,然後交叉編譯完之後把原來安裝的wifidog替換掉就好了。

這樣子能夠省了一些寫啟動指令碼之類的工作。

(7)當然。移植過程中還會遇到其他問題。比如
Reading configuration file ‘/home/mint/workspace/my-wifidog/wifidog-gateway/install/etc/wifidog.conf’
Could not open configuration file ‘/home/mint/workspace/my-wifidog/wifidog-gateway/install/etc/wifidog.conf’
這裡報錯是由於,預設把安裝路徑install以下的/etc作為預設配置檔案的資料夾。須要在wifidog啟動的時候指定一下。

在openwrt平臺上。wifidog啟動的指令碼是/usr/bin/wifidog-init
在option那裡新增一個 引數 ” -c /etc/wifidog.conf “

相關文章