为瑞昱(Realtek)路由器适配 OpenWRT 心路历程

一、开始 (2017-07-24)

最近朋友搞到很多路由器,就和他一起在做 OpenWRT 移植,就是把普通的配置较低的路由器换上 Flash 和 RAM 然后装上 OpenWRT 。

但是碰到几个瑞昱芯片的路由器却束手无策,于是我和朋友便萌生了为瑞昱芯片的路由器适配 OpenWRT 并申请上传主线化的念头。


二、源码 (2017-07-24)

网上找到,很久以前,是有个团队也有像我们这样的念头,并且也付出了实践,但是最后据传是因为内部意见不和,团队解散了,项目也不了了之。但是幸好找到了他们的源码:

http://archive.main.lv/writeup/building_openwrt_for_rtl8196c.html

既然这样,我们就打算在他们的基础上继续完成他们的项目就行了。


三、编译通过 (2017-08-16)

按照他们对环境的要求,还有经过了重重困难,我们编译通过了他们的源码。

编译的过程简直太多坑了!比如说 GCC 版本、系统位数、编译过程中的老旧链接下载失败、代码生成脚本和配置文件脚本本身的错误、瑞昱提供的源码中的驱动错误、命名错误、等等。。。苦不堪言~不过最终还是编译成功了。。。

不过编译出来的系统镜像并不能启动,从系统启动日志也没有找到很大的帮助,暂时找不到原因。


四、GCC 转机 (2017-08-16)

既然系统启动不了,我们就打算先看一下瑞昱对 GCC 的修改有多少,结果发现,瑞昱用的全是 MIPS 的 GCC 编译过程,只是少了 4 条指令、汇编器那边多出了很多汇编指令,不过汇编器这边很好改。这让本以为 GCC 部分会非常难做的我们十分兴奋!

我朋友还在网上找到了关于瑞昱汇编器多出的哪些汇编指令的说明文档,于是我们打算先改 GCC 部分,编译出个 Uboot 。


五、启动 (2017-09-04)

这天晚上,经过不断地试探以及配置的修改,我们终于让现在这个版本的固件成功启动。


六、成功 (2018-07-05)

毕业前几天,成功适配了最新 binutils-2.30、最新 gcc-7.3、最新 linux_kernel-4.4.53。

并且启动成功,未见错误启动日志。

https://github.com/rlx-router/lede-rtl8196c


七、重整旗鼓  (2020-02-25)

和朋友再度合作, 目标: 适配无线 和 完成设备树, 并主线化.


.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,787评论 25 709
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,575评论 8 114
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • 主编今年芳龄23,身边的闺蜜也大差不差。环顾身边,发现了一个真理就是:单身真的会传染。 都说美女喜欢扎堆,...
    Miss葛阅读 262评论 1 1
  • 大家好,我是IT修真院成都分院第07期学员,一枚正直善良的web程序员。 1.背景介绍 javascript是一门...
    120De丶L阅读 532评论 0 0