This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Initial filesystem load for a non-Ethernet based device



The DM6446 board I'm bringing up has 4GB of BBN, and no Ethernet or ATA capability.  I've found a number of instructions for doing an initial file system load to flash, but all presume that you're booting with an NFS or ATA mounted file system, and then mounting /dev/mtdblock3 and untar'ing or copying a file system into it.  This presents me with a serious chicken-and-the-egg problem.

Is it (in theory) possible to take a working EVM board with a YFFS2 or JFFS2 file system in NAND, boot with the root file system on an NFS or ATA device, use 'dd' (dd if=/mnt/mtdblock3 of=fs.bin bs=1M) to copy the NAND file system to a binary file, then on my board, boot into U-Boot, use loady to Ymodem over the fs.bin, and burn it into flash?

Or are we strangely unique in having a DM6446 with BBN and no Ethernet or ATA interface?

The relevancy of this is, of course, that you cannot boot a kernel without a file system of some sort, and the only place for the file system in this device is in NAND.  So far, my kernel comes up nicely, but panics because there's no rootfs.

Thanks,

--jc

  • JC,

    I do not mean to go off on a tangent, but have you made sure that your BBN NAND device is supported by the DM6446 RBL (See ARM Subsystem Guide for list of supported NAND devices).  This is important because if your device is not supported by RBL, you will not be able to use it for booting purposes.

    That said, lets move to your question at hand.  I am not too familiar with the use of loady, but since you mention modem, I am guessing this is a type of serial loading protocol which would imply you do have access to UART peripheral on you board.  We do have a serial flashing utility for DM6446 that will let you write a binary image and this approach should work per your suggestion.  Although depending on the size of the file system, this could be a very slow process. 

    Alternatively, if you have access to USB, SD, MMC, memory stick... all of these could be much simpler ways to get the file-system into flash (you can mount these devices from the kernel).

  • Juan, Chris is working with me on this project.

    The target device is on the RBL list. Chris is WAY beyond the BBN issue on this thread. We have moved to the 2.6.18 MV5 kernel and he has UBL, uboot, and the kernel flashed in the NAND and running. We have seen both the uart loading programs that TI has and am using the DV version.

    The problem is not how to get the flash file system image TO the device, rather it is how does one create the Flash File System binary image in the first place. The very first time. With only the NAND device and the UART.

    This device has only NAND. No SD, MMC, memory stick, NOR, Hard Drive, or ethernet.  If we  had the etherenet, we could mount the file system remotely, create the binary, flash it, and call it a day. We DO have a USB and although the provided u-boot does not support booting from USB, the DAS-u-boot version might. We are looking into it.

    The problem as explained to me is that the TI methods of creating a flash file system the FIRST time requires that the target create the file system, save a binary, and then flash a copy. The problem is that the target can not boot because the file system is not there and the file system can not be created on the target because the kernel can not fully boot.

    This is the closest TI wiki that I have found:

    http://wiki.davincidsp.com/index.php/Create_a_YAFFS_Target_Image

    It does not provide a solution for getting the file system built an a target that can not boot because it doesnt have a file system.

    Its a catch-22 chicken-and-egg thing.

    I am sure others have done this... how?

    - gary

     

     

  • Juan, did you have any suggestions on how a flash file system binary can be created on a DM6446 target board without that target board first booting? Is there an utility that will do it?

  • To be honest, I am not really sure how you convert a file-system into binary form.  Perhaps someone more familiar with this subject will step in and offer some advice.  I will also ask around to see if one of my colleages knows, but this is the first request I see for this sort of scenerio.