U-Boot如何向内核传递Flash的分区信息
2013-06-21 13:53
465 查看
转自:http://blog.csdn.net/maopig/article/details/8302999
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中的保持一致,即同步修改内核的相关部分代码
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的分区信息
- u-boot如何向内核传递Flash的分区信息
- U-Boot如何向内核传递Flash的分区信息
- U-Boot如何向内核传递Flash的分区信息
- uboot向内核传递Flash的分区信息
- 如何通过消息传递字符串信息
- 如何修改bootargs参数使u-boot从网络引导内核
- Linux-2.6.32.2内核在mini2440上的移植----移植Nand驱动并更改分区信息
- 没有代码空谈流程(U-boot如何启动内核)
- 从零开始-uboot的移植-前期准备:uboot是如何启动倒数,启动内核的
- 如何在VC++中两个对话框相互传递信息
- linux如何使用kprobes查看内核内部信息
- U-Boot如何为内核设置启动参数--转帖
- Linux下如何查看CPU型号、个数、核数、逻辑CPU数、位数、发行版本、内核信息、内存、服务器生产厂家
- U-Boot如何为内核设置启动参数
- U-boot如何启动内核
- 页面传值,发生错误,如何传递中文信息
- 自己写bootloader笔记6---boot.c分析(u-boot向内核传递参数及跳转到内核)
- U-boot如何向kernel传递参数 + kernel如何读取参数
- 内核启动信息Nandflash分区中出现ftl_cs: FTL header not found