FLASH不像磁盘一样可以用fdisk分区,它是在编译内核时定义好了的。FLASH分区的定义放在drivers/mtd/maps目录中的,不同的平台在不同的文件中的。例如pxa270的就放在pxa27x-flash.c中的,内容如下:
static struct mtd_partition pxa27x_partitions[] = {
{
.name = "Boot",
.size = 0x00080000,
.offset = 0,
.mask_flags = MTD_WRITEABLE /* force read-only */
},{
.name = "Kernel",
.size = 0x00200000,
.offset = 0x00080000,
.mask_flags = MTD_WRITEABLE /* force read-only */
},{
.name = "f1",
.size = 0x01000000,
.offset = 0x00280000
},
{
.name = "f2",
.size = 0x00D80000,
.offset = 0x01280000
}
};
第一个分区放 bootloader ,第二个分区放 Kernel ,最后两个分区是文件系统。对于写入 bootloader ,第一次常用 jtag 写入,以后可以利用 bootloader 本身的功能,通过 usbnet 或者串口写入。