全世界仅有的唯一最高LINUX版本的白菜路由,支持NAND记
在上上篇 真千兆路由的极限之OPENWRT MAKE, 某品牌白菜价QCA9558/QCA9880/QCA8337N纯种组合OS搭建时记 里,有没有还记否之模式退一步,海阔天空
回到了远古时代的ar71xx,有了一次完整功能的白菜路由OS搭建,不经意在续集show一下内涵,就此打住,从那天起,主板和电源分居两地,过着悠然自得的积灰生活
然后前天吧,峰回路转,又梦到了仙人,仙人一闪而过,什么都没有表示,就醒了,看了看时间,天还没有亮,起床一股欧气袭来,哇好欧,不经意就喃喃起来,有气相持,想起这块写博文的白菜路由,精神抖擞,躺下,一夜无梦,大白天,打开visual studio 2019, 我看着一堆H文,心里难免有些失落,因为对着屏幕发呆,显然不是特长,于是乎,摆弄起了电源,插入,拔出,插入,拔出, 不知道多少回合后,小H太太熟悉的界面又出现在浏览器中,有些失落,为什么小Han太太有这么强的恒心作了这么多版本的引导,而自己却只能在linux 4.14下面无趣的编译出一个过时的白菜OS?
不,不能落人之后!欧气在积聚,一点点感到卡槽要满了,于是,一个idea诞生了,让ath79回到ar71xx的模型,愤然删去几个patch后,duang,duang,duang, ar934x_nfc竟然成功probe了,这...不敢相信,syslog就是这样显示的,然后一堆irq错误,确认driver和linux 4.19的完美兼容后(一堆dma好担心啊),我恢复了几个patch, 手动调用了ath79_cpu_irq_init和ath79_misc_irq_init,发现一开始就报错了,此时此刻,感悟到了这样一个肤浅的真理:两种irq模型正在激烈的冲突,一种是旧体制下代表code first的irq函数式声明,一种是新体制下代表dt first的irqchip的全局式树形属性,这是第一次不看书没有教材得到的真理,遥想起WPF也有类同的表现
既然二者只能选其一,呼呼两股怄气,又恢复到了原来的样子,然后只有两条路径清晰的展现在眼前,一条是可以借鉴的捷径(Read can take up to 30us, erase up to 2ms and program up to 350us according to general OneNAND specs),另一条是理清ar71xx和ath79分别对irq的初始序列和占用情况,穿插需要的irq=29, 这便成了一个项目经典的选型判断题,答案不言而喻,于是有了下图:
对比上次贴的好像多了几百k, 原因是这次格式化后vol好像多了两个logical eraseblock,至此全世界仅有的功能健全的运行在linux4.19 ath79下的白菜路由已经实现了nand driver的migration.
再一次回顾一下白菜的规格 QCA9558 + QCA9880 + QCA8337N 256M ram, 16+128M flash, 不要999, 不要99, 我可以认真地挑战全世界最便宜的路由,不服来战?最后还是由衷地感谢小Han太太,没有H的辛勤付出,不可能写出这样的博文,再次感谢 (✿◠‿◠)
我好了,你呢?
OVER.
全世界仅有的唯一最高LINUX版本的白菜路由,支持NAND记的更多相关文章
- Linux版本划分——基于打包方式
基于Dpkg (Debian系) Debian GNU / Linux是一种强调使用自由软件的发行版.它支持多种硬件平台.Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...
- Gpload安装手册(Linux版本)
Gpload安装手册(Linux版本) 一.python 2.7版本 Linux系统默认是安装python2.7的,如果没有需要手动安装(python版本要求2.4.4以上): 通过命令:python ...
- Linux - 版本控制系统SVN
0. 摘要 本文通过搭建SVN多版本库为例,介绍SVN的使用. SVN是一个集中式版本控制系统,在服务端部署中央版本库,所有开发人员客户端连接到中央版本库进行代码的提交和更新. Apache Subv ...
- 常见Linux版本
一 常见Linux版本 website feature description http://www.ubuntu.com/ 当前最流行 Ubuntu 正是基于 Debian 之上,旨在创建一个可 ...
- 不同linux版本下内核/系统/软件的安装及查询
(一)先介绍下使用apt-get 和使用yum 包管理工具的不同用法: 1.先看yum(redhat) yum的配置文件是/etc/yum.conf 更新:yum update 安装:yum inst ...
- 【Linux】一步一步学Linux——Linux版本(03)
目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...
- MYSQL—第二部分(Linux版本的安装和数据表的操作)
Linux版本的安装(过于简单了) 安装: ? 1 yum install mysql-server 服务端启动 ? 1 mysql.server start 客户端连接 ? 1 2 3 4 5 6 ...
- 使用VS+VisualGDB编译Linux版本RCF
RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...
- 查看linux版本
http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version ...
随机推荐
- Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹
功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...
- C语言学习书籍推荐《C语言程序设计 现代方法(第2版)》下载
下载地址:点我 C语言仍然是计算机领域的通用语言之一,但现在的C语言已经和当初的时候大不相同了.本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化 ...
- Spring IoC控制反转创建实例
Spring IoC控制反转创建实例写一个配置文件beans.xml,配置文件的约束可以访问:完整链接:https://repo.spring.io/libs-release-local/org/sp ...
- MongoDB基础教程[菜鸟教程整理]
MongoDB基础教程 ======================================================================================== ...
- nginx的access.log 和 error.log
nginx 常用的配置文件有两种: access.log 和 error.log access.log 的作用是 记录用户所有的访问请求,不论状态码,包括200 ,404,500等请求,404,500 ...
- Hadoop学习-hdfs安装及其一些操作
hdfs:分布式文件系统 有目录结构,顶层目录是: /,存的是文件,把文件存入hdfs后,会把这个文件进行切块并且进行备份,切块大小和备份的数量有客户决定. 存文件的叫datanode,记录文件的切 ...
- Atom实用插件
下载atom狠戳本链接 中文简体插件(工具栏,右键菜单,设置菜单) simplified-chinese-menu 代码格式化插件(支持多种语言) atom-beautify 智能补全资源路径插件 a ...
- 四、利用SQL Server 2008 R2创建自动备份计划
(转) 本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQ ...
- 关于sprintf的使用注意
今天在使用sprintf时,本想简单一点,将第一个参数直接定义为一个字符型的指针(cher *str;),结果没想到程序变得死死的,老老实实的将第一个参数重新变回字符型数组吧(char str[10 ...
- VisualStudio中的单元测试
1. VisualStuio中的测试资源管理器.CodeLens和ReSharper 上一篇文章重温了<单元测试的艺术>里提到的单元测试的技术及原则.这篇文章实践使用VisualStudi ...