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