Booting mx25 based device from SD and NOR

Roberto Nibali rnibali at gmail.com
Thu May 24 08:49:36 EDT 2012


Hi


> > Set the switches to boot from SD on the mx25 device and power on. It
> > successfully loads barebox and I can mount the fat partition (of course
> the
> > other partition is unmountable, because there is no ext2/3 support in
> > barebox). Booting from my environment currently fails, but I reckon it
> has
> > to do with my configuration settings. Here is where it gets so far:
> > .../...
> > [  103.029081] VFS: Unable to mount root fs via NFS, trying floppy.
> > [  103.036763] VFS: Cannot open root device "nfs" or unknown-block(2,0)
> > [  103.043157] Please append a correct "root=" boot option; here are the
> > available partitions:
> > [  103.052007] b300         1955840 mmcblk0  driver: mmcblk
> > [  103.057512]   b301            1024 mmcblk0p1
> > 00000000-0000-0000-0000-000000000mmcblk0p1
> > [  103.065670]   b302          524288 mmcblk0p2
> > 00000000-0000-0000-0000-000000000mmcblk0p2
> > [  103.073744]   b303         1429504 mmcblk0p3
> > 00000000-0000-0000-0000-000000000mmcblk0p3
> > .../...
> > Thank you very much for your pointers.
> >
> add to your bootargs root=/dev/mmcblk0p3 rootfstype=ext3 or something
> like this
>
>
I haven't found a combination of root/rootfstype yet that permits me to
boot from barebox either from NFS, TFTP, MMC/SD or NOR yet. No matter what
I try, the kernel spits back at me.

Also I have the problem that my NOR is only detected when using barebox as
a second stage boot loader from uboot. If booting from SD into barebox, the
NOR is not detected. I have added the following changes to figure out
what's going on:

diff --git a/drivers/nor/cfi_flash.c b/drivers/nor/cfi_flash.c
index 654e647..7884ca4 100644
--- a/drivers/nor/cfi_flash.c
+++ b/drivers/nor/cfi_flash.c
@@ -990,13 +990,17 @@ static int cfi_probe (struct device_d *dev)
        info->size = flash_get_size(info);

        if (info->flash_id == FLASH_UNKNOWN) {
-               printf ("## Unknown FLASH on Bank at 0x%08x - Size =
0x%08lx = %ld MB\n",
+               printf("## Unknown FLASH on Bank at 0x%08x - Size = 0x%08lx
= %ld MB\n",
                        dev->resource[0].start, info->size, info->size <<
20);
+               printf("cfi flash (id=%08lX vend=%06X manu=%06X devid=%06X
extid=%06X)\n",
+                       info->flash_id, info->vendor,
info->manufacturer_id, info->device_id,
+                       info->device_id2);
                return -ENODEV;
        }

-       dev_info(dev, "found cfi flash at %p, size %ld\n",
-                       info->base, info->size);
+       dev_info(dev, "cfi flash (id=%08lX vend=%06X manu=%06X devid=%06X
extid=%06X) at %p, size %ldMB
+                       info->flash_id, info->vendor,
info->manufacturer_id, info->device_id,
+                       info->device_id2, info->base, info->size/1024/1024);

        info->cdev.name = asprintf("nor%d", dev->id);
        info->cdev.size = info->size;

Loading barebox as second stage bootloader gives me following output:

[...]
cfi_flash at cfi_flash0: cfi flash (id=01000000 vend=000002 manu=000001
devid=00007E extid=002301) at a0000000, size 64MB
[...]

Loading barebox as a first stage bootloader directly from SD card results
in the following:

[...]
## Unknown FLASH on Bank at 0xa0000000 - Size = 0x00000000 = 0 MB
cfi flash (id=0000FFFF vend=000000 manu=000000 devid=000000 extid=000000)
[...]

What's going on here?

Best regards
Roberto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20120524/06169748/attachment-0001.html>


More information about the barebox mailing list