频繁断电送电 ,不能挂载文件系统,为什么?

时间:2021-09-22 09:02:41
我用的是ti的芯片DM8168平台

Starting kernel ...

[    0.000000] Linux version 2.6.37+ (root@i183) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 hdmeeting_v20_develop-ce155c8-201605191728
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: ti8168evm
[    0.000000] vram size = 25165824 at 0x0
[    0.000000] ti81xx_reserve: ### Reserved DDR region @8ff00000
[    0.000000] reserved size = 25165824 at 0x0
[    0.000000] FB: Reserving 25165824 bytes SDRAM for VRAM
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] OMAP chip is TI8168 2.1
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 58624
[    0.000000] Kernel command line: console=ttyO2,115200n8 ubi.mtd=3,2048 rootwait root=ubi0:rootfs rootfstype=ubifs rootflags=sync rw mem=256M vram=24M notifyk.vpssm3_sva=0xBEE00000 ddr_mem=1024M lirc_serial.protocol=2 ip=dhcp dhcpdelay=1
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 230MB 1MB = 231MB total
[    0.000000] Memory: 228372k/228372k available, 33772k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
[    0.000000]     vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0008000 - 0xc0042000   ( 232 kB)
[    0.000000]       .text : 0xc0042000 - 0xc0534000   (5064 kB)
[    0.000000]       .data : 0xc0534000 - 0xc05850c0   ( 325 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:407
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] GPMC revision 6.0
[    0.000000] Trying to install interrupt handler for IRQ400
[    0.000000] Trying to install interrupt handler for IRQ401
[    0.000000] Trying to install interrupt handler for IRQ402
[    0.000000] Trying to install interrupt handler for IRQ403
[    0.000000] Trying to install interrupt handler for IRQ404
[    0.000000] Trying to install interrupt handler for IRQ405
[    0.000000] Trying to install interrupt handler for IRQ406
[    0.000000] Trying to install type control for IRQ407
[    0.000000] Trying to set irq flags for IRQ407
[    0.000000] OMAP clockevent source: GPTIMER1 at 27000000 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Calibrating delay loop... 1199.30 BogoMIPS (lpj=5996544)
[    0.230000] pid_max: default: 32768 minimum: 301
[    0.230000] Security Framework initialized
[    0.230000] Mount-cache hash table entries: 512
[    0.230000] CPU: Testing write buffer coherency: ok
[    0.230000] devtmpfs: initialized
[    0.230000] TI81XX: Map 0x8ff00000 to 0xfe500000 for dram barrier
[    0.230000] TI81XX: Map 0x40300000 to 0xfe600000 for sram barrier
[    0.230000] omap_voltage_early_init: voltage driver support not added
[    0.230000] regulator: core version 0.5
[    0.230000] regulator: dummy: 
[    0.230000] NET: Registered protocol family 16
[    0.230000] omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
[    0.230000] omap_voltage_add_dev: VDD specified does not exist!
[    0.230000] OMAP GPIO hardware version 0.1
[    0.230000] OMAP GPIO hardware version 0.1
[    0.230000] omap_mux_init: Add partition: #1: core, flags: 0
[    0.230000] registered ti816x_gpio_vr device
[    0.230000] registered ti816x_sr device
[    0.230000] Cannot clk_get ck_32
[    0.230000] pm_dbg_init: only OMAP3 supported
[    0.230000] registered ti81xx_vpss device
[    0.230000] registered ti81xx_vidout device
[    0.230000] registered ti81xx on-chip HDMI device
[    0.230000] registered ti81xx_fb device
[    0.230000] registered ti81xx_vin device
[    0.230000] ti81xx_pcie: Invoking PCI BIOS...
[    0.230000] ti81xx_pcie: Setting up Host Controller...
[    0.230000] ti81xx_pcie: Register base mapped @0xd0820000
[    0.340000] ti81xx_pcie: Starting PCI scan...
[    0.340000] PCI: bus0: Fast back to back transfers enabled
[    0.340000] ti81xx_pcie: PCI scan done.
[    0.340000] bio: create slab <bio-0> at 0
[    0.340000] regulator: VFB: 800 <--> 1025 mV at 800 mV 
[    0.340000] vgaarb: loaded
[    0.340000] SCSI subsystem initialized
[    0.340000] usbcore: registered new interface driver usbfs
[    0.340000] usbcore: registered new interface driver hub
[    0.340000] usbcore: registered new device driver usb
[    0.340000] USBSS revision 4ea20809
[    0.340000] registerd cppi-dma Intr @ IRQ 17
[    0.340000] Cppi41 Init Done
[    0.340000] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
[    0.360000] omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
[    0.360000] Advanced Linux Sound Architecture Driver Version 1.0.23.
[    0.360000] cfg80211: Calling CRDA to update world regulatory domain
[    0.360000] Switching to clocksource gp timer
[    0.360000] musb-hdrc: version 6.0, host, debug=0
[    0.360000] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
[    0.360000] MUSB controller-0 revision 4ea20800
[    0.360000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    0.360000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[    0.360000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.360000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.360000] usb usb1: Product: MUSB HDRC host driver
[    0.360000] usb usb1: Manufacturer: Linux 2.6.37+ musb-hcd
[    0.360000] usb usb1: SerialNumber: musb-hdrc.0
[    0.360000] hub 1-0:1.0: USB hub found
[    0.360000] hub 1-0:1.0: 1 port detected
[    0.360000] musb-hdrc musb-hdrc.0: USB Host mode controller at d081e000 using DMA, IRQ 18
[    0.360000] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
[    0.360000] MUSB controller-1 revision 4ea20800
[    0.360000] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.360000] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[    0.360000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    0.360000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.360000] usb usb2: Product: MUSB HDRC host driver
[    0.360000] usb usb2: Manufacturer: Linux 2.6.37+ musb-hcd
[    0.360000] usb usb2: SerialNumber: musb-hdrc.1
[    0.360000] hub 2-0:1.0: USB hub found
[    0.360000] hub 2-0:1.0: 1 port detected
[    0.360000] musb-hdrc musb-hdrc.1: USB Host mode controller at d0826800 using DMA, IRQ 19
[    0.360000] NET: Registered protocol family 2
[    0.360000] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.360000] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.360000] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.360000] TCP: Hash tables configured (established 8192 bind 8192)
[    0.360000] TCP reno registered
[    0.360000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.360000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.360000] NET: Registered protocol family 1
[    0.360000] RPC: Registered udp transport module.
[    0.360000] RPC: Registered tcp transport module.
[    0.360000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.360000] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.360000] PMU: registered new PMU device of type 0
[    0.360000] omap-iommu omap-iommu.0: ducati registered
[    0.360000] omap-iommu omap-iommu.1: sys registered
[    0.440000] msgmni has been set to 446
[    0.440000] io scheduler noop registered
[    0.440000] io scheduler deadline registered
[    0.440000] io scheduler cfq registered (default)
[    0.440000] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.440000] omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
[    0.440000] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.440000] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    1.220000] console [ttyO2] enabled
[    4.200000] UBI: total number of reserved PEBs: 1600
[    4.210000] UBI: number of PEBs reserved for bad PEB handling: 16
[    4.220000] UBI: max/mean erase counter: 43/12
[    4.220000] UBI: image sequence number:  1037405526
[    4.230000] UBI: background thread "ubi_bgt0d" started, PID 45
[    4.280000] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    4.280000] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[    4.290000] davinci_mdio.0: probed
[    4.290000] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
[    4.300000] usbcore: registered new interface driver rtl8187
[    4.310000] Initializing USB Mass Storage driver...
[    4.310000] usbcore: registered new interface driver usb-storage
[    4.320000] USB Mass Storage support registered.
[    4.320000] mice: PS/2 mouse device common for all mice
[    4.330000] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0

4 个解决方案

#1


[    5.380000] asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
[    5.390000] add sound card AIC3X tlv320aic3x-hifi-0 dev node pcmC0D0p
[    5.400000] add sound card AIC3X tlv320aic3x-hifi-0 dev node pcmC0D0c
[    5.400000] asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
[    5.410000] add sound card hdmi HDMI-DAI-CODEC-0 dev node pcmC1D0p
[    5.420000] ALSA sound card list:
[    5.420000]   #0: TI81XX SOUND0
[    5.420000]   #1: TI81XX SOUND1
[    5.430000] TCP cubic registered
[    5.430000] NET: Registered protocol family 17
[    5.430000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    5.440000] omap_voltage_late_init: Voltage driver support not added
[    5.450000] Power Management for TI81XX.
[    5.450000] smartreflex smartreflex: Driver initialized
[    5.460000] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    5.980000] davinci_mdio davinci_mdio.0: resetting idled controller
[    5.980000] net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, id=4061e4)
[    7.000000] Sending DHCP requests .
[    7.980000] PHY: 0:00 - Link is Up - 100/Full
[    9.020000] ., OK
[    9.460000] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.26.244
[    9.460000] IP-Config: Complete:
[    9.470000]      device=eth0, addr=192.168.26.244, mask=255.255.255.0, gw=192.168.26.1,
[    9.470000]      host=192.168.26.244, domain=, nis-domain=(none),
[    9.480000]      bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=
[    9.490000] UBIFS: parse sync
[    9.590000] UBIFS: recovery needed
[   10.060000] UBIFS error (pid 1): ubifs_scan: corrupt empty space at LEB 1217:126126
[   10.070000] UBIFS error (pid 1): ubifs_scanned_corruption: corruption at LEB 1217:126126
[   10.080000] UBIFS error (pid 1): ubifs_scan: LEB 1217 scanning failed
[   10.080000] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)
[   10.090000] Please append a correct "root=" boot option; here are the available partitions:
[   10.100000] 1f00            1024 mtdblock0  (driver?)
[   10.110000] 1f01             128 mtdblock1  (driver?)
[   10.110000] 1f02            4096 mtdblock2  (driver?)
[   10.120000] 1f03          204800 mtdblock3  (driver?)
[   10.120000] 1f04           10240 mtdblock4  (driver?)
[   10.130000] 1f05           41856 mtdblock5  (driver?)
[   10.130000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   10.140000] Backtrace: 
[   10.140000] [<c004ffac>] (dump_backtrace+0x0/0x110) from [<c03df82c>] (dump_stack+0x18/0x1c)
[   10.150000]  r6:00008000 r5:ce014000 r4:c0585cd8 r3:60000013
[   10.160000] [<c03df814>] (dump_stack+0x0/0x1c) from [<c03df88c>] (panic+0x5c/0x178)
[   10.170000] [<c03df830>] (panic+0x0/0x178) from [<c0009164>] (mount_block_root+0x1c4/0x204)
[   10.170000]  r3:00000000 r2:00000000 r1:ce02bf78 r0:c04b2425
[   10.180000]  r7:c002ff94
[   10.180000] [<c0008fa0>] (mount_block_root+0x0/0x204) from [<c00093ec>] (prepare_namespace+0x94/0x1cc)
[   10.190000] [<c0009358>] (prepare_namespace+0x0/0x1cc) from [<c0008d50>] (kernel_init+0x114/0x154)
[   10.200000]  r5:c002f560 r4:c002f560
[   10.210000] [<c0008c3c>] (kernel_init+0x0/0x154) from [<c0078d70>] (do_exit+0x0/0x5d0)
[   10.210000]  r5:c0008c3c r4:00000000


频繁断电送电,大概每次过3分钟断电送电,让app全部跑起来后再断电,测试24小时,就出现上面的打印记录,不能引导文件系统,
请问还有什么问题会引起这个错误,文件系统损坏或者丢失呢?这个问题困扰我好几天了

#2


有网友说是ubi系统问题,现在怎么解决这个问题,如何跟踪这个bug,这个文件系统为什么会被损坏???



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
下面是网友以前针对类似问题的回答
我在TI的平板上也遇到UBIFS错误的问题,也一致没能根治。我的理解是UBIFS本身的机制导致它会出现这种错误,你可以到http://www.linux-mtd.infradead.org/faq/ubifs.html详细了解这个文件系统的特性和它的不足之处。
以下是我对你问题的一点理解。
1.你的根文件系统是UBIFS,可写读的。
2.在你运行Linux系统时,系统的一些服务,如日志等,可能会频繁的读写你的存储器。UBIFS对掉电的容忍性我觉得是比较差的,在异常掉电或重启后,下次重启后可能导致到UBIFS文件系统记录节点CRC和实际计算的不一致,导致你的根文件系统挂载不了。
所以我有了以下直观认识:
1.UBIFS挂载速度快,存储器寿命高。
2.UBIFS对异常掉电的容忍性差,容易出现CRC错误。

所以我以下建议:
1.将你的根文件系统设置为只读,另外建立一个可读写扩展文件系统系统分区,用于其他用途。
2.如果你坚持保留根文件系统分区为可读写,则每次通过linux命令执行关机操作,尽量避免直接切断电源。
3.或者向freescale官方咨询答案,到时候大家一起讨论共享。

#3


频繁断电导致文件系统损坏了吧

不知道有没有文件系统可以经得起这样的折腾?
http://danluu.com/file-consistency/

#4


那篇文章的标题是File crash consistency and filesystems are hard

#1


[    5.380000] asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
[    5.390000] add sound card AIC3X tlv320aic3x-hifi-0 dev node pcmC0D0p
[    5.400000] add sound card AIC3X tlv320aic3x-hifi-0 dev node pcmC0D0c
[    5.400000] asoc: HDMI-DAI-CODEC <-> hdmi-dai mapping ok
[    5.410000] add sound card hdmi HDMI-DAI-CODEC-0 dev node pcmC1D0p
[    5.420000] ALSA sound card list:
[    5.420000]   #0: TI81XX SOUND0
[    5.420000]   #1: TI81XX SOUND1
[    5.430000] TCP cubic registered
[    5.430000] NET: Registered protocol family 17
[    5.430000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    5.440000] omap_voltage_late_init: Voltage driver support not added
[    5.450000] Power Management for TI81XX.
[    5.450000] smartreflex smartreflex: Driver initialized
[    5.460000] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    5.980000] davinci_mdio davinci_mdio.0: resetting idled controller
[    5.980000] net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, id=4061e4)
[    7.000000] Sending DHCP requests .
[    7.980000] PHY: 0:00 - Link is Up - 100/Full
[    9.020000] ., OK
[    9.460000] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.26.244
[    9.460000] IP-Config: Complete:
[    9.470000]      device=eth0, addr=192.168.26.244, mask=255.255.255.0, gw=192.168.26.1,
[    9.470000]      host=192.168.26.244, domain=, nis-domain=(none),
[    9.480000]      bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath=
[    9.490000] UBIFS: parse sync
[    9.590000] UBIFS: recovery needed
[   10.060000] UBIFS error (pid 1): ubifs_scan: corrupt empty space at LEB 1217:126126
[   10.070000] UBIFS error (pid 1): ubifs_scanned_corruption: corruption at LEB 1217:126126
[   10.080000] UBIFS error (pid 1): ubifs_scan: LEB 1217 scanning failed
[   10.080000] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)
[   10.090000] Please append a correct "root=" boot option; here are the available partitions:
[   10.100000] 1f00            1024 mtdblock0  (driver?)
[   10.110000] 1f01             128 mtdblock1  (driver?)
[   10.110000] 1f02            4096 mtdblock2  (driver?)
[   10.120000] 1f03          204800 mtdblock3  (driver?)
[   10.120000] 1f04           10240 mtdblock4  (driver?)
[   10.130000] 1f05           41856 mtdblock5  (driver?)
[   10.130000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[   10.140000] Backtrace: 
[   10.140000] [<c004ffac>] (dump_backtrace+0x0/0x110) from [<c03df82c>] (dump_stack+0x18/0x1c)
[   10.150000]  r6:00008000 r5:ce014000 r4:c0585cd8 r3:60000013
[   10.160000] [<c03df814>] (dump_stack+0x0/0x1c) from [<c03df88c>] (panic+0x5c/0x178)
[   10.170000] [<c03df830>] (panic+0x0/0x178) from [<c0009164>] (mount_block_root+0x1c4/0x204)
[   10.170000]  r3:00000000 r2:00000000 r1:ce02bf78 r0:c04b2425
[   10.180000]  r7:c002ff94
[   10.180000] [<c0008fa0>] (mount_block_root+0x0/0x204) from [<c00093ec>] (prepare_namespace+0x94/0x1cc)
[   10.190000] [<c0009358>] (prepare_namespace+0x0/0x1cc) from [<c0008d50>] (kernel_init+0x114/0x154)
[   10.200000]  r5:c002f560 r4:c002f560
[   10.210000] [<c0008c3c>] (kernel_init+0x0/0x154) from [<c0078d70>] (do_exit+0x0/0x5d0)
[   10.210000]  r5:c0008c3c r4:00000000


频繁断电送电,大概每次过3分钟断电送电,让app全部跑起来后再断电,测试24小时,就出现上面的打印记录,不能引导文件系统,
请问还有什么问题会引起这个错误,文件系统损坏或者丢失呢?这个问题困扰我好几天了

#2


有网友说是ubi系统问题,现在怎么解决这个问题,如何跟踪这个bug,这个文件系统为什么会被损坏???



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
下面是网友以前针对类似问题的回答
我在TI的平板上也遇到UBIFS错误的问题,也一致没能根治。我的理解是UBIFS本身的机制导致它会出现这种错误,你可以到http://www.linux-mtd.infradead.org/faq/ubifs.html详细了解这个文件系统的特性和它的不足之处。
以下是我对你问题的一点理解。
1.你的根文件系统是UBIFS,可写读的。
2.在你运行Linux系统时,系统的一些服务,如日志等,可能会频繁的读写你的存储器。UBIFS对掉电的容忍性我觉得是比较差的,在异常掉电或重启后,下次重启后可能导致到UBIFS文件系统记录节点CRC和实际计算的不一致,导致你的根文件系统挂载不了。
所以我有了以下直观认识:
1.UBIFS挂载速度快,存储器寿命高。
2.UBIFS对异常掉电的容忍性差,容易出现CRC错误。

所以我以下建议:
1.将你的根文件系统设置为只读,另外建立一个可读写扩展文件系统系统分区,用于其他用途。
2.如果你坚持保留根文件系统分区为可读写,则每次通过linux命令执行关机操作,尽量避免直接切断电源。
3.或者向freescale官方咨询答案,到时候大家一起讨论共享。

#3


频繁断电导致文件系统损坏了吧

不知道有没有文件系统可以经得起这样的折腾?
http://danluu.com/file-consistency/

#4


那篇文章的标题是File crash consistency and filesystems are hard