在上上篇 真千兆路由的极限之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记的更多相关文章

  1. Linux版本划分——基于打包方式

    基于Dpkg (Debian系) Debian GNU / Linux是一种强调使用自由软件的发行版.它支持多种硬件平台.Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...

  2. Gpload安装手册(Linux版本)

    Gpload安装手册(Linux版本) 一.python 2.7版本 Linux系统默认是安装python2.7的,如果没有需要手动安装(python版本要求2.4.4以上): 通过命令:python ...

  3. Linux - 版本控制系统SVN

    0. 摘要 本文通过搭建SVN多版本库为例,介绍SVN的使用. SVN是一个集中式版本控制系统,在服务端部署中央版本库,所有开发人员客户端连接到中央版本库进行代码的提交和更新. Apache Subv ...

  4. 常见Linux版本

      一 常见Linux版本 website feature description http://www.ubuntu.com/ 当前最流行 Ubuntu 正是基于 Debian 之上,旨在创建一个可 ...

  5. 不同linux版本下内核/系统/软件的安装及查询

    (一)先介绍下使用apt-get 和使用yum 包管理工具的不同用法: 1.先看yum(redhat) yum的配置文件是/etc/yum.conf 更新:yum update 安装:yum inst ...

  6. 【Linux】一步一步学Linux——Linux版本(03)

    目录 00. 目录 01. Linux内核版本 02. Linux内核官方网站 03. Linux发行版本 04. Linux发行版本介绍 4.1 Ubuntu 4.2 RedHat 4.3 Debi ...

  7. MYSQL—第二部分(Linux版本的安装和数据表的操作)

    Linux版本的安装(过于简单了) 安装: ? 1 yum install mysql-server 服务端启动 ? 1 mysql.server start 客户端连接 ? 1 2 3 4 5 6 ...

  8. 使用VS+VisualGDB编译Linux版本RCF

    RPC通信框架--RCF介绍中说了,RCF本身是支持跨平台的,其代码放到Linux平台,是可以通过gcc.make等工具,编译通过的. 官方提供的源码中,只有cmake编译脚本,并没有提供Makefi ...

  9. 查看linux版本

    http://nameyjj.blog.51cto.com/788669/557424 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version     ...

随机推荐

  1. kuangbin专题 专题一 简单搜索 棋盘问题 POJ - 1321

    题目链接:https://vjudge.net/problem/POJ-1321 题意:给一张棋盘,‘#’表示可以下棋的地方,‘.’表示不能下棋的地方.棋盘是n*n的,要求能放下k个棋子,要求k个棋子 ...

  2. 提高JavaScript 技能的12个概念

    JavaScript 是一种复杂的语言.如果是你是高级或者初级 JavaScript 开发人员,了解它的基本概念非常重要.本文介绍 JavaScript 至关重要的12个概念,但绝对不是说 JavaS ...

  3. bzoj1854 游戏题解(二分图/并查集)

    1854: [Scoi2010]游戏 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 5547  Solved: 2229[Submit][Status] ...

  4. 第一章 Servlet

    JavaEEe技术包括Servlet/Jsp.Java Message Service(JMS).Enterprise JavaBeans(EJB).JavaServer Faces(JSF),以及J ...

  5. ISTQB TTA大纲中提到的参考书目

    在2012版大纲(可以点击这里下载查看)第12页"2.2条件测试"标题上方有这样一句话: 参考[Bath08],[Beizer90],[Beizer95],[Copeland03] ...

  6. UVA12657 Boxes in a Line:题解

    题目链接:https://www.luogu.org/problemnew/show/UVA12657 分析: 此题使用手写链表+模拟即可.(其实可以用list,而且更简便,但是会大大的超时) 肯定是 ...

  7. Linux环境Oracle数据库访问出现ORA-01034错误:oracle not available解决

    首先将用户切换为Oracle用户登录,su - oracle; 进入:sqlplus / as sysdba: 问题现象: SQL> select * from dba_users; selec ...

  8. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...

  9. 01、HTML 简介

    实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...

  10. dedecms新建内容模型“把数据保存到数据库附加表时出错‘xxx’出错”错误的原因分析和解决方案(转)

    把数据保存到数据库附加表 `bc_addonarticle17` 时出错,请把相关信息提交给DedeCms官方.INSERT INTO `bc_addonarticle17`(aid,typeid,r ...