全世界仅有的唯一最高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 ...
随机推荐
- 如何取得Spring管理的bean
本文主要讲3中实现方式,请用第3种方法(通用) 1.servlet方式加载时配置如下 <servlet> <servlet-name>springMVC</servlet ...
- (转)代码结构中Dao,Service,Controller,Util,Model是什么意思?
作者:技能树IT修真院链接:https://www.zhihu.com/question/58410621/answer/623496434来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- .NET Core CSharp初级篇 1-1
.NET Core CSharp初级篇 1-1 本节内容是对于C#基础类型的存储方式以及C#基础类型的理论介绍 基础数据类型介绍 例如以下这句话:"张三是一名程序员,今年15岁重50.3kg ...
- KETTLE数据上传
1. KETTLE简介 一种ETL工具,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(l ...
- 【并查集】连接格点-C++
连接格点 描述 有一个M行N列的点阵,相邻两点可以相连.一条纵向的连线花费一个单位,一条横向的连线花费两个单位.某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通. 输入 第一 ...
- CentOS 7.3 安装python3
1.排查 CentOS 7.3 默认安装的是python2,使用命令 python -V 可以看到 python 的版本 Python 2.7.5 然后使用命令 which python 查看一下Py ...
- 个人永久性免费-Excel催化剂功能第73波-数据转换:单行多项目转多行单项目
数据分析的前半部分数据处理.转换等工作是一个又脏又累的活,默默地干着,却又不出彩让人看到过程的艰辛和成果.如何让这个过程可以更加轻松一点,是Excel催化剂为大家所想的,今天带来一大刚需的数据转换功能 ...
- CUDA编程学习笔记2
第二章 cuda代码写在.cu/.cuh里面 cuda 7.0 / 9.0开始,NVCC就支持c++11 / 14里面绝大部分的语言特性了. Dim3 __host__ __device__ dim3 ...
- RecyclerView下拉加载集合越界问题
问题描述 在做毕业设计app中遇到这样一个问题,使用RecyclerView进行下拉加载数据的时候,比如我每次让它加载5条数据,当服务器端数据总数刚好是5的倍数的时候,不会出现下拉加载数据集合越界的问 ...
- Linux C 网络编程——多线程的聊天室实现(服务器端)
服务器端的主要功能: 实现多用户群体聊天功能(此程序最多设定为10人,可进行更改),每个人所发送的消息其他用户均可以收到.用户可以随意的加入或退出(推出以字符串"bye"实现),服 ...