如題,請各位先進幫幫手吧
首先我直接
yum install autoconf
yum install automake
1.arm-linux-gcc靜態編譯
先是使用 arm-linux的方式static編譯,
#autoconf
#./configure --host=arm-linux
make CC=arm-linux-gcc
後來發現brctl在android 沒有 作用
2.重編內核linux-2.6.36-android(友善版的)bridge部份
選擇briding support
產出bridge.ko
但是insmod bridge.ko
exports duplicate symbol br_should_route_hook(owned by kernel)
insmod:init_module '/system/...bridge.ko' failed (Exec format error)
3.只好重新移植Bridge-utils到android
改寫android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
BRCTL_BUILD :=true
ifneq ($TARGET_SIMULATOR),true)
BRCTL_BUILD :=true
endif
ifndef L_CFLAGS
L_CFLAGS := -O2 -Wall -g -static
endif
INCLUDES_BRCTL :=-I/libbridge
INCLUDES_LIBBRIDGE :=-I/libbridge
COMMON_SOURCES := brctl/brctl_cmd.c brctl/brctl_disp.c
SOURCE_BRCTL := brctl/brctl.c $(COMMON_SOURCES)
LIBBRIDGE_SOURCES := \
libbridge/libbridge_devif.c \
libbridge/libbridge_if.c \
libbridge/libbridge_init.c \
libbridge/libbridge_misc.c
ifeq ($(BRCTL_BUILD),true)
include $(CLEAR_VARS)
LOCAL_MODULE := libbridge
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LIBBRIDGE_SOURCES)
LOCAL_CFLAGS := $(L_CFLAGS)
LOCAL_C_INCLUDES := $(INCLUDES_LIBBRIDGE)
LOCAL_SHARED_LIBRARIES :=libc libcutils
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := brctl
LOCAL_MODULE_TAGS := optional
LOCAL_SHARED_LIBRARIES :=libc libcutils
LOCAL_STATIC_LIBRARIES :=libbridge
LOCAL_CFLAGS := $(L_CFLAGS)
LOCAL_SRC_FILES := $(SOURCE_BRCTL)
LOCAL_C_INCLUDES := $(INCLUDES_LIBBRIDGE)
include $(BUILD_EXECUTABLE)
endif
#############################
make: Entering directory `/home/Android-2.3.4'
target thumb C: libbridge <= external/bridge-utils-1.5/libbridge/libbridge_devif.c
external/bridge-utils-1.5/libbridge/libbridge_devif.c:26:23: error: sys/fcntl.h: No such file or directory
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libbridge_intermediates/libbridge/libbridge_devif.o] Error 1
make: Leaving directory `/home/Android-2.3.4'
請各位先進幫幫手吧
[ 此帖被kazaya在2011-11-02 18:15重新编辑 ]