Hi,
following the instructions on the wiki about UBIFS, I am root mounting a UBIFS filesystem, but am running into problem, when the filesystem switches into read-only mode. The filesystem was created per instructions and is flashed with BCH8 at 0x6c0000 offset, i.e. mtd7.
http://processors.wiki.ti.com/index.php/UBIFS_Support
Flashing:
################################################################# #################################################################
#################################################################
#################### done Bytes transferred = 111411200 (6a40000 hex)
TI8168_EVM#nandecc hw 2 HW ECC BCH8 Selected
TI8168_EVM#nand write 81000000 0x006c0000 0x06a40000
NAND write: device 0 offset 0x6c0000, size 0x6a40000 Skip bad block 0x006c0000 Skip bad block 0x006e0000 111411200 bytes written: OK
Bootargs are
Kernel command line: console=ttyO2,115200n8 rootwait=1 rw mem=364M@0x80000000 mem=324M@0x9F900000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ubi.mtd=7,2048 rootfstype=ubifs root=ubi0:rootfs ip=dhcp
Here is how the kernel boots:
Uncompressing Linux... done, booting the kernel. Linux version 2.6.37 (x0029463@swubn01) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Sun Apr 29 20:16:23 IST 2012 CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: ti8168evm reserved size = 52428800 at 0x0 FB: Reserving 52428800 bytes SDRAM for VRAM Memory policy: ECC disabled, Data cache writeback OMAP chip is TI8168 1.1 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 161670 Kernel command line: console=ttyO2,115200n8 rootwait=1 rw mem=364M@0x80000000 mem=324M@0x9F900000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 ubi.mtd=7,2048 rootfstype=ubifs root=ubi0:rootfs ip=dhcp PID hash table entries: 2048 (order: 1, 8192 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 364MB 274MB = 638MB total Memory: 641856k/641856k available, 62656k reserved, 280576K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xffc00000 - 0xffe00000 ( 2 MB) vmalloc : 0xd7000000 - 0xf8000000 ( 528 MB) lowmem : 0xc0000000 - 0xd6c00000 ( 364 MB) pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) modules : 0xbf000000 - 0xbfe00000 ( 14 MB) .init : 0xc0008000 - 0xc003b000 ( 204 kB) .text : 0xc003b000 - 0xc04d8000 (4724 kB) .data : 0xc04d8000 - 0xc0520f00 ( 292 kB) SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:407 IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts Total of 128 interrupts on 1 active controller GPMC revision 6.0 Trying to install interrupt handler for IRQ400 Trying to install interrupt handler for IRQ401 Trying to install interrupt handler for IRQ402 Trying to install interrupt handler for IRQ403 Trying to install interrupt handler for IRQ404 Trying to install interrupt handler for IRQ405 Trying to install interrupt handler for IRQ406 Trying to install type control for IRQ407 Trying to set irq flags for IRQ407 OMAP clockevent source: GPTIMER1 at 27000000 Hz Console: colour dummy device 80x30 Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584) pid_max: default: 32768 minimum: 301 Security Framework initialized Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok devtmpfs: initialized omap_voltage_early_init: voltage driver support not added regulator: core version 0.5 regulator: dummy: NET: Registered protocol family 16 omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting! omap_voltage_add_dev: VDD specified does not exist! OMAP GPIO hardware version 0.1 OMAP GPIO hardware version 0.1 omap_mux_init: Add partition: #1: core, flags: 0 _omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl _omap_mux_get_by_name: Could not find signal i2c2_sda.i2c2_sda NOR: Can't request GPMC CS registered ti816x_gpio_vr device registered ti816x_sr device pm_dbg_init: only OMAP3 supported registered ti81xx_vpss device registered ti81xx_vidout device registered ti81xx on-chip HDMI device registered ti81xx_fb device registered ti81xx_vin device ti81xx_pcie: Invoking PCI BIOS... ti81xx_pcie: Setting up Host Controller... ti81xx_pcie: Register base mapped @0xd7020000 ti81xx_pcie: Starting PCI scan... PCI: bus0: Fast back to back transfers enabled bio: create slab <bio-0> at 0 regulator: VFB: 800 <--> 1025 mV at 1010 mV vgaarb: loaded SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb USBSS revision 4ea20808 registerd cppi-dma Intr @ IRQ 17 Cppi41 Init Done omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz Advanced Linux Sound Architecture Driver Version 1.0.23. Switching to clocksource gp timer musb-hdrc: version 6.0, host, debug=0 musb-hdrc musb-hdrc.0: dma type: dma-cppi41 MUSB controller-0 revision 4ea20800 musb-hdrc: kernel must blacklist external hubs musb-hdrc musb-hdrc.0: MUSB HDRC host driver musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: MUSB HDRC host driver usb usb1: Manufacturer: Linux 2.6.37 musb-hcd usb usb1: SerialNumber: musb-hdrc.0 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected musb-hdrc musb-hdrc.0: USB Host mode controller at d701e000 using DMA, IRQ 18 musb-hdrc musb-hdrc.1: dma type: dma-cppi41 MUSB controller-1 revision 4ea20800 musb-hdrc: kernel must blacklist external hubs musb-hdrc musb-hdrc.1: MUSB HDRC host driver musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2 usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: MUSB HDRC host driver usb usb2: Manufacturer: Linux 2.6.37 musb-hcd usb usb2: SerialNumber: musb-hdrc.1 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected musb-hdrc musb-hdrc.1: USB Host mode controller at d7026800 using DMA, IRQ 19 NET: Registered protocol family 2 IP route cache hash table entries: 16384 (order: 4, 65536 bytes) TCP established hash table entries: 65536 (order: 7, 524288 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes) TCP: Hash tables configured (established 65536 bind 65536) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. NetWinder Floating Point Emulator V0.97 (double precision) PMU: registered new PMU device of type 0 omap-iommu omap-iommu.0: ducati registered omap-iommu omap-iommu.1: sys registered highmem bounce pool size: 64 pages JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc. msgmni has been set to 705 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0 omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1 omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2 console [ttyO2] enabled brd: module loaded loop: module loaded ahci ahci.0: forcing PORTS_IMPL to 0x3 ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform mode ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc scsi0 : ahci_platform scsi1 : ahci_platform ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16 ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16 m25p80 spi1.0: found m25p05-nonjedec, expected m25p80 m25p80 spi1.0: m25p05-nonjedec (64 Kbytes) Creating 4 MTD partitions on "spi_flash": 0x000000000000-0x000000040000 : "U-Boot" mtd: partition "U-Boot" extends beyond the end of device "spi_flash" -- size truncated to 0x10000 0x000000010000-0x000000012000 : "U-Boot Env" mtd: partition "U-Boot Env" is out of reach -- disabled 0x000000000000-0x000000280000 : "Kernel" mtd: partition "Kernel" extends beyond the end of device "spi_flash" -- size truncated to 0x10000 0x000000010000-0x000000010000 : "File System" mtd: partition "File System" is out of reach -- disabled omap2-nand driver initializing NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron ) Creating 5 MTD partitions on "omap2-nand.0": 0x000000000000-0x000000260000 : "U-Boot" 0x000000260000-0x000000280000 : "U-Boot Env" 0x000000280000-0x0000006c0000 : "Kernel" 0x0000006c0000-0x00000cee0000 : "File System" 0x00000cee0000-0x000010000000 : "Reserved"
UBI: attaching mtd7 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 126976 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 2048 (aligned 2048)
UBI: data offset: 4096 ata1: SATA link down (SStatus 0 SControl 300) ata2: SATA link down (SStatus 0 SControl 300)
UBI: max. sequence number: 0
UBI warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 0, need 15
UBI: volume 0 ("rootfs") re-sized from 1586 to 1586 LEBs
UBI: attached mtd7 to ubi0
UBI: MTD device name: "File System"
UBI: MTD device size: 200 MiB
UBI: number of good PEBs: 1590
UBI: number of bad PEBs: 11
UBI: number of corrupted PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 1
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 1590
UBI: number of PEBs reserved for bad PEB handling: 0
UBI: max/mean erase counter: 1/0
UBI: image sequence number: 0
UBI: background thread "ubi_bgt0d" started, PID 43 davinci_mdio davinci_mdio.0: davinci mdio revision 1.6 davinci_mdio davinci_mdio.0: detected phy mask fffffff9 davinci_mdio.0: probed davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknown usbcore: registered new interface driver cdc_ether usbcore: registered new interface driver dm9601 Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0 i2c /dev entries driver Linux video capture interface: v2.00 usbcore: registered new interface driver uvcvideo USB Video Class driver (v1.0.0) OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec usbcore: registered new interface driver usbhid usbhid: USB HID core driver notify_init : notify drivercreated for remote proc id 2 at physical Address 0xbf900000 usbcore: registered new interface driver snd-usb-audio asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok ALSA device list: #0: TI81XX EVM TCP cubic registered NET: Registered protocol family 17 VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 omap_voltage_late_init: Voltage driver support not added Power Management for TI81XX. smartreflex smartreflex: Driver initialized omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800) davinci_mdio davinci_mdio.0: resetting idled controller net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f014) net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=282f014) Sending DHCP requests . PHY: 0:01 - Link is Up - 100/Full . DHCP/BOOTP: Ignoring delayed packet ., OK IP-Config: Got DHCP answer from 0.0.0.0, my address is 146.252.242.114 IP-Config: Complete: device=eth0, addr=146.252.242.114, mask=255.255.255.0, gw=146.252.242.1, host=146.252.242.114, domain=am.dhcp.ti.com, nis-domain=(none), bootserver=0.0.0.0, rootserver=0.0.0.0, rootpath= UBI: run torture test for PEB 1590 UBIFS: mounted UBI device 0, volume 0, name "rootfs" UBIFS: file system size: 199225344 bytes (194556 KiB, 189 MiB, 1569 LEBs) UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LEBs) UBIFS: media format: w4/r0 (latest is w4/r0) UBIFS: default compressor: lzo UBIFS: reserved for root: 0 bytes (0 KiB) VFS: Mounted root (ubifs filesystem) on device 0:15. devtmpfs: mounted Freeing init memory: 204K
UBI error: ubi_io_read: error -74 (ECC error) while reading 131072 bytes from PEB 1590:0, read 131072 bytes
UBI error: torture_peb: read problems on freshly erased PEB 1590, must be bad
UBI error: erase_worker: failed to erase PEB 1590, error -5
UBI error: erase_worker: no reserved physical eraseblocks
UBI warning: ubi_ro_mode: switch to read-only mode
UBI error: do_work: work failed with error code -5
UBI error: ubi_thread: ubi_bgt0d: work failed with error code -5
UBIFS error (pid 1): ubifs_leb_write: writing 2048 bytes to LEB 3:2048 failed, error -30
UBIFS warning (pid 1): ubifs_ro_mode: switched to read-only mode, error -30
Backtrace: [<c0049bb8>] (dump_backtrace+0x0/0x110) from [<c039b7d4>] (dump_stack+0x18/0x1c) r7:00000800 r6:ffffffe2 r5:00000000 r4:d5c48000 [<c039b7bc>] (dump_stack+0x0/0x1c) from [<c0179a34>] (ubifs_ro_mode+0x74/0x80) [<c01799c0>] (ubifs_ro_mode+0x0/0x80) from [<c0179ef4>] (ubifs_leb_write+0x84/0x98) r7:00000800 r6:00000800 r5:d5c48000 r4:ffffffe2 [<c0179e70>] (ubifs_leb_write+0x0/0x98) from [<c0179f74>] (ubifs_write_node+0x6c/0x74) r8:00000003 r7:d5c11000 r6:00000040 r5:d5c48000 r4:00000002 [<c0179f08>] (ubifs_write_node+0x0/0x74) from [<c01812bc>] (ubifs_add_bud_to_log+0x31c/0x37c) r8:0001f000 r7:00000000 r6:0005d800 r5:00000000 r4:0000a800 [<c0180fa0>] (ubifs_add_bud_to_log+0x0/0x37c) from [<c016f3cc>] (make_reservation+0x1c0/0x33c) [<c016f20c>] (make_reservation+0x0/0x33c) from [<c0170678>] (ubifs_jnl_update+0x110/0x4ac) [<c0170568>] (ubifs_jnl_update+0x0/0x4ac) from [<c0174758>] (ubifs_create+0x108/0x1b8) [<c0174650>] (ubifs_create+0x0/0x1b8) from [<c00cfd1c>] (vfs_create+0xa0/0xa4) [<c00cfc7c>] (vfs_create+0x0/0xa4) from [<c00d022c>] (do_last+0x2c0/0x588) r7:d643bf30 r6:d6076680 r5:00000000 r4:d643bed0 [<c00cff6c>] (do_last+0x0/0x588) from [<c00d1eb0>] (do_filp_open+0x174/0x4d0) [<c00d1d3c>] (do_filp_open+0x0/0x4d0) from [<c00c4aa4>] (do_sys_open+0x64/0xa8) [<c00c4a40>] (do_sys_open+0x0/0xa8) from [<c00c4b20>] (sys_open+0x24/0x28) r8:c0045fa8 r7:00000005 r6:00016cf8 r5:00016ac4 r4:00000000 [<c00c4afc>] (sys_open+0x0/0x28) from [<c0045e00>] (ret_fast_syscall+0x0/0x30) UBIFS error (pid 1): make_reservation: cannot reserve 384 bytes in jhead 1, error -30 UBIFS error (pid 1): ubifs_create: cannot create regular file, error -30 INIT: version 2.86 booting Please wait: booting... Error opening /dev/fb0: No such file or directory Starting udev WARNING: -e needs -E or -F FATAL: Could not open /lib/modules/2.6.37/modules.dep.temp for writing: Read-only file system Root filesystem already rw, not remounting Caching udev devnodes WARNING: -e needs -E or -F FATAL: Could not open /lib/modules/2.6.37/modules.dep.temp for writing: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system /etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create /etc/volatile.cache: Read-only file system Undefined users: Skipping /etc/default/volatiles/99_hal ALSA: Restoring mixer settings... Collected errors: * opkg_conf_load: Could not create lock file /usr/lib/opkg/lock: Read-only file system. /usr/sbin/alsactl: load_state:1625: No soundcards found... rm: cannot remove '/etc/rcS.d/S40configure': Read-only file system Configuring network interfaces... udhcpc (v1.13.2) started Sending discover... Sending select for 146.252.242.114... Lease of 146.252.242.114 obtained, lease time 28800 /etc/udhcpc.d/50default: line 70: can't create /etc/resolv.conf: Read-only file system /etc/udhcpc.d/50default: line 70: can't create /etc/resolv.conf: Read-only file system adding dns 157.170.147.7 /etc/udhcpc.d/50default: line 70: can't create /etc/resolv.conf: Read-only file system adding dns 157.170.1.5 /etc/udhcpc.d/50default: line 70: can't create /etc/resolv.conf: Read-only file system done. Setting up IP spoofing protection: rp_filter. rm: cannot remove '/tmp': Read-only file system ln: /tmp/tmp: Read-only file system hwclock: can't open '/dev/misc/rtc': No such file or directory Sun Apr 29 22:50:00 UTC 2012 hwclock: can't open '/dev/misc/rtc': No such file or directory /etc/init.d/rc: /etc/rcS.d/S99finish.sh: line 5: can't create /etc/.configured:
There are some issues with bad PEB handling and not enough reserved space. Could you guide me in the right direction on what needs to be changed?
Thanks,
--Gunter