SOC: aml
OS: Android 4.1
Kernel: 3.0.8
uboot: ?
nand flash也需要劃分partition、format的, (format格式為YAFFS)
劃分partition的方式是在kernel裡實踐
劃分的重點為:
size跟offset之間要連接好,如下:
(nand flash會有bad block,所以通常會預留點空間,不過下面的有點留太多了@@)
如下, 劃分8個mtd
static struct mtd_partition normal_partition_info[] = {
{
.name = "logo",
.offset = 32*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{ //預留了48-(32+8)M@@
.name = "aml_logo",
.offset = 48*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{ //預留了64-(48+8)M@@
.name = "recovery",
.offset = 64*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{ //預留了96-(64+8)M@@
.name = "boot",
.offset = 96*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{
.name = "system",
.offset = 128*SZ_1M+40*SZ_1M,
.size = 1024*SZ_1M,
},
{
.name = "cache",
.offset = 1152*SZ_1M+40*SZ_1M,
.size = 256*SZ_1M,
},
{
.name = "userdata",
.offset = 1408*SZ_1M+40*SZ_1M,
.size = 1024*SZ_1M,
},
{
.name = "NFTL_Part", ( setting -> storage : 內部儲存空間的總空間)
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
拿掉一個partition:
static struct mtd_partition normal_partition_info[] = {
.name = "aml_logo",
.offset = 32*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{
.name = "recovery",
.offset = 48*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{
.name = "boot",
.offset = 64*SZ_1M+40*SZ_1M,
.size = 8*SZ_1M,
},
{
.name = "system",
.offset = 80*SZ_1M+40*SZ_1M,
.size = 1024*SZ_1M,
},
{
.name = "cache",
.offset = 1034*SZ_1M+40*SZ_1M,
.size = 256*SZ_1M,
},
{
.name = "userdata",
.offset = 1290*SZ_1M+40*SZ_1M,
.size = 1024*SZ_1M,
},
{
.name = "NFTL_Part",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
沒有留言:
張貼留言