1. download source code
https://www.tcpdump.org/

選左手邊的Latest Release
下載
tcpdump-4.3.0.tar.gz
libpcap-1.3.0.tar.gz

2. 編譯 libpcap
建立安裝目錄
mkdir install
解壓縮
tar -zxvf libpcap-1.3.0.tar.gz
cd libpcap-1.3.0/
配置:交叉編譯器及安裝目錄 (要絕對路徑)
./configure --host=arm-none-linux-gnueabi --prefix=/install
碰到錯誤:
configure: error: pcap type not determined when cross-compiling; use --with-pcap=...
加入--with-pcap=linux 再一次
./configure --host=arm-none-linux-gnueabi --prefix=/install --with-pcap=linux
配置成功!
編譯:
make
make install

會把相關動態連結資料檔都放在install目錄裡

接續:

你可以把這些libs copy到你的交叉編譯器lib的目錄 和rootfs/lib (可能需要root權限)

查看交叉編譯器位置

which arm-none-linux-gnueabi-gcc

cd install/lib

cp -d ./* <cross-compiler root>/lib

3.編譯tcpdump

解壓縮

tar -zxvf tcpdump-4.3.0.tar.gz

cd tcpdump-4.3.0/

配置:

./configure --host=arm-none-linux-gnueabi

碰到錯誤:

configure: error: cannot determine linux version when cross-compiling

配置ac_cv_linux_vers=2 再一次

./configure --host=arm-none-linux-gnueabi ac_cv_linux_vers=2

配置成功!

編譯:

make

碰到錯誤:

./addrtoname.c:710: error: invalid 'asm': invalid operand for code 'w'

修改makefile

INCLS = -I. -I./../libpcap-1.3.0  -I/usr/include -I./missing

成:

INCLS = -I. -I./../libpcap-1.3.0  -I<your cross-compile path>/include -I./missing

make

完成

創作者介紹
創作者 地瓜粥在讀書 的頭像
jpsix

地瓜粥在讀書

jpsix 發表在 痞客邦 留言(0) 人氣( 2120 )