| | |
| | | cd - |
| | | } |
| | | |
| | | #/tmp >: ubiattach -m 5 -d 5 /dev/ubi_ctrl |
| | | #[ 822.268210] UBI: attaching mtd5 to ubi5 |
| | | #[ 822.272237] UBI: physical eraseblock size: 131072 bytes (128 KiB) |
| | | #[ 822.278848] UBI: logical eraseblock size: 126976 bytes |
| | | #[ 822.284479] UBI: smallest flash I/O unit: 2048 |
| | | #[ 822.289398] UBI: VID header offset: 2048 (aligned 2048) |
| | | #[ 822.295665] UBI: data offset: 4096 |
| | | |
| | | function build_ubifs() |
| | | { |
| | | mkfs.ubifs –F -q -r ${ROOTFS_SRC} -m 2048 -e 126976 -c 2047 -o ubi.img |
| | | cat > ubinize.cfg <<EOF |
| | | [ubifs] |
| | | mode=ubi |
| | | image=ubi.img |
| | | vol_id=0 |
| | | vol_size=231MiB |
| | | vol_type=dynamic |
| | | vol_name=rootfs |
| | | vol_flags=autoresize |
| | | EOF |
| | | ubinize_cfg=ubinize.cfg |
| | | ubimg_tmp=ubi.img |
| | | |
| | | ubinize -o ${ROOTFS_IMG} -m 2048 -p 128KiB ubinize.cfg |
| | | rm -f ubi.img ubinize.cfg |
| | | partition_size=140 # MiB |
| | | |
| | | # PEB counter: PartitionSize / PagesPerBlock(64) / PageSize(2K) |
| | | partition_peb_cnt=`expr $partition_size \* 1024 / 64 / 2` |
| | | |
| | | # LEB counter need reserved some blocks for UBI badblock used. |
| | | partition_leb_cnt=`expr $partition_peb_cnt - 20` |
| | | |
| | | echo "Parition size ${partition_size}MiB set LEB=$partition_leb_cnt" |
| | | set -x |
| | | mkfs.ubifs -F -d ${ROOTFS_SRC} -m 2048 -e 126976 -c $partition_leb_cnt -o ubi.img |
| | | set +x |
| | | |
| | | printf "[ubifs] \nmode=ubi \nimage=${ubimg_tmp} \nvol_id=0 \nvol_size=${partition_size}MiB\n" > $ubinize_cfg |
| | | printf "vol_type=dynamic \nvol_name=rootfs \nvol_flags=autoresize\n" >> $ubinize_cfg |
| | | |
| | | ubinize -o ${ROOTFS_IMG} -m 2048 -p 128KiB $ubinize_cfg |
| | | rm -f $ubimg_tmp $ubinize_cfg |
| | | |
| | | chmod a+x ${ROOTFS_IMG} |
| | | } |