新增需求如下:

1.增加 tmpfs 文件系统格式的 /var 分区,大小2M

2.新增 ubi分区,/data,大小30M

1.通过boot分区,如下所示:

原始分区结构如下:

可以看到原始分区一个以mtd=1作为root的ubi0:rootfs分区作为root rootfs大小是0x7900000,以偏移0x700000开始计算。

做如下分区修改:

新增一个以mtd=2作为data的ubi1:data分区作为data data大小是0x1E00000,以偏移0x6200000开始,这里注意下原先的rootfs分区大小变化了,这是因为该nand总共大小只有128M,因此若需要新增一个分区大小30M的,就必须把原先的rootfs减小了。可见现在rootfs分区大小为0x5B00000,以同样以偏移0x700000开始计算。

以上只是把nand进行mtd分区了,因此在开机log中和开机后可以做如下查看:

开始进行ubifs格式分区挂载:

ubiattach /dev/ubi_ctrl -m 2

ubimkvol /dev/ubi1 -N data -s 27262976

mount -t ubifs ubi1_0 /data

ps:粗略解释下上述命令含义,详情可参考后附参考众链接。

ubiattach /dev/ubi_ctrl -m 2 : -m 2 就是使用mtd=2的分区

ubimkvol /dev/ubi1 -N data -s 27262976 : 创建ubi1设备名叫data,大小是27262976

mount -t ubifs ubi1_0 /data : 将ubifs格式的ubi1_0设备挂载到data

这里注意几点:分区大小要和配置的uboot环境变量大小以及制作的文件系统大小相等,切不可文件系统大小大于分区大小。

ubifs文件系统制作时候的命令可参考如下:

#这里需要注意-c选项的参数,这里480意为60M(60M=480=60*1024/128=480)

mkfs.ubifs -F -x lzo -m 2048 -e 126976 -c 480 -o rootfs_ubifs.img -d ./rootfs #60M

#这里rootfs_ubinize.cfg文件是ubinize命令所需的参数之一,意为rootfs分区的配置文件用来生成ubi文件系统镜像,详情如后:

ubinize -o ubi_ln.img -m 2048 -p 131072 -O 2048 -s 2048 rootfs_ubinize.cfg

这里的vol_size需要注意是size,很多网文说可以直接写xxM,如 vol_size=60M,这里实测是不行的必须换算成size,即60M=62914560=6010241024

挂载完成:

可用mount 和 df -h 查看如下:

这里另附下tmpfs分区的新增,如下所示:

/bin/mount tmpfs /var -t tmpfs -o size=2M

最终效果如下:

这里说明下:实际分出来的data是30M,好像看网上说ubi实际好像会小点,这里有明白的大佬望不吝赐教。

参考资料:

1.【Linux】【驱动】MTD分区表信息解析方法分析

2.u-boot中添加mtdparts支持以及Linux的分区设置

3.u-boot中nand相关命令使用---- ubi, ubifsls, ubifsmount, ubifsumount

4.NUC972 MTD分区详解(UBI error: vtbl_check: too large reserved_pebs 824, good PEBs 512 错误分析)

5.UBI分区挂载

6.UBIFS分区挂载

7.挂载ubifs文件系统分区

8.UBI error: ubi_create_volume: cannot create volume 1, error -28

9.Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法

10.Linux下的tmpfs文件系统(/dev/shm)

11.【Linux】tmpfs简介及增加方式

12.[AndroidO] [RK3399] – Rockchip 平台 parameter.txt 文件详解

新塘linux启动过程,NUC972调试笔记之NAND分区调整新增相关推荐

  1. linux系统需要占多大的内存,linux启动过程Bootloader、kernel

    256M可以推1080P屏幕 128M可以基本运行并安装 256M可以勉强开启特效 512M流畅运行特效 当然内存越大越好,特效与显卡也有关系 和windows相比,当然linux对内存的需求小 Bo ...

  2. 嵌入式Linux启动过程中的问题积累

    嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...

  3. 深入理解Linux启动过程 0号进程,1号进程

    深入理解Linux启动过程 Linux系统的启动过程由很多阶段组成,这篇博客从初始化引导程序到第一个用户空间应用程序探索Linux启动进程. 我们先从Linux启动的顶层视图开始分析,以便能有一个整体 ...

  4. Linux启动过程详细介绍

    Linux启动过程详细介绍 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相 ...

  5. Linux启动过程学习

    该学习过程是一个Linux从主引导记录到第一个用户空间程序的指导. 启动一个Linux系统的过程包含一系列步骤.但是无论你是启动一个标准的X86桌面或嵌入式PowerPC,大部分流程是相似的.该文章探 ...

  6. linux 启动过程

    Linux 启动过程详解 下面来详细了解一下 Linux 的启动过程.     Linux 的启动 过程包含了 Linux 工作原理的精髓,      而且在嵌入式的开发过程也非常需要这方面知识的积累 ...

  7. Linux 启动过程详解

    随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统.由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Window ...

  8. Analyzing the Linux boot process-分析Linux启动过程

    本文翻译自Analyzing the Linux boot process. 箴言:了解运行良好的系统是将来处理不可避免的故障的很好准备 开源软件领域中流行的最为古老笑话:"the code ...

  9. Zynq linux启动过程,详解zynq的启动步骤

    本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程. 硬件启动过程 1. 重新上电或POR复位后进行硬件启动过程 2. 扫描"启动引脚"设置,并存入只读寄存 ...

  10. linux 启动脚本 tty,Linux启动过程简介

    许多人对Linux的启动过程感到很神秘,因为所有的启动信息都在屏幕上一闪而过.其实, Linux的启动过程并不象启动信息所显示的那样复杂,它主要分成两个阶段: 1.启动内核.在这个阶段,内核装入内存并 ...

最新文章

  1. SVM+二分类+多分类
  2. XP新建管理员账户后administrator消失或者不能登录的解决方法!
  3. 直线段检测算法(LSD:a Line Segment Detector)
  4. Windows 8.1 Windows Phone 开发环境安装遇到的问题
  5. jsp常用的onchange事件
  6. 燕山大学计算机学院官网,燕山大学信息科学与工程学院(专业学位)计算机技术保研夏令营...
  7. 2022年企业微信生态研究报告
  8. linux signal 处理
  9. 不会Git怎么当程序员?十分钟包你会
  10. 大端模式 小端模式学习笔记
  11. php soap proxy host,php-PHP soap Could not connect to host
  12. 万人云峰会DevSecOps论坛:数字化浪潮下,安全开发与运维该如何破局?
  13. Qt的信号槽机制介绍
  14. 事务(进程 ID )与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务...
  15. Windows下安装Nginx+php+mysql环境
  16. Android中需要了解的数据结构(一)
  17. 获取单个数据库的邮箱数量
  18. 开源Android自定义思维导图控件ThinkMap树状图TreeView(类似xMind那种效果)
  19. 未来两周目标计划---C++ and Disassembly(不积跬步无以至千里,不积小流无以成江海)
  20. 适合大学生用的网课作业搜题找答案的神器分享~~

热门文章

  1. 打开html文件显示undefined,undefined是什么?电脑网页出现undefined时如何解决?
  2. 贵州省NPP净初级生产力数据/NDVI数据
  3. scala 正则表达式
  4. python中对象排序的两种方式
  5. win10启动虚拟机电脑蓝屏----VMware
  6. 201约花鸟画 考c语言试题,全国计算机二级C语言上机100题..doc
  7. 台达cp2000的面板怎么调节_吊灯怎么安装 吊灯怎么固定在顶上的
  8. android 带边框的arc,极细边框(1px边框)实现方式
  9. linux执行ksh文件,关于linux:KSH shell,它对目录中的文件行进行计数
  10. java 简介及环境搭建配置,jdk安装