AnsweredAssumed Answered

Unable to mount root FS

Question asked by halm on Mar 6, 2012
Latest reply on Mar 7, 2012 by halm

This seems to be a common enough issue that it appears in the FAQ, but I haven't found anything there that helps.

 

I've inherited a project: uClinux ported to our blackfin board.  I can build, load (flash) and run fine.  However we want to add 2 more partitions to our flash.

 

In our board file there is this:

static struct mtd_partition cm_partitions[] = {

        {

                .name   = "bootloader(nor)",

                .size   = 0x40000,

                .offset = 0,

        }, {

                .name   = "uclinux kernel(nor)",

                .size   = 0x180000,

                .offset = MTDPART_OFS_APPEND,

        }, {

                .name   = "file system(nor)",

                .size   = MTDPART_SIZ_FULL,

                .offset = MTDPART_OFS_APPEND,

        }

};

 

I've inserted 2 more partitions to this array just before the final "MTDPART_SIZ_FULL" entry:

        }, {

                .name   = "uclinux mini kernel (nor)",

                .size   = 0x180000,

                .offset = MTDPART_OFS_APPEND,

        }, {

        }, {

                .name   = "mini-linux filesystem",

                .size   = 0x180000,

                .offset = MTDPART_OFS_APPEND,

        }, {

 

 

At boot time I get the "unable to mount root FS" message.

RedBoot partition parsing not available

gpio-addr-flash: Using board partition definition

Creating 5 MTD partitions on "gpio-addr-flash":

0x000000000000-0x000000040000 : "bootloader(nor)"

0x000000040000-0x0000001c0000 : "uclinux kernel(nor)"

0x0000001c0000-0x000000340000 : "uclinux mini kernel(nor)"

0x000000340000-0x0000004c0000 : "mini-linux filesystem"

0x0000004c0000-0x000002000000 : "file system(nor)"

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_

clk=2500000Hz(mdc_div=19)@sclk=100MHz)

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

i2c /dev entries driver

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

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 00:00:00 UTC (0)

dma_alloc_init: dma_page @ 0x011aa000 - 256 pages at 0x01f00000

List of all partitions:

1f00             256 mtdblock0  (driver?)

1f01            1536 mtdblock1  (driver?)

1f02            1536 mtdblock2  (driver?)

1f03            1536 mtdblock3  (driver?)

1f04           27904 mtdblock4  (driver?)

No filesystem could mount root, tried:

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

 

The boot is seeing my new partitions.  If I remove my 2 new partitions then this works again, and so I'm convinced that jffs2 is there.  At this point I still want to boot from the original "uclinux" partition, so I haven't changed anything in my boot commands.

 

I have no idea what else could be wrong or where to look.  Hoping someone can point me in the right direction.

Outcomes