页次: 1
这个问题我解决了,首先我的是squashfs(rootfs) + ubifs(rootfs_data),在nandflash上使用squashfs需要注意坏块的问题,所以需要ubiblock + squanshfs,内核打开CONFIG_MTD_UBI_BLOCK。然后/lib/preinit/80_mount_root脚本里面,在mount_root前加入对mtd6(rootfs_data)的操作:
ubiattach /dev/ubi_ctrl -m 6
[ $? -ne 0 ] && {
ubiformat -y /dev/mtd6
ubiattach /dev/ubi_ctrl -m 6
}
[ ! -c /dev/ubi0 ] && {
mknod /dev/ubi0 c 248 0
}
[ ! -d /sys/class/ubi/ubi0/ubi0_0 ] && { #when erase rootfs_ubi
ubimkvol /dev/ubi0 -N rootfs_data -S $(($(cat /sys/devices/virtual/ubi/ubi0/total_eraseblocks) - 100))
}
[ ! -c /dev/ubi0_0 ] && {
mknod /dev/ubi0_0 c 248 1
}
mount_root
页次: 1