This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: cannot mount effs2 filesystem at boot
- From: "brix82\ at libero\ dot it" <brix82 at libero dot it>
- To: "andrew" <andrew at lunn dot ch>
- Cc: "ecos-discuss" <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 6 Aug 2004 14:07:24 +0200
- Subject: Re: [ECOS] cannot mount effs2 filesystem at boot
---------- Initial Header -----------
>From : ecos-discuss-owner@ecos.sourceware.org
To : "brix82@libero.it" brix82@libero.it
Cc : "ecos-discuss" ecos-discuss@sources.redhat.com
Date : Mon, 2 Aug 2004 13:19:35 +0200
Subject : Re: [ECOS] cannot mount effs2 filesystem at boot
> On Thu, Jul 29, 2004 at 12:12:24PM +0200, brix82@libero.it wrote:
> > Hi, i'm writing an application for the xscale pxa architecture. It's a sort of
> > shell which runs on eCos - it is linked against the eCos build. On the xscale
> > board there is a flash memory where i used to store a RomFS image, and it worked
> > well with my application; ecos successfully mounted it under the root directory.
> > Now i'm trying to use jffs2 to implement a 'create' command in my shell, but i
> > don't find how to mount the filesystem under the root directory at boot. I tried
> > to modify packages/fs/jffs2/v2_0/src/fs-ecos.c adding this:
> >
> > #define FS_BASE_ADDRESS 0x50300000 // address of the image in flash
> >
> > MTAB_ENTRY( jffs2_mte, // structure name
> > "/", // mount point
> > "jffs2", // Filesystem type
> > "/dev/flash", // hardware device
> > (CYG_ADDRWORD) FS_BASE_ADDRESS // Address in ROM
> > );
>
> Take a look at fs/jffs2/current/tests/fileio1.c. This shows you how to
> mount the fileystem. You don't need to give the address of the
> image. That is in the CDL configuration of the flash io block driver
> which i assume you have configured appropriately.
>
> Andrew
Thanks for your help, i didn't see this option. I have configured the flash io
block driver but the problem still remains. Look at this piece of my
configuration file:
cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
# Flavor: data
user_value "\"/dev/flash1\""
# value_source user
# Default value: "\"/dev/flash1\""
};
cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
# Flavor: data
user_value 0x50300000
# value_source user
# Default value: 0x00100000
};
cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
# Flavor: data
user_value 0x00080000
# value_source user
# Default value: 0x00100000
};
It seems to be ok. I recompiled the libraries and the tests, but both fileio and
romfileio look at the beginning of the flash memory:
RedBoot> go
arenasize 66804088, freeblocks 1, totalallocated 528, totalfree 66803540,
maxfree 66803540
<5>jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000:
0x1977 instead
...
I don't understand why the configuration doesn't affect the test program (if
this is the case).
Thanks in advance,
Marco Bressan
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss