Linux系统中添加IPv6模块(TQ2440开发板)
来源:互联网 发布:java date.parse 编辑:程序博客网 时间:2024/04/29 05:53
TQ2440开发板自带的内核镜像(Linux-2.6.30.4)并没有支持IPv6协议栈,对网卡添加IPv6地址是不被允许的,出现“ifconfig: socket: Address family not supported by protocol”这个错误信息:
图1 TQ2440自带内核不支持IPv6协议栈
可以2种方法来使内核支持:
1)重新配置内核,编译镜像,使之支持IPv6
2)编译IPv6协议栈模块,利用insmod方式加载模块
Method One
配置内核,并利用make zImage命令编译镜像,这样内核镜像就可以支持IPv6协议栈:
依次在内核配置单选择Networking support -> Networking options -> The IPv6 protocol
图2 make menuconfig配置单:Networking support
图3 make menuconfig配置单:Networking options
图4 make menuconfig配置单:The IPv6 protocol
由于需要将IPv6协议栈编译进内核,所以选择“*”的方式。
这样编译好的内核镜像zImage.bin就可以支持IPv6,将其烧进TQ2440开发板中即可。
Method Two
在内核源码下配置为模块方式,编译模块make modules(前提是要用make zImage编译过内核源码)
利用这种方法时,在之前配置单选择时候,将“*”替换为“M”,表示以模块方式编译。
图5-1 以模块方式配置The IPv6 Protocol
图5-2 The IPv6 Protocol的配置帮助信息
保存配置单后,在Linux源码目录下输入“make modules”命令,便可以对IPv6模块进行编译。编译出的模块为“ipv6.ko”文件,将其导入至TQ2440文件系统下,利用"insmod ipv6.ko"便可以进行加载模块。此时内核支持IPv6。
(宿主机上进行模块编译,可以发现最终编译出各种ko文件,包括ipv6.ko)
图6 宿主机上进行make modules编译模块命令
在编译好模块之后,可在宿主机Linux源码目录下的net/ipv6目录中发现“ipv6.ko”文件,将其复制到TQ2440目标开发板中,并进行加载:
图7 TQ2440开发板中加载ipv6.ko文件
此时,再进行ipv6的配置,即可成功:
图8 TQ2440开发板进行IPv6配置
- Linux系统中添加IPv6模块(TQ2440开发板)
- TQ2440 开发板 linux系统下 触摸屏校准
- TQ2440 Linux 系统移植
- linux -- 禁用ipv6模块
- Linux下ipv6配置系列二:如何为Nginx添加ipv6模块
- 为nginx添加ipv6模块
- TQ2440 Linux 系统移植(转)
- TQ2440烧写linux系统
- linux中添加内核模块
- Linux系统IPv6配置
- linux系统关闭ipv6
- TQ2440开发板存储器
- Android系统开发小知识-在android产品开发中添加新的编译模块
- 模块的方式添加系统调用 Linux
- Linux系统添加“rz”、“sz”命令模块
- Linux串口工具Minicom连接TQ2440开发板
- 实现TQ2440开发板与Linux虚拟机共享文件
- 嵌入式linux下CC1101的驱动 arm9 tq2440开发板
- windows编程实现生产者消费者问题
- 自定义ScrollView加回弹效果
- (七)用JAVA编写MP3解码器——解码帧边信息
- (八)用JAVA编写MP3解码器——解码增益因子
- Linux实用命令
- Linux系统中添加IPv6模块(TQ2440开发板)
- Get IP Address using PHP(Accurate Method)
- (九)用JAVA编写MP3解码器——哈夫曼解码
- NRV优化所带来的困惑
- Bank Interleaving的概念
- 理解虚基类、虚函数与纯虚函数的概念
- Cocos2d-x教程 CocoStudio篇 (1) 创建骨骼动画
- POJ 1743 Musical Theme
- (十)用JAVA编写MP3解码器——逆量化和重排序