This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TMS320DM8148:无法在我的 DM814x 自定义板上安装 ubifs 文件系统。

Guru**** 2540830 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/614919/linux-tms320dm8148-not-able-to-mount-ubifs-file-system-on-my-dm814x-custom-board

器件型号:TMS320DM8148

工具/软件:Linux

这是我的引导日志。

                                                                               
NAND 读取:器件0偏移量0x280000、大小0x300000                              
 读取3145728字节:好的                                                         
##从传统映像引导核心,81800000...                             
  映像名称:  Linux-2.6.37+                                                  
  映像类型:  ARM Linux 内核映像(未压缩)                          
  数据大小:   2759972字节= 2.6 MIB                                        
  加载地址:80008000                                                       
  入口点: 80008000                                                       
  正在验证校验和... 好的                                                    
  正在加载内核映像... 好的                                                  
好的                                                                              
                                                                               
正在启动内核...                                                             
                                                                               
正在解压缩 Linux... 已完成、正在引导内核。                                
Linux 版本2.6.37+(root@ammarzafar)(gcc 版本4.3.3 (Sourcery G++ Lite 27
CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c53c7f                 
CPU:VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存               
机器:ti8148evm                                                              
0x0时、VRAM 大小= 52428800                                                     
引导控制台[earlycon0]已启用                                                 
ti81xx_reserve:###保留 DDR 区域@89500000                               
在0x0时保留大小= 52428800                                                 
FB:为 VRAM 保留52428800字节 SDRAM                                     
存储器策略:ECC 禁用、数据高速缓存写回                               
OMAP 芯片为 TI8148 3.0                                                         
SRAM:映射 PA 0x402f1000到 va 0xfe400000大小:0xf000                        
在区域顺序和移动分组中构建1个区域列表。  总页数:25044      
内核命令行:console=ttyO0、115200、quiet mem=150m@0x80000000 vram=50m tif
PID 哈希表条目:512 (顺序:-1、2048字节)                             
DEntry 高速缓存散列表条目:16384 (顺序:4、65536字节)                  
inode 高速缓存哈希表条目:8192 (顺序:3、32768字节)                    
内存:98MB 1MB =总共99MB                                                   
内存:94088k/94088k 可用、59512k 保留、0K HIGHMEM                    
虚拟内核内存布局:                                                   
   向量 :0xff0000-0xff1000  (  4KB)                               
   Fixmap :0xFF00000 - 0xFFE0000  (896 KB)                               
   DMA    :0xc00000 - 0xce00000  (  2 MB)                               
   vmalloc:0xc9800000 - 0xf8000000  (744MB)                               
   低内存 :0xC0000000 - 0xC9600000  (150 MB)                               
   pkmap  :bfe00000 - 0xC0000000  (  2 MB)                               
   模块:bbf000000 - bbfe00000  ( 14 MB)                               
     init:0xc0008000 - 0xc0042000  (232KB)                               
     .text:0xc0042000 - 0xc053f000  (5108 KB)                               
     .data:0xc0540000 - 0xc058cb40  (307 KB)                               
slub:Genslabs=11、HWalign=64、order=0-3、MinObjects=0、CPU=1、 节点= 1         
NR_IRQ:407                                                                     
IRQ:在0xfa200000 (修订版本5.0)上找到一个带有128个中断的 INTC             
1个有效控制器上总共有128个中断                                  
GPMC 版本6.0                                                               
正在尝试安装 IRQ400的中断处理程序                                  
正在尝试安装 IRQ401的中断处理程序                                  
尝试安装 IRQ402的中断处理程序                                  
正在尝试安装 IRQ403的中断处理程序                                  
正在尝试安装 IRQ404的中断处理程序                                  
正在尝试安装 IRQ405的中断处理程序                                  
正在尝试安装 IRQ406的中断处理程序                                  
正在尝试安装 IRQ407的类型控制                                       
尝试为 IRQ407设置 IRQ 标志                                              
OMAP 时钟事件源:GPTIMER1为20000000Hz                                 
控制台:彩色虚拟设备80x30                                              
正在校准延迟环路... 799.53茂物剪(lpj=3997696)                         
PID_max:默认值:32768最小值:301                                            
已初始化安全框架                                                  
挂载高速缓存散列表条目:512                                             
CPU:测试写入缓冲区一致性:好的                                         
devtmpfs:已初始化                                                           
TI81XX:将0x89500000映射到0xfe500000以设置 DRAM 隔离层                           
TI81XX:将0x40300000映射到0xfe600000以设置 SRAM 边界                           
OMAP-VOLTGE_EARLY_INIT:未添加电压驱动器支持                       
稳压器:内核版本0.5                                                     
稳压器:虚拟:                                                               
NET:注册协议系列16.                                              
omap_volte_domain_lookup:尚未发生电压驱动器初始化。出错!      
OMAP-VOLTGE_ADD_DEV:指定的 VDD 不存在!                             
OMAP GPIO 硬件版本0.1                                                  
OMAP GPIO 硬件版本0.1                                                  
OMAP GPIO 硬件版本0.1                                                  
OMAP GPIO 硬件版本0.1                                                  
omap_mux_init:添加分区:#1:内核、标志:4.                                
NOR:无法请求 GPMC CS                                                      
无法 clk_get ck_32                                                            
DebugFS:现在仅支持启用/禁用深度睡眠和唤醒计时器   
已注册 ti81xx_VPSS 器件                                                   
已注册 ti81xx_vidout 设备                                                 
已注册的 ti81xx 片上 HDMI 器件                                           
已注册 ti81xx_fb 器件                                                     
已注册 ti81xx_VIN 器件                                                    
ti81xx_PCIe:正在调用 PCI BIOS...                                               
ti81xx_PCIe:正在设置主机控制器...                                      
ti81xx_PCIe:寄存器基址映射@0xc9820000                                   
ti81xx_PCIe:强制链路宽度- x1                                            
ti81xx_PCIe:正在启动 PCI 扫描...                                               
PCI:总线0:启用快速背对背传输                                  
ti81xx_PCIe:PCI 扫描完成。                                                     
BIO:创建层块 为0                                                   
vgaarb:已加载                                                                  
已初始化 SCSI 子系统                                                      
usbcore:注册的新接口驱动程序 usbfs                                  
usbcore:注册的新接口驱动程序集线器                                    
usbcore:注册了新设备驱动程序 USB                                       
USBSS 修订版本4ea2080b                                                         
registerd cpi-DMA Intr @ IRQ 17.                                                
Cpipi41初始化完成                                                                
omap_i2c omap_i2c.1:总线1版本4.0、100kHz                                    
pcf857x:1-0021的探测失败,错误-121                                 
omap_i2c omap_i2c.3:总线3修订版4.0、100kHz                                    
高级 Linux 声音架构驱动程序版本1.0.23。                        
切换至时钟源 gp 计时器                                               
musb-hdrc:6.0版、host、debug=0                                           
musb-hdrc musb-hdrc.0:DMA 类型:dma-cppi41                                     
MUSB CONTROLer-0修订版4ea20800                                             
usb2phy:计算值 rxcalib(15) dac (28 12 14)                              
usb2phy:覆盖计算值 rxcalib(15) DAC (28 12 14)                     
usb2phy_config:musb (0) rxcalib Done、rxcalb 读取值6f6e5976               
musb-hdrc musb-hdrc.0:MUSB HDRC 主机驱动程序                                    
musb-hdrc musb-hdrc.0:新的 USB 总线已注册、分配的总线编号1            
USB USB1:找到新的 USB 器件、idVendor=1d6b、idProduct=0002                   
USB USB1:新 USB 器件字符串:MFR=3、Product=2、SerialNumber=1              
USB USB1:产品:MUSB HDRC 主机驱动程序                                        
USB USB1:制造商:Linux 2.6.37+ musb-hcd                                  
USB USB1:串行编号:musb-hdrc.0                                             
集线器1-0:1.0:找到 USB 集线器                                                      
集线器1-0:1.0:检测到1个端口                                                    
musb-hdrc musb-hdrc.0:c981e000处的 USB 主机模式控制器、使用 DMA、IRQ 18   
musb-hdrc musb-hdrc.1:DMA 类型:dma-cppi41                                     
MUSB CONTROLLER -1修订版4ea20800                                             
usb2phy:计算值 rxcalib(15) dac (30 14)                              
usb2phy:覆盖计算值 rxcalib(15) DAC (30 14)                     
usb2phy_config:musb (1) rxcalib Done、rxcalb 读取值6f6f5d76               
musb-hdrc musb-hdrc.1:MUSB HDRC 主机驱动程序                                    
musb-hdrc musb-hdrc.1:新的 USB 总线已注册、分配的总线编号2            
USB USB2:找到新的 USB 设备、idVendor=1d6b、idProduct=0002                   
USB USB2:新 USB 器件字符串:MFR=3、Product=2、SerialNumber=1              
USB USB2:产品:MUSB HDRC 主机驱动程序                                        
USB USB2:制造商:Linux 2.6.37+ musb-hcd                                  
USB USB2:串行编号:musb-hddrc.1                                             
集线器2-0:1.0:找到 USB 集线器                                                      
集线器2-0:1.0:检测到1个端口                                                    
musb-hdrc musb-hdrc.1:c9826800上的 USB 主机模式控制器、使用 DMA、IRQ 19   
NET:注册协议系列2.                                               
IP 路由高速缓存哈希表条目:1024 (顺序:0、4096字节)                  
TCP 建立哈希表条目:4096 (顺序:3、32768字节)                
TCP 绑定哈希表条目:4096 (顺序:2、16384字节)                       
TCP:配置哈希表(建立4096 BIND 4096)                        
TCP 重新注册                                                             
UDP 哈希表条目:256 (顺序:0、4096字节)                              
UP-Lite 哈希表条目:256 (顺序:0、4096字节)                         
NET:注册协议系列1                                               
RPC:注册的 UDP 传输模块。                                           
RPC:注册的 TCP 传输模块。                                           
RPC:已注册的 TCP NFSv4.1反向通道传输模块。                       
NetWinder 浮点仿真器 V0.97 (双精度)                      
PMU:已注册类型为0的新 PMU 器件                                        
OMAP-iommu OMAP-iommu.0:已注册 Ducati                                      
OMAP-iommu OMAP-iommu.1:已注册系统                                         
squashfs:版本4.0 (2009/01/31) Phillip Lougher                              
JFFS2版本2.2。 (NAND)Copyright2001-2006 Red Hat, Inc.                            
msgmni 已设置为183                                                      
已注册 IO 调度程序 NOOP                                                    
已登记 IO 调度程序截止日期                                                
已注册 IO 调度程序 cfq (默认)                                           
串行:8250/16550驱动程序,4个端口,启用 IRQ 共享                         
OMAP-UART.0:MMIO 0x48020000 (IRQ = 72)处的 ttyO0是 OMAP UART0                
控制台[ttyO0]启用、引导控制台禁用                                   
控制台[ttyO0]启用、引导控制台禁用                                   
OMAP-UART.1:MMIO 0x48022000 (IRQ = 73)上的 ttyO1是 OMAP UART1                
OMAP-UART.2:MMIO 0x48024000 (IRQ = 74)处的 ttyO2是 OMAP UART2                
OMAP-UART.3:MMIO 0x481a6000 (IRQ = 44)上的 ttyO3是 OMAP UART3                
OMAP-UART.4:MMIO 0x481a8000 (IRQ = 45)上的 ttyO4是 OMAP UART4                
OMAP-UART.5:MMIO 0x481aa000 (IRQ = 46)处的 ttyO5是 OMAP UART5                
返修:模块已加载                                 

                         
LOOP:模块已加载                                                             
OMAP2-nand 驱动程序正在初始化                                                  
ONFI 参数页0有效                                                         
检测到 ONFI 闪存                                                             
NAND 器件:制造商 ID:0x2C、芯片 ID:0xCA (Micron NAND 256Mib3、3V 16-b)
OMAP2-nand:检测到 x16 NAND 闪存                                             
在"OMAP2-nand.0"上创建6个 MTD 分区:                                    
0x0000000000000000 0x000000020000:“U-Boot-Min”                                    
0x00000002000-0x000000260000:“U-Boot”                                        
0x000000260000-0x000000280000:“U-Boot Env”                                    
0x000000280000-0x0000006c0000:“内核”                                        
0x0000006c0000-0x00000ce0000:“File System”(文件系统)                                   
0x00000ce0000-0x000010000000:"保留"                                      
ubi:将 mtd4连接到 ubi0                                                     
ubi:物理内存块大小:  131072字节(128 KiB)                         
ubi:逻辑区块大小:   129024字节                                   
ubi:最小的闪存 I/O 单元:   2048                                           
ubi:子页大小:             512                                            
ubi:VID 标头偏移:         512 (对齐512)                              
ubi:数据偏移:               2048                                           
ubi 错误:VALIDATE_EC_HDR:错误的 VID 标头偏移2048、预期为512            
UBI 错误:VALIDATE_EC_HDR:错误的 EC 标头                                       
ubi 错误:ubi_io_read_EC_HDR:PEB 0验证失败                      
ubi 错误:ubI_init:无法连接 mtd4                               

          
DaVinci_MDIO DaVinci_MDIO.0:达芬奇 MDIO 修订版本1.6                          
DaVinci_MDIO DaVinci_MDIO.0:检测到的 phy 掩码 FFFFFFFE                         
DaVinci_MDIO.0:探测                                                          
DaVinci_MDIO DaVinci_MDIO.0:PHY[0]:器件0:00、驱动程序未知                
CAN 器件驱动程序接口                                                     
适用于 Bosch D_CAN 控制器1.0的 CAN 总线驱动器                                   
usbcore:注册了新接口驱动程序 CDC_ether                              
usbcore:注册的新接口驱动程序 dm9601                                 
usbcore:注册的新接口驱动程序 CDC_ACM                                
CDC_ACM:v0.26:用于 USB 调制解调器和 ISDN 适配器的 USB 抽象控制模型驱动程序
正在初始化 USB 大容量存储驱动程序...                                         
usbcore:注册的新接口驱动程序 USB 存储                            
已注册 USB 海量存储支持。                                            
鼠标:PS/2鼠标设备适用于所有鼠标                                     
qt602240_ts 1-004A:__qt602240_read_reg:I2C 传输失败                    
qt602240_ts:1-004A 的探头失败、错误-5                               
OMAP_RTC OMAP_RTC:RTC 内核:将 OMAP_RTC 注册为 rtc0                        
I2C /dev/entries 驱动程序                                                         
Linux 视频捕捉接口:v2.00                                            
usbcore:注册了新接口驱动程序 uvcvideo                               
USB 视频类驱动程序(v1.0.0)                                                 
OMAP 看门狗定时器版本0x00:初始超时60秒                            
usbcore:注册的新接口驱动程序 usbhid                                 
usbhid:USB HID 内核驱动程序                                                     
notify_init:通知为  物理地址00处的远程 proc id 2创建的驱动程序
usbcore:注册的新接口驱动程序 snd-usb-audio                          
ASOC:tlv320aic3x-hifi <-> Davinci-McASP.2映射正常                           
ASOC:HDMI-DAI-CODEC <-> HDMI-DAI 映射正常                                    
ALSA 设备列表:                                                               
 0:TI81XX EVM                                                                
Netem:版本1.2                                                              
TCP 立方注册                                                            
NET:注册协议系列17.                                              
CAN:控制器局域网内核(修订版20090105 ABI 8)                          
NET:注册协议系列29                                              
CAN:原始协议(修订版20090105)                                                
CAN:广播管理器协议(修订版20090105 t)                                
注册 DNS_旋 变传感器密钥类型                                           
VFP 支持 v0.3:实施者41架构3第30部分变体 c 修订版3         
OMAP-VOLTGE_LARD_INIT:未添加电压驱动器支持                        
TI81XX 的电源管理。                                                    
检测到 MACID=74:da:ea:a:82:4c                                                 
OMAP_RTC OMAP_RTC:将系统时钟设置为2000-01-01 00:00:01 UTC (946684801)  
                                                                               
找到 CPSW phy:id 为:0x221622                                               
未找到 PHY 0:01                                                              
IP-Config:完成:                                                            
    device=eth0、addr=192.168.10.2、mask=255.255.255.0、gw=192.168.10.1、       
    host=Z3-DM814x、domain=、nis 域=(none)、                                
    bootserver=192.168.10.201、rootserver=192.168.10.201、rootpath=            
VFS:无法打开根设备“ubi0:rootfs”或未知块(0、0)                
请附加正确的"root="引导选项;以下是可用分区:
1f00            128 mtdblock0 (驱动程序?)                                       
1f01           2304 mtdblock1 (驱动程序?)                                       
1f02            128 mtdblock2 (驱动程序?)                                       
1f03           4352 mtdblock3 (驱动程序?)                                       
1f04         204928 mtdblock4 (驱动程序?)                                       
1f05          50304 mtdblock5 (驱动程序?)                                       
内核严重错误-未同步:VFS:无法在未知块(0、0)上安装根 FS  
回溯:                                                                      
[ ](dump_backtrace+0x0/0x110)从[ ](dump_stack+0x18/0x1c)
 r7:c5c14000 r6:c007a2bc r5:c002ff64 r4:c058d750                                
[ ](dump_stack+0x0/0x1c)从[ ](紧急+ 0x60/0x17c)         
[ ](紧急+0x0/0x17c)从[ ](MOUNT_BLOCK_ROOT+0x1e0/0x220)
 r3:00000000 r2:00000000 r1:c5c23f78 r0:c04b7bbc                                
[ ](LOAD_BLOCK_ROOT+0x0/0x220)从[ ](Prepare_namespace +)
[ ](Prepare_namespace +0x0/0x1d4)、来自[ ](kernel_init+0x114)
 r5:c00086b0 r4:c058cb40                                                        
[ ](kernel_init+0x0/0x154)从[ ](do_exit+0x0/0x5e4)      
 R5:c00086b0 R4:00000000       

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的 Nand 是 MT29F2G16AADWP_16bit

    这是我用来制作 ubifs 的命令。
    (/root/z3/sysapps/mtd-utils-host/mkfs.ubifs/mkfs.ubifs --squus-uid -v -r /root/z3/filesys/fs/.) m 2048 -e 126976 -c 2047 -o ubifs.img &&/root/z3/sysapps/mtd-utils-host/ubi-utils/ubinize -o ubifs-image -m 2048 -p 128KiB -s 2048 ubbinize.cfg)

    这是构建日志

    mkfs.ubifs
       根目录:        /root/z3/filesys/fs/.
       MIN_IO_SIZE: 2048
       LEB_SIZE:    126976
       MAX_LEB_cnt: 2047
       输出:      ubifs.img
       Jrn_size:    8388608
       保留:    0
       压缩:       电
       Keyhash:     R5
       扇出:      8.
       orph_lebs:   1.
       SPACE_FIXUP: 0
       超级棒:  1.
       主列: 2.
       LOG_LEBS:    5
       LPT_LEBS:    2.
       orph_lebs:   1.
       MAIN_lebs:   607
       GC 色块:     1.
       索引列:  9.
       LEB_cnt:     618
       UUID:        34E84710-B743-4B22-9522-957C85327C7D
    成功!

    这是 ubifs 配置

    [子项]
    mode=ubi
    image=ubifs.img
    VOL_id=0
    VOL_SIZE = 180MiB
    VOL_TYPE=动态
    VOL_NAME=rootfs
    VOL_flags=自动大小

    并从 NFS 引导

    root@dm814x-evm:~# mtdinfo /dev/mtd4                                            
    mtd4.                                                                            
    名称:                          文件系统                                     
    类型:                          NAND                                            
    Eraseblock 大小:               131072字节、128.0 KiB                         
    内存块数量:         1601 (209846272字节、200.1 MIB)               
    最小输入/输出单元大小:2048字节                                      
    子页大小:                 512字节                                       
    OOB 大小:                      64字节                                        
    字符设备主要/次要:  90:8                                            
    允许错误块:        true                                            
    器件可写:            true                                            
                                                                                   
    root@dm814x-evm:// ubiformat /dev/mtd4 -f ubi.img -s 512 -O 2048
    ubiformat:mtd4 (nand)、大小为209846272字节(200.1 MIB)、1601个131072字节(128.0 KiB)的内存块、最小值 I/O 大小2048字节
    libscan:扫描 eraseblock 1600 -- 100%完成  
    ubiformat:1601个 eraseblocks 具有有效的擦除计数器、平均值为0
    ubique-format:格式化 eraseblock 1600 -- 100%完成

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我更改了这个
    root@dm814x-evm:// ubiformat /dev/mtd4 -f ubi.img -s 512 -O 2048

    更改为

    root@dm814x-evm://# ubiformat /dev/mtd4 -f ubi.img -s 2048


    并将目标更新为

    ubi.mtd=4,2048 root=ubi0:rootfs
    以解决问题。

    BR
    Ammar Zafar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Ammar:

    感谢您分享解决方案。

    此致、
    帕维尔