對於Nandflash 驅動還有一個重要的方面是Nandflash 的分區,這個分區表位於內核源碼目錄的arch/arm/plat-s3c/include/plat/partition.h 文件中。一下爲一種分區方式,可根據需要自行對分區進行修改。
struct mtd_partition s3c_partition_info[] = {
{
.name = "Bootloader",
.offset = 0,
.size = (256*SZ_1K),
.mask_flags = MTD_CAP_NANDFLASH,
},
{
.name = "Kernel",
.offset = (256*SZ_1K),
.size = (4*SZ_1M) - (256*SZ_1K),
.mask_flags = MTD_CAP_NANDFLASH,
},
#if defined(CONFIG_SPLIT_ROOT_FILESYSTEM)
{
.name = "Rootfs",
.offset = (4*SZ_1M),
.size = (80*SZ_1M),
},
#endif
{
.name = "File System",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
}
};
這裏我們劃分第一個分區爲256k的空間存放uboot; 第二個分區大小爲3.75M存放kernel。而且通過配置system type->s3c mtd has 4 partitions可以選擇劃分兩個文件系統分區或者一個文件系統分區;若選中則第三個文件系統分區爲80M存放根文件系統,其餘的爲第四分區。這裏一般不選中,即只有三個分區,最後一個分區存放文件系統。