我正在使用一块嵌入式ARM9开发板。我想重新排列我的nand分区。有人能告诉我如何做吗?
在我的u-boot shell中,如果我输入命令mtdparts,它会给出以下信息。
Boardcon> mtdparts
device nand0 <nandflash0>, # parts = 7
#: name size offset mask_flags
0: bios 0x00040000 0x00000000 0
1: params 0x00020000 0x00040000 0
2: toc 0x00020000 0x00060000 0
3: eboot 0x00080000 0x00080000 0
4: logo 0x00100000 0x00100000 0
5: kernel 0x00200000 0x00200000 0
6: root 0x03c00000 0x00400000 0
active partition: nand0,0 - (bios) 0x00040000 @ 0x00000000
defaults:
mtdids : nand0=nandflash0
mtdparts: mtdparts=nandflash0:256k@0(bios),128k(params),128k(toc),512k(eboot),1024k(logo),2m(kernel),-(root)
内核引导消息显示如下:
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "Boardcon_Board_uboot"
0x000000200000-0x000000400000 : "Boardcon_Board_kernel"
0x000000400000-0x000003ff8000 : "Boardcon_Board_yaffs2"
请问有人能解释一下这两个消息之间的关系吗?还有,是哪一个,内核还是U-boot负责在nand闪存上创建分区?据我所知,内核不会在每次启动时都创建分区,但为什么会出现“Creating 3 MTD partitions”这个消息?
mtdparts
命令涉及原始NAND或NOR闪存,而不是“托管”闪存,如MMC、eMMC或SD。您可以在http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Using_NAND中找到有关U-Boot命令差异的简明描述。 - Jonathan Ben-Avraham