工具/软件:
ubifs 文件已成功创建并正确刷写。 但是、未进行安装。 正在触发内核错误。
当使用 jffs2 尝试相同的进程时、它在相同的 MTD 分区中正常工作。
您能否提供帮助以启用 ubifs 引导?
错误日志:
[ 1.908562]所有分区列表:
[1.912094] 0100 65536 ram0
[ 1.912101](驱动器?)
[ 1.917987] 0101 65536 ram1
[ 1.917991](驱动器?)
[ 1.923931] 0102 65536 RAM2
[ 1.923936](驱动器?)
[1.929820] 0103 65536 ram3.
[ 1.929824](驱动程序?)
[1.935751] 0104 65536 ram4
[ 1.935756](驱动器?)
[1.941675] 0105 65536 ram5.
[ 1.941680](驱动程序?)
[1.947562] 0106 65536 ram6.
[ 1.947566](驱动程序?)
[1.953466] 0107 65536 ram7.
[ 1.953470](驱动程序?)
[1.959352] 0108 65536 ram8.
[ 1.959355](驱动器?)
[1.965252] 0109 65536 ram9.
[ 1.965256](驱动程序?)
[1.971168] 010A 65536 ram10
[ 1.971172](驱动程序?)
[1.977139] 010b 65536 ram11
[ 1.977142](驱动器?)
[1.983123] 010C 65536 ram12
[ 1.983127](驱动器?)
[1.989092] 010d 65536 ram13
[ 1.989096](驱动程序?)
[1.995075] 010e 65536 ram14
[ 1.995079](驱动程序?)
[2.001078] 010f 65536 ram15
[ 2.001082](驱动程序?)
[2.007053] 1f00 15360 mtdblock0
[ 2.007057](驱动程序?)
[ 2.013374] 1f01 1024 mtdblock1.
[ 2.013379](驱动程序?)
[ 2.019679] 1f02 128 mtdblock2.
[ 2.019682](驱动程序?)
[ 2.025997] 1f03 1024 mtdblock3.
[ 2.026001](驱动程序?)
[ 2.03232] 1f04 256 mtdblock4.
[ 2.032336](驱动程序?)
[ 2.038637] 1f05 256 mtdblock5.
[ 2.038641](驱动器?)
[ 2.044956] 1f06 1024 mtdblock6.
[ 2.044960](驱动程序?)
[ 2.051275] 1f07 51200 mtdblock7.
[ 2.051279](驱动程序?)
[ 2.057579] 1f08 122880 mtdblock8.
[ 2.057583](驱动程序?)
[2.063917] 1f09 1024 mtdblock9.
[ 2.063921](驱动程序?)
[ 2.070222] 1f0a 71680 mtdblock10.
[ 2.070226](驱动程序?)
[ 2.076627] 1f0b 10240 mtdblock11.
[ 2.076631](驱动程序?)
[2.083041]没有文件系统可以装载 root、请尝试:
[2.083046] ubifs.
[ 2.087745]
[ 2.091133]内核紧急 — 未同步: VFS:无法在未知块上装载根 FS(31、8)
[ 2.099198]--[结束内核恐慌 — 未同步:VFS:无法在未知块 (31、8) 上装载根 FS ]---
Linux SDK: 用于 Linux 的版本 4.19.59。
NAND 闪存: MT29F2G16
NAND 闪存大小: 256MB (2Gb)
文件系统分区大小: 120MB
DTB 分区:
分区@0{
标签=“NAND.SPL";“;
REG =<0x00000000 0x00020000>;
};
分区@1{
标签=“NAND.u-boot";“;
REG =<0x00020000 0x0010000>;
};
分区@2{
标签=“NAND.u-boot-env";“;
REG =<0x00120000 0x00040000>;
};
分区@3{
标签=“NAND.u-boot-env-redund";“;
REG =<0x00160000 0x00040000>;
};
分区@4{
标签=“NAND.User DTB“;
REG =<0x001A0000 0x0010000>;
};
分区@5{
label =“NAND.User Kernel“;
REG =<0x002A0000 0x03200000>;
};
分区@6{
标签=“NAND.User FileSystem“;
REG =<0x034A0000 0x07800000>;
};
分区@7{
标签=“nanda.golden dtb“;
REG =<0x0ACA0000 0x0010000>;
};
分区@8{
标签=“NAND.GOOLD 内核“;
REG =<0x0ADA0000 0x04600000>;
};
分区@9{
标签=“NAND.Test Partition“;
REG =<0x0F3A0000 0x00A00000>;
注意: 总共 12 个分区、0 和 1 个分区是 NOR 闪存分区、2 至 11 个是 NAND 分区。 因此、用户文件系统分区号是 8。
用于创建 ubifs 的命令:
1. mkfs.ubifs -r -m 1024 -e 0x20000 -c 960 -o /rootfs.ubifs
2. ubinize -o /rootfs.ubi -m 1024 -p 128KiB -s 512 -v ubinize.cfg
3. cfg 文件:
[ubifs]
MODE=ubi
图像= /rootfs.ubifs
VoL_id=0
VoL_size=120MiB
VoL_type=dynamic
vol_name=rootfs
vol_flags=自动调整大小
用于闪存和引导的 U-boot 命令:
tftpboot 0x8f000000 rootfs.ubi
NAND 擦除 0x034A0000 0x07800000
NAND 写入 0x8f000000 0x034A0000
4. setenv bootargs console=ttyS0115200n8 ubi.MTD=8 root=ubi0:rootfs rootfstype=ubifs rw