FAQ: [#6792] kernel fails to boot with fs in MMC card(2011)

Document created by Aaronwu Employee on Sep 12, 2013
Version 1Show Document
  • View in full screen mode

[#6792] kernel fails to boot with fs in MMC card

Submitted By: Vivi Li

Open Date

2011-09-08 02:02:12     Close Date

2011-10-17 02:28:20

Priority:

Medium     Assignee:

steven miao

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2011R1     Release:

Category:

N/A     Board:

N/A

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Rejected

Uboot version or rev.:

    Toolchain version or rev.:

gcc4.3-2011R1-RC1

App binary format:

N/A     

Summary: kernel fails to boot with fs in MMC card

Details:

 

In spimmc test, kernel fails to boot with fs in MMC card.

This happens after kernel is upgraded to 3.0.

 

Last passed version:

--

kernel:    Linux release 2.6.39.3-ADI-2011R1-pre-svn10031, build #78 Fri Jul 22 22:21:11 CST 2011, git version 1a44e426a3033db9be15a81dd87c5ff64fb997b1

toolchain: bfin-uclinux-gcc release gcc version 4.3.5 (ADI-trunk/svn-5013)

user-dist: release svn-10258, build #1066 Fri Jul 22 22:19:47 CST 2011

--

 

First failed version:

--

kernel:    Linux release 3.0.0-ADI-2011R1-pre-svn10034, build #84 Sun Jul 24 05:45:53 CST 2011, git version b9ab46b1462fac476735c52ba75470c92f25c204

toolchain: bfin-uclinux-gcc release gcc version 4.3.5 (ADI-trunk/svn-5013)

user-dist: release svn-10259, build #1152 Sun Jul 24 05:44:27 CST 2011

--

 

Bellow is the error log:

--

root:/> mkdir /mnt/rootfs

root:/> mount -o sync /dev/mmcblk0p1 /mnt/rootfs

root:/> ./runcp.sh

copy bin finish

copy dev finish

copy etc finish

copy home finish

copy init finish

copy lib finish

copy root finish

copy runcp.sh finish

copy sbin finish

copy tmp finish

copy usr finish

copy var finish

copy rootfs done

root:/> reboot

Restarting system.ü

 

U-Boot 2010.06 (ADI-2010R1-RC1) (Sep 29 2010 - 17:49:40)

 

CPU:   ADSP bf537-0.2 (Detected Rev: 0.2) (bypass boot)

Board: ADI BF537 stamp board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 500 MHz, Core: 500 MHz, System: 125 MHz

RAM:   64 MiB

Flash: 4 MiB

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   bfin_mac

Hit any key to stop autoboot:  0

bfin> setenv mmcargs setenv bootargs root=/dev/mmcblk0p1 rw

bfin> setenv mmcboot 'tftpboot 0x1000000 vmImage; run mmcargs; run addip; bootm'

bfin> run mmcboot

Using bfin_mac device

TFTP from server 10.100.4.174; our IP address is 10.100.4.50

Filename 'vmImage'.

Load address: 0x1000000

Loading: #################################################################

         ##########

done

Bytes transferred = 1092108 (10aa0c hex)

## Booting kernel from Legacy Image at 01000000 ...

   Image Name:   bf537-0.2-3.0.0-ADI-2011R1-pre-s

   Created:      2011-09-06   6:48:29 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    1092044 Bytes = 1 MiB

   Load Address: 00001000

   Entry Point:  001d7c48

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 001d7c48

console [ttyBF0] enabled, bootconsole disabled

Calibrating delay loop... 995.32 BogoMIPS (lpj=1990656)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (16 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (35 KB free)

NET: Registered protocol family 16

Blackfin DMA Controller

stamp_init(): registering device resources

bio: create slab <bio-0> at 0

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs@ffc00500, dma channel@7

Switching to clocksource bfin_cs_cycles

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

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

debug-mmrs: setting up Blackfin MMR debugfs

msgmni has been set to 106

io scheduler noop registered (default)

bfin-uart: Blackfin serial driver

bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)

bfin_mac bfin_mac.0: eth0: Blackfin on-chip Ethernet MAC driver, Version 1.1

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

mmc_spi spi0.4: ASSUMING 3.2-3.4 V slot power

mmc_spi spi0.4: SD/MMC host mmc0, no DMA, no WP, no poweroff

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1971-06-26 20:30:48 UTC (46816248)

mmc_spi spi0.4: setup: unsupported mode bits 4

mmc_spi spi0.4: can't change chip-select polarity

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf537-stamp, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

dma_alloc_init: dma_page @ 0x0212f000 - 256 pages at 0x03f00000

VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0)

Please append a correct "root=" boot option; here are the available partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Hardware Trace:

   0 Target : <0x00141fe0> { _dump_stack + 0x0 }

     Source : <0x00142068> { _panic + 0x50 } CALL pcrel

   1 Target : <0x00142068> { _panic + 0x50 }

     Source : <0x001421b4> { _printk + 0x14 } RTS

   2 Target : <0x001421b0> { _printk + 0x10 }

     Source : <0x000120cc> { _vprintk + 0x164 } RTS

   3 Target : <0x000120c0> { _vprintk + 0x158 }

     Source : <0xffa00d12> { __common_int_entry + 0xda } RTI

   4 Target : <0xffa00cb0> { __common_int_entry + 0x78 }

     Source : <0xffa00aec> { _return_from_int + 0x58 } RTS

   5 Target : <0xffa00aec> { _return_from_int + 0x58 }

     Source : <0xffa00ac2> { _return_from_int + 0x2e } IF !CC JUMP pcrel

   6 Target : <0xffa00a94> { _return_from_int + 0x0 }

     Source : <0xffa00cac> { __common_int_entry + 0x74 } JUMP.L

   7 Target : <0xffa00caa> { __common_int_entry + 0x72 }

     Source : <0xffa0038e> { _asm_do_IRQ + 0x6a } RTS

   8 Target : <0xffa00386> { _asm_do_IRQ + 0x62 }

     Source : <0x000156b0> { ___local_bh_enable + 0x38 } RTS

   9 Target : <0x00015678> { ___local_bh_enable + 0x0 }

     Source : <0x00015d6e> { ___do_softirq + 0xc6 } JUMP.L

  10 Target : <0x00015d62> { ___do_softirq + 0xba }

     Source : <0x00015d46> { ___do_softirq + 0x9e } IF CC JUMP pcrel

  11 Target : <0x00015d30> { ___do_softirq + 0x88 }

     Source : <0x00038b02> { _rcu_bh_qs + 0x5e } RTS

  12 Target : <0x00038ae8> { _rcu_bh_qs + 0x44 }

     Source : <0x00038abc> { _rcu_bh_qs + 0x18 } IF CC JUMP pcrel

  13 Target : <0x00038aa4> { _rcu_bh_qs + 0x0 }

     Source : <0x00015d2c> { ___do_softirq + 0x84 } JUMP.L

  14 Target : <0x00015d24> { ___do_softirq + 0x7c }

     Source : <0x00019c1a> { _run_timer_softirq + 0xc6 } RTS

  15 Target : <0x00019bb5> { _run_timer_softirq + 0x61 }

     Source : <0x00019c00> { _run_timer_softirq + 0xac } IF !CC JUMP pcrel (BP)

Stack info:

SP: [0x0201bf20] <0x0201bf20> /* kernel dynamic memory (maybe user-space) */

FP: (0x0201bfe0)

Memory from 0x0201bf20 to 0201c000

0201bf20:[001782ec] 0014206c  02072000  001782ec  001b23db  001b23db  001b23db  0201bf68

0201bf40: 001b8c00  001d09ca  02072000  02072000  001e3fec  0201bf78  001781f4  00000000

0201bf60: 00000000  0201bf9c  0201bf78  00000001  00008000  00000000  6e6b6e75  2d6e776f

0201bf80: 636f6c62  2c30286b  02002930  001d0ae2  001ad068  00000000  00000000  001d0c14

0201bfa0: 001ad068  001e3fa4  001e8b88  00000000  00000000  00000000  001d0198  001e8b88

0201bfc0: 001e8940  001e8b88  00000000  001d01ac  001e8b88  001e8940  00000000  00000000

0201bfe0:(00000000)

00000000  00000000  00000000  00000000  ffffffff  00000006

Return addresses in stack:

   frame  1 : <0x00001556> { _kernel_thread_helper + 0x6 }

--

 

Follow-ups

 

--- Vivi Li                                                  2011-09-13 06:12:34

Interrupt mode also fails now.

 

--- steven miao                                              2011-10-13 05:06:47

not a bug, add rootwait can boot it

see Documentation/kernel-parameters.txt

 

rootwait        [KNL] Wait (indefinitely) for root device to show up.

                       Useful for devices that are detected asynchronously

                       (e.g. USB and MMC devices).

 

--- Vivi Li                                                  2011-10-17 02:33:09

Add rootwait in bootargs, and it works now. So close it.

 

--

setenv mmcargs setenv bootargs root=/dev/mmcblk0p1 rw rootwait

--

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.linux.spimmc    application/octet-stream    36751    Vivi Li

Attachments

Outcomes