Linux分区记录

2023-10-31

命令:cat /proc/mtd

dev:     size              erasesize    name

mtd0:   00007000   00010000   "vendor"

mtd1:   00030000   00010000   "IDBlock"

mtd2:   00600000   00010000   "kernel"

mtd3:   00900000   00010000   "rootfs"

大小分别为

"vendor":0x00007000,即十进制的28672,288672/1024=28KB;

"IDBlock":0x00030000,即十进制的196608,196608/1024=192KB;

"kernel":0x00600000,即十进制的6291456,6291456/1024/1024=6MB;

"rootfs":0x00900000,即十进制的9437184,9437184/1024/1024=9MB。

 

命令:cat /proc/partitions

major   minor   #blocks   name                       //这里的blocks是以1KB作为单位的?不然下面的和上面怎么对应上。

31        0            28            mtdblock0

31        1            192          mtdblock1

31        2            6144        mtdblock2

31        3           9216         mtdblock3

 

接下来是RK的setting.ini文件

//文件开始

#Flag 1:skip flag, 2:reserved flag, 4:no partition size flag
#type 0x1:Vendor, 0x2:IDBlock, 0x4:Kernel, 0x8:boot, 0x80000000:data
#PartSize and PartOffset unit by sector
#Gpt_Enable 1:compact gpt, 0:normal gpt
#Backup_Partition_Enable 0:no backup,1:backup
#FILL_BYTE's value is used to fill blank
[System]
FwVersion=15.48.1
Gpt_Enable=
Backup_Partition_Enable=0
Nano=
[UserPart1]
Name=IDBlock
Type=0x2
PartOffset=0x40
PartSize=0x180           //此处一个块是512B,所以IDBlock分区大小是0x180 *512/1024=192KB。
Flag=0x0
File=../rockimg/Image-cvr/rv1108ddr.bin,../rockimg/Image-cvr/rv1108loader.bin
[UserPart2]
Name=kernel
Type=0x4
PartOffset=0x200
PartSize=0x3000      //此处一个块是512B,所以IDBlock分区大小是0x3000 *512/1024/1024=6MB。
Flag=0x0
File=../rockimg/Image-cvr/kernel.img
[UserPart3]
Name=rootfs
Type=0x8
PartOffset=0x3200
PartSize=0x4800     //此处一个块是512B,所以IDBlock分区大小是0x4800 *512/1024/1024=9MB。
Flag=0x0
File=../rockimg/Image-cvr/rootfs.img
# example
#[UserPart4]
#Name=user
#Type=0x80000000
#PartOffset=0x7a00
#PartSize=0x1000
#Flag=0x1
#[UserPart5]
#Name=user1
#Type=0x80000000
#PartOffset=0x8a00
#PartSize=0x0
#Flag=0x5

//文件结束

在上述的配置文件下,编译打包最终生成的固件,内核,文件系统等映像文件就可以计算出来了,并且大小也正确,例如:

内核映像文件,kernel.img:大小应该为6291456Byte,即6MB,但是实际生成的也许只有4.8MB左右,这是因为内核没有全部用完所有的6MB分区。

文件系统映像文件,rootfs.img:大小应该为9437184Byte,即9MB,实际生成的也是9MB,这是因为文件系统的分区全部被使用了。

最终打包生成的固件映像文件,Firmware.img:大小为15990784Byte,即15.25MB(但是在PC上显示经常就是16MB显示)。15.25MB大小是由最后一个分区,此处即文件系统分区的起始地址加上分区大小决定的,(0x3200+0x4800=0x7A00)*512/1024/1024=15.25MB。

所以如果我们想要压缩固件大小,并不是一味的压缩内核或者文件系统,有时也要考虑分区有没有用完,比如说上述这种情况,内核的分区没有用完,我们就可以把内核的分区减小,使文件系统的起始地址向前移,这样所有分区的总和就变小了,也就是固件变小了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux分区记录 的相关文章

  • 如何深度理解排序算法(一)

    如何深度理解排序算法 一 对于算法的理解 可以看成解决问题的过程和方式 无论算法是好还是坏 它都是一个独立的个体 在众多算法中 排序算法是经常被用到 或者在以往的生活或者面试当中会被提到的 所以理解和学会排序算法是非常重要的 还记得上小学的
  • crmeb安装教程说明

    安装教程说明 1 下载源码后解压到你的网站根目录下面 2 然后配置你的网站运行目录为public 3 配置伪静态为thinkphp的规则就行 location if e request filename rewrite index php
  • 机器学习: 神经网络中的Batch Normalization(BN)算法

    一 什么是Batch Normalization 1 从白化 Whiten 说起 之前的研究表明如果在图像处理中对输入图像进行白化 Whiten 操作的话 所谓白化 就是对输入数据分布变换到0均值 单位方差的正态分布 那么神经网络会较快收敛
  • C/C++ 开发利器 CLion安装与配置

    概述 CLion是Jetbrains公司旗下新推出的一款专为开发C C 所设计的跨平台IDE 它是以IntelliJ为基础设计的 同时还包含了许多智能功能来提高开发人员的生产力 提高开发人员的工作效率 这个强大的IDE不仅可以帮助开发人员在
  • 使用LL库开发STM32:GPIO口与外部中断

    文章目录 目的 初始化设置 输出与控制 输入与端口值读取 外部中断 总结 目的 GPIO口使用是单片机开发中最简单的一块 STM32的GPIO口无论是使用HAL库还是LL库开发起来都很简单 也没有什么坑 一般的对性能和内存等没有特殊要求的话
  • 时序预测

    时序预测 MATLAB实现ARMA自回归移动平均模型时间序列预测 目录 时序预测 MATLAB实现ARMA自回归移动平均模型时间序列预测 预测效果 基本介绍 程序设计 参考资料 预测效果 基本介绍 MATLAB实现ARMA时间序列预测 完整
  • 区块链经典图书推荐

    出品 白话区块链 ID hellobtc 白话区块链特精选区块链入门和进阶 必看书单 供君挑选 现在一本书最贵也就售价几十元 带来的也许是新时代更多的机遇 知识真心不贵 有需要的同学赶紧行动吧 01 区块链 元宇宙的基石 作者 简蓉蓉 马丹
  • 中国与外国(发达国家)

    偶尔就会看到什么崇洋媚外 就有人出来说 要看到自己的长处 不要什么都根国外学习 所以 以前总是希望能找到自己过人的长处 东西也用中国的 例如 买mp3 想到国外的那么贵 国产的便宜 而且功能多 于是就买国产的 例如 书籍 国外的书 都是E文
  • Google Play services SDK的安装

    官方网站可参考 http developer android com google play services setup html 2012年3月6日Google Market 改名为Google Play 相应的Google 不断在丰富
  • Java 静态绑定和动态绑定

    绑定 一个方法的调用与方法所在的类关联起来 静态绑定 final static private 在程序执行前已经被绑定 也就是说在编译过程中就已经知道这个方法是哪个类的方法 此时由编译器获取其他连接程序实现 动态绑定 在运行根据具体对象的类
  • iOS 批处理脚本打包-从编译到打包

    最近更新了Xcode9 由于项目需要 Xcode9打包出ipa后根据之前的脚本工具 继续我的批处理打包 但是 打包后居然出现了iOS 11 安装后图标没有改变还是原始的图标 为了验证 我再一次用Xcode8 打包 然后脚本打包 没有出现问题
  • 聊聊 AI 平台存储方案和选型

    最近火爆全网的 ChatGPT 再次带来一股 AI 热潮 过去的五年 AI 快速发展并应用到很多领域中 作为一家存储企业 我们也感受到了 AI 行业的活力 和我们交流团队中 AI 企业越来越多 有自动驾驶 蛋白质结构预测 量化投资等不同行业
  • Python爬虫学习实战

    Python爬虫学习实战 前期回顾 概述 技术要求 实战 网页分析与数据提取 小说目录提取 小说章节内容 总结 前期回顾 Python爬虫学习之requests Python爬虫学习之数据提取 XPath Python爬虫学习之数据提取 B
  • 零点_极点

    http bbs dianyuan com topic 150823 其实完全可以通过以下简单的观念理解 但凡是遇到了低通滤波器 那么我们可以认为存在极点 但凡遇到高通滤波器 那么我们认为存在零点 所谓的补偿让系统稳定 其实就是通过设计滤波
  • 烽火路由路虚拟服务器,netcore路由设置烽火

    有网友问小编 netcore路由设置烽火怎么设置无线网络 学习啦小编整理了相关资料 供您参考 第1步 用一根网线连接modem 宽带猫 及路由器wan口 用另一根网线连接路由器lan口与电脑网卡接口 第2步 打开浏览器 输入路由器登陆地址
  • flink/hive sql 实现递归 查询人员组织架构

    递归人员归属查询 解决的问题 flink sql无法使用递归查询的问题 场景 syc loan dpt did dname dlevel pdid syc agent usr uid uname did 组织架构 元事业部 城市中心 分中心
  • CSharp代码注释翻译软件的介绍

    如果您在阅读国外作者所写的代码时候 很想能够将代码的注释翻译为中文 那么 该软件是您的一个较好的选择 CSharp代码注释翻译软件 可以选择翻译单个代码文件 也可以翻译整个解决方案 翻译整个解决方案完成后 会在原来的解决方案文件夹同源的目录
  • C/C++ 中的%d等意义

    d 整型输出 ld长整型输出 o 以八进制数形式输出整数 x 以十六进制数形式输出整数 或输出字符串的地址 u 以十进制数输出unsigned型数据 无符号数 注意 d与 u有无符号的数值范围 也就是极限的值 不然数值打印出来会有误 c 用
  • HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    今天 在vs2013中新建了一个placard json文件 当我用jq读取它的时候 去提示404 直接在浏览器访问这个文件 提示 HTTP 错误 404 3 Not Found 由于扩展配置问题而无法提供您请求的页面 如果该页面是脚本 请
  • session 和 cookie 有什么区别?

    Session 和 Cookie 都是Web开发中非常重要的概念 它们用于保存Web应用程序状态和用户信息 但是它们有一些重要的区别 1 存储位置不同 Cookie 存储于客户端 浏览器 而 Session 存储于服务器端 对于服务器端存储

随机推荐

  • python训练模型、如何得到模型训练总时长_模型训练时间的估算

    模型训练时间的估算 昨天群里一个朋友训练一个BERT句子对模型 使用的是CPU来进行训练 由于代码是BERT官方代码 并没有显示训练需要的总时间 所以训练的时候只能等待 他截图发了基本的信息 想知道训练完整个模型需要多久 最开始跑BERT模
  • 如何做一个人工智能聊天机器人的毕业设计

    毕业设计是大学生的必修课程之一 许多学生在毕业设计中选择了人工智能方向的课题 人工智能聊天机器人是一个很好的毕业设计课题 它涉及到自然语言处理 机器学习 深度学习等人工智能的核心技术 做好一个聊天机器人的毕业设计需要考虑好聊天机器人的功能
  • 树莓派3 有线静态路由设置_配置树莓派为wifi热点(AP模式)

    该功能主要用于搭建一个小型的的网络 使得连接至热点的各个设备可以进行通信 用于构建物联网系统 如智能家居 或是无线控制指定设备 另外这一网络也是独立的 并未启用NAT连接至互联网 具有一定的安全性也为研究提供了一定的便利 目前已经有很多方案
  • 删除rabbitmq的队列和队列中的数据

    欢迎访问本人博客查看原文 http wangnan tech 访问http rabbitmq安装IP 15672 帐号guest 密码guest 也可以使用自己创建的帐号 登录后访问http rabbitmq安装IP 15672 queue
  • Error:() java: 程序包org.springframework.beans.factory.annotation不存在

    写在前面 很重要 idea的2019 2020版本确实是存在很多bug的 我也踩过几个坑 我推荐使用idea2018 1 8版本 这个版本比较稳定 我暂时没遇到什么bug 其实遇到这个bug我很高兴 因为之前就出现过这个bug 当时公司前辈
  • 华为30道Python面试题总结

    Python是目前编程领域最受欢迎的语言 在本文中 我将总结华为 阿里巴巴等互联网公司Python面试中最常见的30个问题 每道题都提供参考答案 希望能够帮助你在求职面试中脱颖而出 找到一份高薪工作 这些面试题涉及Python基础知识 Py
  • hutool json转map_记一个Jackson与Hutool混用的坑

    技术公众号 Java In Mind Java In Mind 欢迎关注 问题出现 最近遇到一个问题 Hutool从4 1 7升级到4 6 8之后 使用feign调用出现错误 Caused by feign codec EncodeExce
  • CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory

    刚开始接触cxf 照着网上的例子写了一个demo 在测试 编写客户端访问服务运行的时候后台报了 CXF java lang RuntimeException Cannot create a secure XMLInputFactory 的错
  • Android gradle配置抽取合并

    一 为什么要合并 当项目中model或library变多过后 比如用到组件化或者引入第三方库需要配置多个build gradle文件 一旦需要统一其SDK或者其他组件版本就需要同时修改多个文件 这确实很麻烦 所以抽取gradle配置非常有必
  • JAVA单元测试框架-9-testng.xml管理依赖

    在testng xml里配置依赖管理 先写个测试用例 Test description 测试分组 groups operation public void TestGroupAdd System out print String value
  • 对七牛云的简单了解

    一 初识七牛云 1 概述 七牛云是国内领先的企业级公有云服务商 致力于打造以数据为核心的场景化PaaS服务 围绕富媒体场景 七牛先后推出了对象存储 融合CDN加速 数据通用处理 内容反垃圾服务 以及直播云服务等 通俗来讲七牛云就是一个服务器
  • UE4基础学习笔记——— 材质编辑器04

    材质实例 原理 不用在原父级材质编辑器中去调节材质 我们把重要的调节值设置为 转换为参数 将材质实例化 要修改只要修改参数即可 选择父级材质右键 创建材质实例 注意标识颜色是 深绿 在实例编辑界面中 出现了之前设置的可变参数 材质实例化方便
  • 《Java Web程序设计——开发环境的搭建》

    Java Web程序设计 开发环境的搭建 一 前言 这里主要分享一下我搭建开发环境的过程以及遇到的问题 其中涉及到的软件都可以从官网获取 若官方访问过慢也可到镜像网站或者下面分享的网盘链接中下载 软件安装路径尽量不要有中文 否则可能会报错
  • 试题 算法训练 拿金币-蓝桥杯

    这里的关键字仍然是动态规划 动态规划核心 拆分子 记住过往 减少重复计算 计算结果 1 不难发现 对于某个确定的路径上的特定位置上的金币总数 总是由该位置的上方的值或左边的值确定的 所以遍历数组位置的上方和左边的 再 比较 递加 就能计算出
  • K8S之资源管理

    文章目录 一 K8S中的资源 二 YAML语言 三 资源管理方式 一 命令式对象管理 二 命令式对象配置 三 声明式对象配置 一 K8S中的资源 在kuberbnetes中 所有的内容都抽象为资源 用户需要通过操作资源来管理kubernet
  • 可视化埋点方案和实践-PC-WEB端(一)

    目录 一 什么是可视化埋点 1 圈选 点选 即标记页面元素 的逻辑代码 2 捕获监听标记的元素的逻辑代码 二 遇到的坑 1 标记元素兼容性难 2 监听难 三 优点 1 方便了测试人员和运营人员 2 埋点的变更是即时的 不需要更新系统代码 3
  • 【Graph Neural Network】 GraphSAGE 基本原理与tensorflow2.0实现

    文章目录 GraphSAGE 前向传播算法 采样算法 聚合 aggragator 操作 参数学习 基于tensorflow2 0实现Graph SAGE GCN是一种利用图结构和邻居顶点属性信息学习顶点Embedding表示的方法 GCN是
  • 如何有效预防脱库

    本篇不从DBA 网络架构层面来讲述数据安全 这部分有很专业的架构和云上产品来解决 本篇重点从开发人员角度讲述如何避免数据安全的漏洞 相信大部分人都看到过这样的新闻 某某论坛泄漏了用户密码 某某物流公司泄漏了用户的手机号等等 我一直坚信大部分
  • 用Unity3D和VuforiaSDK简单做AR应用(入门)

    最近刚开始接触AR技术 结合u3d 算是对增强现实应用入个门 网上的例子不胜枚举 但有些浅尝辄止 根据自己几天来的摸索 毕竟新的技术源自国外 翻起晦涩的外文 一步一个脚印终于爬了出来 先上个史记效果图先 我取名之 鹿君下山 接下来说说步骤
  • Linux分区记录

    命令 cat proc mtd dev size erasesize name mtd0 00007000 00010000 vendor mtd1 00030000 00010000 IDBlock mtd2 00600000 00010