U-Boot如何向内核传递Flash的分区信息
1.如何对nand 分区。修改mtdparts环境变量就可以了么?
对于目前的U-boot而言,是的.而且, 设置了mtdparts变量之后,你可以在nand read/write/erase命令中直接使用分区的名字而不必指定分区的偏移位置.
set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2 mtdparts=nand_flash:128k(u-boot)ro,64k(u-boot envs),3m(kernel),30m(root.jffs2),30m(root.yaffs)
2 内核通过bootargs找到文件系统,bootargs中的mtdblockx即代表分区,block1,2,3代表哪个分区是如何确定的。
事实上,bootargs中的"root=/dev/mtdblockx"只是告诉内核,root fs从第x个(x=0,1,2...)MTD分区挂载,mtdblock0对应第一个分区,mtdblock1对应第二个分区,以此类推.至于这个分区对应MTD device(NAND Flash)的哪一段范围,取决于内核读到的MTD分区信息,这个分区信息可以通过:
1) 写死在MTD层的NAND Controller驱动或者内核其他部分代码里
2) 通过U-boot传递给内核的命令行中的mtdparts=...部分解析得出,解析的规则同u-boot中mtdparts变量的赋值规则
3) 其他可以让内核知道分区信息的任何办法
3 在u-boot中给nand分区后是否要对应修改kernel的代码?
如果你用的是通过内核命令行给MTD层传递u-boot中的MTD分区信息,那是不需要的,在这种情况下,内核读取到的分区信息始终和u-boot中的保持一致(推荐的做法)
如果你用的是把分区信息写死在内核源代码里的方法,那最好保证它和u-boot中的保持一致,即同步修改内核的相关部分代码
U-Boot如何向内核传递Flash的分区信息相关推荐
- uboot通过u盘烧写linux内核,向Flash中烧写uboot和linux操作系统
向Flash中烧写uboot和linux操作系统 2011年03月28日 向Flash中烧写uboot和linux操作系统 ====================================== ...
- u-boot向linux内核传递启动参数
U-BOOT 在启动内核时,会向内核传递一些参数.而这些参数是通过 structtag来传递的. U-boot 把要传递给 kernel 的东西保存在 struct tag数据结构中,启动 kerne ...
- Android内核开发:系统分区与镜像文件的烧写
本文是<Android内核开发>系列的第五篇文章,本文重点介绍如何把编译输出的镜像文件烧写到Android设备中. 玩过刷机的朋友肯定对fastboot这个工具并不陌生,它是Android ...
- linux擦除nandflash分区,【Linux公开课】NAND Flash存储器分区、烧写流程图、格式化NAND Flash...
摘要本章主要讲述EasyARM-iMX283A Linux固件的烧写方法,可以通过TF卡.USB两种方式进行整体固件烧写,也可以通过网络进行局部固件升级. 第9章 系统固件烧写 本章主要讲述EasyA ...
- uboot引导kernel - 1 - Flash的分区
uboot启动Linux内核过程分为4大步骤: 问题1:Flash的分区相关问题 在 上述步骤1/2/4 中都提到了从启动介质(iNand/SD)中读取uboot/kernel到SRAM/DDR中,那 ...
- linux更新分区信息到内核,linux系统创建主分区、逻辑分区 、设置ext系列分区的参数以及检测分区的方法...
linux对不同的磁盘设备的设备文件命名如下: IDE: /dev/hd[a-z] 对IDE分区的命名为/dev/hda1 /dev/hda2 -.. SCSI, SATA, SAS, USB: ...
- 【Linux 内核 内存管理】分区伙伴分配器 ② ( free_area 空闲区域结构体源码 | 分配标志位 | GFP_ZONE_TABLE 标志位区域类型映射表 |分配标志位对应的内存区域类型 )
文章目录 一.free_area 空闲区域结构体源码分析 二.分配标志位 三.GFP_ZONE_TABLE 标志位区域类型映射表 四.分配标志位对应的内存区域类型 一.free_area 空闲区域结构 ...
- Linux内核I/O报错信息中hostbyte与driverbyte含义
文章目录 1.现象举例 2.hostbyte和driverbyte 3.FC链路的硬件故障 4.源码分析 1.现象举例 1.hostbyte=DID_BAD_TARGET driverbyte=DRI ...
- openwrt-AR系列flash地址分区及系统烧写
AR系列分区地址 4M flash的分区地址: 分区名-------起始地址-------结束地址--------分区长度 uboot 0x9f000000 0x9f020000 0x20000 fi ...
最新文章
- 2021年大数据Hadoop(二):Hadoop发展简史和特性优点
- 内网更新服务器的搭建(WSUS)
- hashlib 模块用来进行hash
- python textwrap_[Python标准库]textwrap——格式化文本段落
- Python -- reload 函数
- [转载] python标准库系列教程(三)——operator库详细教程
- 【Python】@staticmethod和@classmethod的作用与区别
- 2. CSS 高级语法
- Origin上下标输入
- git pull报错 Can‘t update no tracked branch
- blast2go下载和本地安装
- 电子邮件注册网站哪个好:四大邮箱客户端的对比
- 语c语言描写,语c动作描写
- 衣服面料成份(英文/日文/中文)
- 软件经验|使用消费级无人机干测绘(四)ContexCapture软件介绍
- 使用python实现mysql测试数据的准备(大批量导入数据)
- 取消计算机粘贴,电脑复制粘贴文件或图片后怎么设置右击取消粘贴?
- 魔兽世界盒子怎么修改服务器地址,多玩魔盒怎么设置界面 多玩魔兽盒子多玩界面调整教程...
- 我们社会的普遍价值观
- 电动口罩电路图和源代码程序破解
热门文章
- [bzoj2243][SDOI2011]染色
- Windows 8 系统快捷键热键列表收集
- PHP多种序列化/反序列化的方法 (转载)
- 15款的视频处理软件免费下载
- HDU 4631 Sad Love Story 平面内最近点对
- Spring AOP 实战运用
- 内存容量出现异常的解决办法
- JLOI2016 方
- 将undefault和null的数据转换成bool类型的数据 使用!!
- Codeforces Round 261 Div.2 D Pashmak and Parmida's problem --树状数组