首页 > 其他分享 >RK3568平台(vendor篇)分区设置

RK3568平台(vendor篇)分区设置

时间:2024-07-13 13:25:32浏览次数:17  
标签:0x00020000 istoragefs vendor RK3568 分区 boot 0x00002000 0x00004000

一.分区概述

在对评估板进行开发验证时,时常会遇到根目录空间不足的情况,而在其他分区又有冗余空间,这时则需要对分区大小重新进行分配,合理化利用分区空间。

如何查看分区大小:

df -h指令查看

parameter.txt 分区表修改路径

rockdev/parameter.txt

二.parameter.txt 分区表介绍

FIRMWARE_VER: 12.0
MACHINE_MODEL: CEIBAL_HFP_LT
MACHINE_ID: 007
MANUFACTURER: HAINERGY
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: CEIBAL_HFP_LT
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00002000(security),0x00002000@0x00004000(uboot_a),0x00002000@0x00006000(uboot_b),0x00002000@0x00008000(trust_a),0x00002000@0x0000a000(trust_b),0x00002000@0x0000c000(misc),0x00020000@0x0000e000(resource_a),0x00020000@0x0002e000(resource_b),0x00014000@0x0004e000(vendor_boot_a),0x00014000@0x00062000(vendor_boot_b),0x00004000@0x00076000(init_boot_a),0x00004000@0x0007a000(init_boot_b),0x00002000@0x0007e000(dtbo_a),0x00002000@0x00080000(dtbo_b),0x00000800@0x00082000(vbmeta_a),0x00000800@0x00082800(vbmeta_b),0x00020000@0x00083000(boot_a),0x00020000@0x000a3000(boot_b),0x000c0000@0x000c3000(backup),0x000c0000@0x00183000(cache),0x00008000@0x00243000(metadata),0x00000400@0x0024b000(frp),0x00000800@0x0024b400(baseparameter),0x00040000@0x0024bc00(istorage),0x00080000@0x0028bc00(istoragefs),0x00aa8c68@0x0030bc00(super),-@0x00db4868(userdata:grow)

单个分区说明:

例如:0x00002000@0x00004000(uboot_a) @符号之前的数值是分区大小,@符号之后的数值是分区的起始位置,括号里面的字符是分区的名字。

所有数值的单位是 sector ,1 个 sector 为 512Bytes。

0x00002000@0x00004000(uboot_a) uboot_a分区起始位置为 0x00004000 sectors 位置,大小为0x00002000。

为了性能,每个分区起始地址需要 32KB(64 sectors)对齐,大小也需要 32KB 的整数倍.

三.调整分区大小

0x00080000@0x0028bc00(istoragefs) 以istoragefs分区为例子。

0x00080000是sector个数,0x0028bc00是起始地址。

0x00080000转换为十进制是524288个sector,每个 sector 的大小为 512,所以再乘以 512 字节等于268435456字节。

尝试将分区增加两倍,0x00080000*2 = 0x00160000。那么将改写成0x00160000@0x0028bc00(istoragefs)。

接着我们还要修改 istoragefs 分区后面的分区大小,因为 istoragefs 分区大小变了,后面的分区的起始地址肯定也会变的。

istoragefs分区的下个分区是super分区,super分区的首地址是istoragefs分区的首地址加上istoragefs分区的大小为0x0028bc00 + 0x00160000 = 0x003ebc00。大小还是原来的大小:0x00aa8c68

那么将改成 0x00aa8c68@0x003ebc00(super)。

0x00e94868(userdata:grow)

最终分区表调整为:

FIRMWARE_VER: 12.0
MACHINE_MODEL: CEIBAL_HFP_LT
MACHINE_ID: 007
MANUFACTURER: HAINERGY
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: CEIBAL_HFP_LT
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00002000(security),0x00002000@0x00004000(uboot_a),0x00002000@0x00006000(uboot_b),0x00002000@0x00008000(trust_a),0x00002000@0x0000a000(trust_b),0x00002000@0x0000c000(misc),0x00020000@0x0000e000(resource_a),0x00020000@0x0002e000(resource_b),0x00014000@0x0004e000(vendor_boot_a),0x00014000@0x00062000(vendor_boot_b),0x00004000@0x00076000(init_boot_a),0x00004000@0x0007a000(init_boot_b),0x00002000@0x0007e000(dtbo_a),0x00002000@0x00080000(dtbo_b),0x00000800@0x00082000(vbmeta_a),0x00000800@0x00082800(vbmeta_b),0x00020000@0x00083000(boot_a),0x00020000@0x000a3000(boot_b),0x000c0000@0x000c3000(backup),0x000c0000@0x00183000(cache),0x00008000@0x00243000(metadata),0x00000400@0x0024b000(frp),0x00000800@0x0024b400(baseparameter),0x00040000@0x0024bc00(istorage),0x00160000@0x0028bc00(istoragefs),0x00aa8c68@0x003ebc00(super),-@0x00e94868(userdata:grow)

标签:0x00020000,istoragefs,vendor,RK3568,分区,boot,0x00002000,0x00004000
From: https://blog.csdn.net/weixin_49303682/article/details/140398282

相关文章

  • 【C++】内存分区模型 - 内存四区
    补充内容:c++编译过程:编译预处理、编译优化、汇编、链接①编译预处理:处理以“#”开头的指令,产生“.i”文件;【如头文件、define宏定义等】②编译优化:将源码".cpp"文件翻译成“.s”汇编代码;【如词法语法语义分析,代码优化等】③汇编:将汇编代码“.s”翻译成机器指令“.o”或".ob......
  • 记一次原生AB分区OTA升级实现
    记一次原生AB分区OTA升级实现系统需要实现软件ota功能具体代码实现UpdateEnginemUpdateEngine=newUpdateEngine();UpdateParser.ParsedUpdatemParsedUpdate;try{mParsedUpdate=UpdateParser.parse(newFile(Environment.getDataDirectory(),"ota_package/upd......
  • 在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信
    在Linux系统中,当你遇到使用touchtest.file命令创建新文件时报错提示磁盘已满,但使用df-h命令查看磁盘使用率时却显示只有60%的磁盘空间被使用,这种情况可能由以下几个原因造成:inode耗尽:在Linux文件系统中,每个文件或目录都需要一个inode(索引节点)来存储其元数据(如权限、所有者......
  • Redis基础教程(十九):Redis分区
    ......
  • 在Linux中,如何保存当前磁盘分区的分区表?
    在Linux中,可以通过几种不同的方法来保存当前磁盘分区的分区表。这包括使用dd命令、gdisk工具和利用fdisk命令的不同选项。以下是详细步骤和方法:使用dd命令备份整个分区表MBR分区表备份:对于主引导记录(MBR)类型的分区表,可以使用dd命令将整个MBR备份到一个文件中。MBR包含分区......
  • Android 13.0 mt6771新增分区功能实现一
    1.前言 在13.0的系统ROM定制化开发中,在对某些特殊模块中关于数据的存储方面等需要新增分区来保存,所以就需要在系统分区新增相关的分区,来实现功能,接下来就来实现这个功能,来新增分区功能2.mt6771新增分区功能实现一的核心类build/make/core/Makefilebuild/make/cor......
  • 鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板
    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板 大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发学习吗?跟着我们一起来探索吧!    迅为RK3568开发板:     想象一下,你手中的RK3568开发板能够轻松运行鸿蒙4.1......
  • 一、内存分区模型
    1.概述C++程序在执行时,将内存方向划分为4个区域。代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量,静态变量,常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收2.程序运行前编译后......
  • unbuntu添加交换分区
    环境:OS:16.04 安装ubuntu的时候采用的是lvm方式自动安装的,划分的swap分区太小了,无法满足安装oracle的要求,下面单独创建一个交换分区fallocate-l4G/swapfilels-lh/swapfilechmod600/swapfilemkswap/swapfileswapon/swapfileswapon--showecho'/swapfilenoneswap......
  • 磁盘分区?合并?看这一篇文章就够了
    一、故事开篇        你会不会有这样的诉求呢?刚买了一块磁盘,但是自己的不同资料想要分盘管理,不想一股脑地都放在同一个盘下面,也还不想再买一块盘。莫慌,你可以对一块磁盘进行分区,行话就叫“磁盘分区”。如下图我的磁盘:    (一个小知识:系统盘默认叫C盘,每加一......