MTD分区concat合并操作
合并流程:
struct mtd_info *mtd_buff[MAX];
struct mtd_info *mtd_new = NULL;
需要合并的所有的分区mtd信息,全部整合进数组mtd_buff,MAX是实际分区数量
{
mtd_buff[i] = get_mtd_device_nm(mtd_name);
释放对应的分区mtd
put_mtd_device(mtd[index]);
}
合并出新分区
mtd_new = mtd_concat_create(mtd_buff, MAX, new_name);
注册新mtd分区,新分区没有继承原分区的mtd_get_device_size,UBI文件系统需要自行ubiattach处理坏块预留比例
mtd_device_register(mtd_new, NULL, 0);
去除合并流程:
mtd_new = get_mtd_device_nm(new_name);
put_mtd_device(mtd_new);
mtd_device_unregister(mtd_new);
mtd_concat_destroy(mtd_new);

本文介绍了一种在MTD设备上进行分区Concat合并的方法。通过将多个分区信息整合到数组mtd_buff中,创建新的分区mtd_new,并完成注册过程。同时也提供了去除合并的操作步骤。


被折叠的 条评论
为什么被折叠?



