3网口som9331搭建openwrt问题结语言
Posted 52sunny
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3网口som9331搭建openwrt问题结语言相关的知识,希望对你有一定的参考价值。
项目使用到了串口透传功能,但是传统的IPC只支持单向串口控制,没办法,只能在使用的路由上做文章了
本项目采用的是som9331这个路由模块,原生的openwrt编译出来的fw只有一个网口可用,没办法,只能索要补丁,然后打补丁,编译
过程比较曲折,第一次尝试:
1 patch -p0 < [path]/som9331.patch
2 删除掉原来编译生成的tmp目录
3 make menuconfig选中ar7xx,target选中Openembed som9331
4 make -j4 V=s
生成的som9331的squashfs文件scp到路由板,sysupgrade
问题出现了,再次重启之后路由板子启动时候内核pannic,启动到跟文件系统模块时,提示找不到rootfs.
幸好uboot还在,可以通过它来修复系统
恢复系统
找一个原来备份的squashfs,重新烧一次(网上有教程,不做赘述)
tftp 0x80000000 som9331_squashfs.bin
erase 0x9f020000 0x7c0000
cp.b 0x80000000 0x9f020000 0x7c0000
第二次尝试开始
多次编译烧录无果之后开始对比正常和panic的内核的启动信息,最终发现pannic内核根本没有识别到mtd的分区,据此猜测可能是编译的是丢失了某些模块,也就是说
虽然显示编译成功了,但实际编译出来的内核是缺失功能的,以此为线索,判断可能openwrt打补丁的时候可能出了问题,导致没有打进去
根据以上线索,不停编译比较patch出来的文件,上网搜索资料,发现,openwrt在打补丁的时候是最好先执行make target/linux/clean,prepare,使内核退回,然后再次patch,然后make。
总结这个你却流程如下:
1 patch -p0 < [path]/som9331.patch
2 make target/linux/clean,prepare,
3 删除掉原来编译生成的tmp目录
4 make menuconfig选中ar7xx,target选中Openembed som9331
5 make -j4 V=s
以上是关于3网口som9331搭建openwrt问题结语言的主要内容,如果未能解决你的问题,请参考以下文章
怎么修改703N源码,使AR9331 openwrt 增加四LAN口支持