On 9/21/2012 8:02 AM, Ed Sutter wrote: > On 9/20/2012 8:22 PM, Charles Manning wrote: >> On Friday 21 September 2012 11:32:26 Charles Manning wrote: >>> On Friday 21 September 2012 08:19:16 Ed Sutter wrote: >>>> On 9/20/2012 1:18 PM, Ed Sutter wrote: >>>>> On 9/17/2012 1:17 PM, Ed Sutter wrote: >>>>>> Hi, >>>>>> What is the status of building "yaffs direct"? Based on a different >>>>>> thread >>>>>> (http://www.aleph1.co.uk/lurker/message/20120614.203459.f1b2edbf.en.ht >>>>>> >>>>>> ml ), am >>>>>> I correct to assume that this is under construction?? >>>>>> >>>>>> I suppose I have two levels of non-standard complexity in my attempt >>>>>> to do this... >>>>>> First, I wanna build yaffs direct to run os-less. >>>>>> Second I'd like to be able to build on Cygwin. >>>>>> >>>>>> I didn't find much text on this, so before I start building my own >>>>>> makefile >>>>>> I figured I'd ask if there is a documented procedure for doing this. >>>>>> >>>>>> Thanks, >>>>>> Ed >>>>> Following up on my own question... >>>>> Does anyone have any experience with building yaffs-direct recently? >>> I build it pretty much every day using Linux. I have built it in the >>> past >>> using cygwin, but not recently. >>> >>> I'll set up a Windows PC with Cygwin and give it a go today. >>> >> I just set up a new Win7 PC with Cygwin and built yaffs direct with a >> few >> minor issues. >> >> Here is what I did >> >> 1) Fetched the setup.exe from http://www.cygwin.com/. >> 2) I first just ran it using defaults. >> 3) I then added the gcc and gcc core packages by running setup.exe >> and typing >> gcc in the search box, then selecting those packages. >> 4) Then ran setup.exe again to install make. >> 5) Went to http://yaffs.net/download-yaffs-using-git and fetched a >> tarball. >> 6) Opened up a cygwin terminal and >> 6a) untarred the tarball with >> $ tar xvfz /cygdrive/c/User/charles/Downloads/yaffs....tar.gz\ >> 6b) cd to yaffs../direct >> 6c) Ran the script there to copy through the yaffs core files >> $ ./handle_common.sh copy >> 6d) cd to basic-test >> 6e) make >> >> At this point the make failed because the cygwin gcc I had installed >> did not >> like many of the -W options. I edited the Makefile to comment these out. >> >> make then ran fine and I got a program called directtest2k.exe which >> ran fine. >> >> NB The step at 6b. In the Old Days this was not required since the same >> sources were linked in. These days the core sources are run through a >> simple >> sed filter to modify a few names. >> >> >> I hope that helps. >> >> -- Charles > Hmmm... > > Ok, I wasn't aware of the need to run that script (is that documented > anywhere?); so > my first step was to just run 'make' under direct/basic-test. It > tried to set up a bunch of > links, but that failed because the path of the source file in the ln > line was off by one directory > level. That obviously raised a warning flag in my head, but I worked > around it, > and managed to get the basic-test directory built. But I had to fix > compile time errors to do that... > > Taking a step back and following your instructions (but now I'm on a > linux box just to eliminate > one level of complexity), I ran the "./handle_common.sh copy" script, > then cd'd to basic-test > and run make and still get the same errors... > > 1. yaffs_fileem2k.c:426:12: warning: `nread' may be used uninitialized > in this function > 2. yaffsfs.c:1610:5: error: "CONFIG_YAFFS_WINCE" is not defined > Also, note that those link attempts in the makefile are still off by > one directory level. > > These are all easily fixed problems, but I wasn't thinking I would run > into these kinds > of issues so quickly. Is there more than one tarball? I'm using > yaffs2-HEAD-34292b4.tar, > which is what I got from > http://aleph1.co.uk/gitweb?p=yaffs2.git;a=snapshot;h=HEAD; > > Ed > > > _______________________________________________ > yaffs mailing list > yaffs@lists.aleph1.co.uk > http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs Continuing down the path of "I don't think I have the right tarball", I managed to get the yaffs environment built to run on my embedded system. To start simple, I figured I'd just test using RAM, so I changed main() (in dtest.c) to do yy_test("/ram1") instead of yy_test("/yaffs2"). This failed with the following trace: yaffs: yaffs: yaffs_guts_initialise() yaffs: device function(s) missing or wrong opendir failed Free space in /ram1 is -1 It fails with the exact same error when I run directtest2k on linux. After further investigation it appears that the ramdisk device (as it is initialized in yaffs_start_up()) doesn't pass any of the tests in yaffs_check_dev_fns(). Is something incorrect with the ramdisk initialization code in yaffs_start_up()? Ed PS..(still hoping there's a tarball mixup that will resolve all this)