openwrt 分区
下面以ar9344 16M flash为例子:
uboot启动时传递给内核的参数为:
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib0),64k(ART)
其中我们要关注的项为:
mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib0),64k(ART)
升级完后查看分区:
root@OpenWrt:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00010000 "u-boot" // 256k(u-boot)
mtd1: 00010000 00010000 "u-boot-env" // 64k (u-boot-env)
mtd2: 00630000 00010000 "rootfs" // 14528k (rootfs)
mtd3: 00400000 00010000 "rootfs_data"
mtd4: 00160000 00010000 "kernel" // 1408k (uImage)
mtd5: 00010000 00010000 "nvram" // 64k (mib0)
mtd6: 00010000 00010000 "art" // 64k (art)
当我们将所有的数据加起来时,发现大小已经超过了8M的容量。
所以肯定有些部分是相互包含在一起的。
借鉴恩山帖子http://www.right.com.cn/Forum/thread-171173-1-1.html 里面的介绍:
openwrt的分区结构是分层的,列出的各个区并不是依次排列在flash上。第一层包括 mtd1-u-boot, mtd2-firmware, mtd3-nvram, mtd4-art。 其中uboot的第二层包括u-boot 和 u-boot-env 。 而firmware的第二层又包括kernel 和rootfs。 rootfs的第三层又包括 rootfs和rootfs_data两个分区, 其中原始的rootfs的文件系统是只读文件系统SquashFS, 而rootfs_data是可写文件系统JFFS2。在第二层和第三层之间,OpenWRT采用了Overlay技术的overlayfs文件系统,将原始rootfs和rootfs_data合并成一个逻辑分区,挂载在/,对于系统可见的就这个逻辑的分区。而真实的原始rootfs是挂载在/rom下,rootfs_data挂载在/overlay下,可以通过df命令查看。
root@OpenWrt:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 4096 276 3820 7% /
/dev/root 2304 2304 0 100% /rom
tmpfs 63160 56 63104 0% /tmp
/dev/mtdblock3 4096 276 3820 7% /overlay
overlayfs:/overlay 4096 276 3820 7% /
tmpfs 512 0 512 0% /dev
所以,对于8M falsh的布局依次列出来的话,应该是 uboot , firmware, nvram, art.
大小为: 256+64+14528+1408+64+64= 16384k (16M)
openwrt 分区的更多相关文章
- 初始Openwrt
系统结构 在上一章我们已经完成了刷机工作,这个时候系统进行了首次启动,并且格式化了它的"可写"分区.那么在设备里分区到底是怎么样进行的呢?我们首先需要知道:不同的处理器下OpenW ...
- openwrt的sysupgrade和factory固件的区别
openwrt的固件一般分两种类型:factory原厂固件.sysupgrade固件 factory多了一些验证的东西,用于在原厂固件的基础上进行升级. 普通家用路由一般不是openwrt固件,如果要 ...
- openwrt spi flash 分区适配过程
openwrt spi flash 分区适配过程 这里基于 openwrt mt7620a 平台来跟踪,主要是想理清 dts 里的分区描述是如何一步步转化成内核分区行为. 先来看看 dts 中关于分区 ...
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
- OpenWrt自定义和官方一样的固件
我用的OpenWrt版本是Barrier Breaker 14.07,硬件是NetGear WNDR4300. 我自定义固件的目的是把固件的根分区扩到最大(100MB,总FLASH是128MB),试过 ...
- 360路由器刷openwrt、不死uboot、双系统 、wifi中继
该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍 ...
- broadcom移植到openwrt总结
评估及移植BCM5862x及BCM5301x到openwrt平台下: 一.首先得分清楚几个基本概念: 1.文件系统 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固 ...
- Openwrt Uboot烧写
Openwrt 烧uboot 需要慎重,一般买一个带不死uboot的路由器再折腾会比较安全,因为 openwrt firmware对uboot分区进行了保护,而且带有不死uboot的路由器可以通过we ...
- 【工具】openwrt安装记录
步骤: 1 从以太网引导启动.由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统. 2 用SCP将在PC上编译好的openwrt-XX ...
随机推荐
- 前端学习 -- Html&Css -- 背景
background 在一个声明中设置所有的背景属性. background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动. background-color 设置元素的背景颜 ...
- B2C商城关键技术点总结(站内搜索、定时任务)
1.站内搜索 1.1Lucene.Net建立信息索引 string indexPath = @"E:\xxx\xxx";//索引保存路径 FSDirectory directory ...
- TRIE 字典树 前缀紧急集合!
TRIE: 在计算机科学中,Trie,又称前缀树或字典树,是一种有序树状的数据结构,用于保存关联数组,其中的键通常是字符串.——百度百科 自我理解: trie树,是一种处理字符串前缀的数据结构,通常会 ...
- A1032. Sharing
To store English words, one method is to use linked lists and store a word letter by letter. To save ...
- A1047. Student List for Course
Zhejiang University has 40000 students and provides 2500 courses. Now given the registered course li ...
- 基于tcp和多线程的多人聊天室-C语言
之前在学习关于网络tcp和多线程的编程,学了知识以后不用一下总绝对心虚,于是就编写了一个基于tcp和多线程的多人聊天室. 具体的实现过程: 服务器端:绑定socket对象->设置监听数-> ...
- promise第一篇-简介
1. 创建一个promise对象 var promise = new Promise(function(resolve, reject){ //异步处理 //处理结束后调用resolve或reject ...
- 学习windows编程 day5 之 区域裁剪
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- git的基本操作---就看我这一篇就足够了!!!!!
git操作项目的大致步骤. git init //初始化一个本地仓库. git add . //添加文件 git commit -m '提交内容' //提交到本地仓库 git status //查看状 ...
- Golang基础
Golang官方 https://golang.org/ 使用命令,在本地启动一个go官网 go doc -http=: 访问127.: golang标准库api文档 https://studygol ...