只能在本地机ubuntu上制作,本部分都在本地完成
首先要下载ubinize和mkfs.ubifs两个工具,以及ubinize的配置文件my_ubi.ini:
链接:https://pan.baidu.com/s/1bQVpGP3Var5r0sr5ctGctg
提取码:10ku
在code目录创建test文件夹,test目录下创建两个txt文件
mkdir test cd test echo "adcdefg" >simcon1.txt echo "higqmn" >simcon2.txt
ubinize和mkfs.ubifs my_ubi.ini三个文件传到code目录
let@by001:home/let/code$ ls ubinize mkfs.ubifs my_ubi.ini test
执行两条指令制作镜像
sudo ./mkfs.ubifs -m 2KiB -e 124KiB -c 24 -r /home/let/code/test/ /home/let/code/NON-HLOS.ubifs ./ubinize -v -o /home/let/code/NON-HLOS_genns_3M.ubi -m 2048 -p 128KiB -s 2048 my_ubi.ini
制作完成后,NON-HLOS_genns_3M.ubi就是可烧录文件:
let@by001:~/code$ ls NON-HLOS_genns_3M.ubi ubinize mkfs.ubifs NON-HLOS.ubifs my_ubi.ini test2、如何烧录ubi文件系统镜像
首先把生成的NON-HLOS_genns_3M.ubi传到data文件夹
[C:~]$ adb push "Z:NON-HLOS_genns_3M.ubi" data 2577 KB/s (1966080 bytes in 0.744s)
烧写镜像到mtd17
flash_eraseall /dev/mtd17
ubiformat /dev/mtd17 -f /data/NON-HLOS_genns_3M.ubi
ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048
mount -t ubifs /dev/ubi4_0 /mnt/
[C:~]$ adb shell BusyBox v1.22.1 (2021-10-11 14:48:04 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. / # ls data ls data NON-HLOS_genns_3M.ubi / # flash_eraseall /dev/mtd17 flash_eraseall /dev/mtd17 Erasing 128 Kibyte @ 400000 - 100% complete. / # ubiformat /dev/mtd17 -f /data/NON-HLOS_genns_3M.ubi ubiformat /dev/mtd17 -f /data/NON-HLOS_genns_3M.ubi ubiformat: mtd17 (nand), size 4194304 bytes (4.0 MiB), 32 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes libscan: scanning eraseblock 31 -- 100 % complete ubiformat: 32 eraseblocks are supposedly empty ubiformat: flashing eraseblock 14 -- 100 % complete ubiformat: formatting eraseblock 31 -- 100 % complete / # ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048 ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048 UBI device number 4, total 32 LEBs (4063232 bytes, 3.9 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB) / # mount -t ubifs /dev/ubi4_0 /mnt/ mount -t ubifs /dev/ubi4_0 /mnt/ / # ls mnt ls mnt simcon1.txt simcon2.txt3、怎样验证
断电重启
ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048
mount -t ubifs /dev/ubi4_0 /mnt/
[C:~]$ adb shell BusyBox v1.22.1 (2021-10-11 14:48:04 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. / # ls mnt ls mnt / # ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048 ubiattach /dev/ubi_ctrl -m 17 -d 4 -O 2048 UBI device number 4, total 32 LEBs (4063232 bytes, 3.9 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB) / # mount -t ubifs /dev/ubi4_0 /mnt/ mount -t ubifs /dev/ubi4_0 /mnt/ / # ls mnt ls mnt simcon1.txt simcon2.txt / #



