日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核创建ubi,UBI文件系统制作和挂载

發布時間:2025/4/5 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核创建ubi,UBI文件系统制作和挂载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于參數可以參考attach的命令輸出:

root@ubuntu:~# ubiattach? /dev/ubi_ctrl -m 4 -d 0

UBI device number 0, total 4000 LEBs (516096000 bytes, 492.2 MiB), available 0LEBs (0 bytes), LEB

size 129024 bytes (126.0 KiB)

root@ubuntu:~#

ubinize.cfg文件

[ubifs]

mode=ubi

image=ubifs.img

vol_id=0

vol_size=450MiB --》一般要比真實的size要小

vol_type=dynamic

vol_alignment=1

vol_name=rootfs

vol_flags=autoresize

5. UBI文件系統鏡像在Linux下的燒寫

flash_eraseall /dev/mtd4

ubiformat /dev/mtd4 -s 512 -f /xxx/ubi.img

6、 UBI文件系統鏡像在U-BOOT下的燒寫

//load ubi image to RAM

tftp ubi.img

//erase MTD4 nand space

nand erase 0x6c0000 0xc820000

//write image to nand

nand write.i 0x81000000 0x6c0000 0xxxxx(image size)

7. UBI文件系統鏡像在Linux下的掛載和卸載

掛載

ubiattach /dev/ubi_ctrl -m 4 -d 0

mount -t ubifs ubi0_0 /mnt/ubi

卸載

umount /mnt/ubi

ubidetach -d 0

8、使用ubi做根文件系統

需要在bootargs中設置如下信息:

root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs

配置linux內核

配置的時候選上

1)Device Drivers?--->Memory Technology Device (MTD) support? --->UBI - Unsorted blockimages? --->Enable UBI

2)File systems?--->Miscellaneous filesystems? --->UBIFS file system support

這樣我們的內核就支持UBIFS文件系統了

9、ubi命令

在mtd-utils/ubi-utils中生成的工具是針對UBIFS的,包含:

(1)mtdinfo:?輸出指定的mtd分區的信息, 該命令只對可讀的設備分區有效。

用法: ./mtdinfo /dev/mtd1

(2)ubinfo:??輸出指定的ubi設備的信息,不帶參數時,輸出系統所有的ubi設備以及ubi控制設備信息。ubi控制設備即/dev/ubi_ctrl是一個字符設備,在后面還將用到。

用法:./ubinfo

./ubinfo/dev/ubi0

(3)ubiformat:格式化指定的mtd分區, 參數使用的是mtd的字符設備

用法:./ubiformat /dev/mtd1

(4)ubiattach:將指定的mtd分區關聯到ubi上

用法:./ubiattach /dev/ubi_ctrl -m 1, 將mtd1關連ubi

(5)ubidetach:解除mtd與ubi的關聯

用法:./ubidetach /dev/ubi_ctrl -m 1

(6)ubimkvol:創建一個voluem,volume才是最終用戶掛載文件系統的地方。

用法:在ubi2上創建4個olume,每個大小是20M, 名字分別為my_vol_a, my_vol_b, my_vol_c, my_vol_d.

./ubimkvol/dev/ubi2 -s 20Mib -N my_vol_a

./ubimkvol/dev/ubi2 -s 20Mib -N my_vol_b

./ubimkvol/dev/ubi2 -s 20Mib -N my_vol_c

./ubimkvol/dev/ubi2 -s 20Mib -N my_vol_d

(7)ubirename: 更改ubi某個olume的名字,或者完成兩個volume的互換

用法:

(1)將ubi2上名字為my_vol_a的volume名字改為my_vol_newname

./ubirename /dev/ubi2my_vol_a my_vol_newname

(2)將ubi2上名字為my_vol_b和my_vol_c的兩個volume互換,

./ubirename/dev/ubi2 my_vol_b?my_vol_c my_vol_c my_vol_b

(8)ubirmvol: 刪除某個volume,可以通過名字或id指定具體的volume

用法: ./ubirmvol /dev/ubi2 -n 1

或./ubirmvol /dev/ubi2 -N my_vol_d

(9)ubinize: 創建ubi image。

用法: ./ubinize -o myubi.img -p 126976 -m 2048my.ini

其中, -p, 指定的是目標flash的physical eraseblock的大小

-s,指定的是目標flash的minimum input/output unit 的大小, 這兩個參數的值可以通過“cat /sys/class/ubi/ubi2/*”得到

my.ini是配置文件,其中指定了原文件,目標volume的大小、名字等。其格式如小:

[jffs2-volume]

mode=ubi

image=../jffs2.img

vol_id=1

vol_size=30MiB

vol_type=dynamic

vol_name=jffs2_volume

vol_flags=autoresize

vol_alignment=1

(10)ubiupdatevol: 向指定的volume上寫數據

用法:./ubiupdatevol /dev/ubi2_0 myubi.img

data:ubifs.img

ubinize -o datafs.img -m 2048 -p 128KiB -s 512 -O 2048 ubinize.cfg

ubifs.img:

mkfs.ubifs -r ./data/ -o ubifs.img -m 2048 -e 126976 -c 148

總結

以上是生活随笔為你收集整理的linux内核创建ubi,UBI文件系统制作和挂载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。