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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值