本文以6ull-s 4.1.15为例,方法是通用的 1.内核配置Ethernet Bridgingmake imx6ull_defconfig 加载配置文件 make menuconfig 打开图形配置界面 加载路径为Networking support/Networking options/【*】802.1d Ethernet Bridging 空格加载,回车进入,【*】为配置进内核,【M】为配置为模块 . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 运行环境变量 make zImage 编译内核 2.配置busybox,加载brctl工具 busybox 在板子终端查看busybox是否加载了brctl(若已加载,可跳过) 在开发环境中: tar xvf busybox-1.24.1.tar.bz2 cd busybox-1.24.1 make menuconfig Busybox Settings --->General Configuration --->[*] Don't use /usr (这样在安装的时候会安装到自己指定的目录(default ./_install).这个选项一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令。选择这个之后,make install后会在busybox目录下生成_install的目录,里面有busybox和指向它的链接) 添加交叉编译路径: BusyboxSettings--->BuildOptions (/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-)Cross Compiler prefix (/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi)Path to sysroot (-mfloat-abi=hard) Additional CFLAGS ()Additional LDFLAGS (-L/opt/fsl-imx-x11/4.1.15-2.0.0/sysroots/x86_64-pokysdk-linux/usr/lib/) Additional LDLIBS (具体交叉编译器路径按自己所放目录修改即可) Networking Utilities--->【*】brctl 加载brctl make&make install 编译busybox 将_install/bin文件下生成的busybox拷贝到开发板/bin/目录下替换原busybox 3.brctl建立网口桥接 ln -s /bin/busybox /bin/brcrl 创建brctl软连接 brctl addbr br0 创建网桥设备br0 brctl stp br0 off 关闭生成树协议 brctl addif br0 eth0 将eth0加入网桥 brctl addif br0 eth1 将eth1加入网桥 ifconfig eth1 down 关闭eth0 ifconfig eth0 down 关闭eth1 ifconfig eth0 0.0.0.0 up 配置eth0的ip为0.0.0.0 ifconfig eth1 0.0.0.0 up 配置eth1的ip为0.0.0.0 ifconfig br0 192.168.0.1 up 配置br0的ip并启动 此时两网口连接的设备可以互相ping通(需同网段) |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-22 16:54
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.