路由器系统的内存储布局

摘要:
第3层:我们进一步将rootfs划分为mtd3和其他未命名部分,以适应未来的SquashFS分区。文件系统:mini_Fo:迷你哈希重写文件系统SquashFS:压缩的只读文件系统通常由LZMA打包,然后由gzip压缩,并直接写入闪存,比jffs2小20%~30%。如果修改,则会将新副本复制到第二个分区,从而浪费空间。JFFS2:读写压缩文件格式,采用日志和平均擦除技术,用LZMA压缩
  • FLash存储布局
    • RAW FLASH:闪存芯片直接连接到CPU上
    • FTL FLASH:闪存芯片通过其它芯片连接到CPU上
    • 【】一般嵌入式系统中的芯片都是raw,因为都是直接连接到cpu上
    • 【】存储分区由MTD与文件系统来控制,传统用MBR或PBR来控制,嵌入式设备中用linux kernel即内核来控制(有时候单独由bootloader来控制)。
  • 例子:TP-LINK WR1043ND的flash布局
    •  
      TP-Link WR1043ND Flash Layout
      Layer0m25p80 spi0.0: m25p64 8192KiB
      Layer1mtd0 u-boot 128KiBmtd5 firmware 8000KiBmtd4 art 64KiB
      Layer2 mtd1 kernel 1280KiBmtd2 rootfs 6720KiB 
      mountpoint  / 
      filesystem  mini_fo 
      Layer3   mtd3 rootfs_data 5184KiB 
      Size in KiB128KiB1280KiB1536KiB5184KiB64KiB
      Nameu-bootkernel rootfs_dataart
      mountpointnonenone/rom/overlaynone
      filesystemnonenoneSquashFSJFFS2none
      1. 第0层Layer0: 对应Flash芯片,8MiB大小, 焊接在PCB上,连接到CPU(SoC)SoC – 通过SPI (Serial Peripheral Interface Bus)总线.
      2. 第1层Layer1: 我们把存储空间"分区"为 mtd0 给 bootloader, mtd5 给 firmware/固件使用, 并且, 在这个例子中, mtd4给ART (Atheros Radio Test/Atheros电波测试) - 它包含MAC地址和无线系统的校准信息(EEPROM). 如果该部分的信息丢失或损坏,ath9k (无线驱动程序) 就彻底罢工了.
      3. 第2层Layer2: 我们把mtd5 (固件) 进一步分割为 mtd1 (kernel/内核) and mtd2 (rootfs); 在固件的一般处理流程中 (参考obtain.firmware.generate) Kernel 二进制文件 先由LZMA打包, 然后用gzip压缩 之后文件被 直接写入到raw flash (mtd1)中 而不mount到任何文件系统上!
      4. 第3层Layer3: 我们把rootfs更进一步分割成 mtd3 (rootfs_data) 和剩下的 未命名 部分 - 未来用来容纳SquashFS-分区.
  • 文件系统:
    • mini_fo:迷你散列覆盖文件系统
    • SquashFS:压缩过的只读文件系统,一般通过LZMA打包,然后由gzip压缩,直接写入flash,比jffs2小20%~30%,修改的话,要copy一份新的到第二分区,浪费空间。
    • JFFS2:可读写的压缩文件格式,带有日志和平均擦写技术,用LZMA进行压缩(推荐使用这种系统)

免责声明:文章转载自《路由器系统的内存储布局》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JVM(三)JVM对象创建与内存分配机制学习Cadence学习PCB设计(序)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用dva框架的总结

最近的项目是react+dva+atd+webpack的一个后台项目,刚接触dva就感觉很喜欢,很简洁用着很爽。 关于使用redux中的一些问题 1、文件切换问题、   redux的项目通常哟啊分为reducer、action、saga、component等等,我们需要在文件之间来回切换,并且文件通常是分目录存放: + src + sagas...

Vue中解决路由切换,页面不更新的实用方法

前言:vue-router的切换不同于传统的页面的切换。路由之间的切换,其实就是组件之间的切换,不是真正的页面切换。这也会导致一个问题,就是引用相同组件的时候,会导致该组件无法更新,也就是我们口中的页面无法更新的问题了。 一、问题呈现 在路由中进行切换结果 这时候会发现input标签的value值并没有随着路由的改变而改变。并没有更新 二、解决方...

OpenWrt 路由系统上抓包

版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/qianguozheng/article/details/32108093 前言: 做路由器开发,难免会遇到抓包的情况,可是抓包须要有Hub或者无线抓包网卡,调试无线问题。且眼下手中没有无线抓包网卡,怎么办?那不能分析无线连接建立的过程,我们就...

【 linux知识积累 】网络相关配置与知识-CentOS7为例

一、 网卡常见命名规则及修改 1. 网卡接口常见命名规则 eno1: 代表由主板bios内置的网卡 ens1: 代表有主板bios内置的PCIE网卡 enp2s0: PCIE独立网卡 eth0: 以上都不适用,回到默认网卡名 lo: 虚拟回环网卡 vibr: 虚拟网桥 2. 修改网卡名称的方法(1) 将CentOS7下网卡名称改为默认的ethX(此种方法会...

PING命令

Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。 Ping概述 PING命令Ping 是Windows...

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。 本文主要介绍openwrt-智能路由器的数据监控功能。(为了维持本文一定的独立...