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.

DM816x/C6A816x/AM389x Evaluation Module Setup

I am trying to connect my DM816x/C6A816x/AM389x Evaluation Module PC board to my Ubuntu host and can not get the NFS to work. Ran through the setup.sh script and it looked to me like it worked. I can 'ping' and the target board responds, 'minicom' appears to be functioning correctly  but I have no NFS.

According to the Software Developers Guide I have to do the following steps after I run the setup.sh script:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Boot the Linux kernel from your development host using TFTP. On your development host the Linux
kernel is fetched from /tftpboot by default.

2.Boot the Linux file system from your development host using NFS. On your development host the
Linux target file system is located at ${HOME}/targetfs

3. Minicom is set up to communicate with the target over RS-232. If you want to use a windows host for
connecting to the target instead, see the #Setting_up_Tera_Term section.

Note! To boot the board from NFS, you may need to change the boot switch settings on your EVM. Please
refer the UBoot user guide in the board-support/docs folder for more information on the switch settings.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I assume that #1 just means that you need to reboot the host system.

I'm not sure what they are saying in #2?  I don't know what they want me to do, but if I did I don't think that it will work since my NFS doesn't seem to be functioning:-)

The note may be the answer to my problem (if I knew what #2 said) and I had the documentation they are talking about. I have no doc folder on my SD card so I can't refer to the UBoot User Guide.

I did this same process with the AM37x Evaluation Module with no problems, but this process is just a little different.

I still consider myself a beginner so any help would be greatly appreciated. Thank you!

  • I'll admit that I haven't had a go myself, but if you're a newbie try the setup scripts that TI provides in <EZSDK>/bin.

    As I understand it, if you run the relevant scripts in here as root then the script should get your system up and running. I see there is one called "setup-targetfs-nfs.sh" which is probably the one you should run as root.

    Ralph

  • Ralph,

    Thank you for the response. I am under the impression that after this script runs I should be able to go to the /home/rte/targetfs/home/root/dm816x-evm directory and place a file in it and have it show up in the targets /home/root/dm816x-evm directory.  Unfortunately, I never get a dm816x-evm directory created and if I copy a file to my /home/rte/targetfs/home/root/ directory it never shows up on my target (viewed through my minicom connection).  I have tried running this script several times with the following script output. When I did this similar sequence on the AM37x Eval board this worked great. I have no clue on what I can check for to better understand my problem or identify if NFS is actually configured on the target board. Any ideas?

    NOTE: This is an edit to this post... I just noticed that my target directory is named /targetfs in my DM816x/C6A816x/AM389x Eval development environment and it was named /targetNFS in my AM37x Eval development environment. Is this possibly an indication that I messed up my initial setup or is this just a difference in nomenclature between the two Eval development environments?

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    rte@rtetiboard:~/ti-ezsdk_dm816x-evm_5_01_01_80$ ./bin/setup-targetfs-nfs.sh
    --------------------------------------------------------------------------------
    In which directory do you want to install the target filesystem?(if this directory does not exist it will be created)
    [ /home/rte/targetfs ]
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    This step will extract the target filesystem to /home/rte/targetfs

    Note! This command requires you to have administrator priviliges (sudo access)
    on your host.
    Press return to continue
    /home/rte/targetfs already exists
    (r) rename existing filesystem (o) overwrite existing filesystem (s) skip filesystem extraction
    [r]
    Path for old filesystem:
    [ /home/rte/targetfs.09142011_15.07 ]

    Successfully moved old /home/rte/targetfs to /home/rte/targetfs.09142011_15.07

    Successfully extracted ezsdk-dm816x-evm-rootfs.tar.gz to /home/rte/targetfs
    --------------------------------------------------------------------------------

    --------------------------------------------------------------------------------
    This step will update the EXEC_DIR variables in the Rules.make file
    This will facilitate the SDK to install (with make install) rebuilt binaries in
        /home/rte/targetfs/home/root/dm816x-evm

    The files will be available from /home/root/dm816x-evm on the target.

    This setting can be changed later by editing Rules.make and changing the
    EXEC_DIR variable.

    Press return to continue
    Rules.make edited successfully..
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    This step will export your target filesystem for NFS access.

    Note! This command requires you to have administrator priviliges (sudo access)
    on your host.
    Press return to continue
    /home/rte/targetfs already NFS exported, skipping..

     * Stopping NFS kernel daemon                                                                                 [ OK ]
     * Unexporting directories for NFS kernel daemon...                                              [ OK ]
     * Exporting directories for NFS kernel daemon...                                                   [ OK ]
     * Starting NFS kernel daemon                                                                                   [ OK ]
    --------------------------------------------------------------------------------
    rte@rtetiboard:~/ti-ezsdk_dm816x-evm_5_01_01_80$ ls bin
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    The followinig script output never seems to occur. I never see a directory 'dm816-evm' added to the /home/root directories on the target or host systems.

    This step will update the EXEC_DIR variables in the Rules.make file
    This will facilitate the SDK to install (with make install) rebuilt binaries in
        /home/rte/targetfs/home/root/dm816x-evm

    The files will be available from /home/root/dm816x-evm on the target.

    This setting can be changed later by editing Rules.make and changing the
    EXEC_DIR variable.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     

  • You need to run the script as root. That's what it means when it says "This command requires you to have administrator priviliges (sudo access)".

    I recommend reading up on the basics of Ubuntu before proceeding with the EZSDK.

    Ralph

  • Ralph,

    Sorry, my bad. I have run it multiple times as root (see below) with the same results. Unfortunately frustration was setting in and I forgot to 'sudo' on that try. Please see the following results when I execute it as root. Should I be seeing a dm816x-evm directory being created? Is there some way I can confirm the NFS configuration on the target board?

    rte@rtetiboard:~/ti-ezsdk_dm816x-evm_5_01_01_80$ sudo ./bin/setup-targetfs-nfs.sh
    [sudo] password for rte:
    --------------------------------------------------------------------------------
    In which directory do you want to install the target filesystem?(if this directory does not exist it will be created)
    [ /home/rte/targetfs ]
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    This step will extract the target filesystem to /home/rte/targetfs

    Note! This command requires you to have administrator priviliges (sudo access)
    on your host.
    Press return to continue
    /home/rte/targetfs already exists
    (r) rename existing filesystem (o) overwrite existing filesystem (s) skip filesystem extraction
    [r]
    Path for old filesystem:
    [ /home/rte/targetfs.09152011_07.48 ]

    Successfully moved old /home/rte/targetfs to /home/rte/targetfs.09152011_07.48

    Successfully extracted ezsdk-dm816x-evm-rootfs.tar.gz to /home/rte/targetfs
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    This step will update the EXEC_DIR variables in the Rules.make file
    This will facilitate the SDK to install (with make install) rebuilt binaries in
        /home/rte/targetfs/home/root/dm816x-evm

    The files will be available from /home/root/dm816x-evm on the target.

    This setting can be changed later by editing Rules.make and changing the
    EXEC_DIR variable.

    Press return to continue
    Rules.make edited successfully..
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    This step will export your target filesystem for NFS access.

    Note! This command requires you to have administrator priviliges (sudo access)
    on your host.
    Press return to continue
    /home/rte/targetfs already NFS exported, skipping..

     * Stopping NFS kernel daemon                                                                                 [ OK ]
     * Unexporting directories for NFS kernel daemon...                                                           [ OK ]
     * Exporting directories for NFS kernel daemon...                                                             [ OK ]
     * Starting NFS kernel daemon                                                                                 [ OK ]
    --------------------------------------------------------------------------------
    rte@rtetiboard:~/ti-ezsdk_dm816x-evm_5_01_01_80$

  • Hmm, maybe I shouldn't have recommended that script!

    Check your /etc/exports file.

    You should have just one uncommented line in it like this:

    /home/<PATH TO YOUR ROOTFS> *(rw,no_root_squash,no_all_squash,async,no_subtree_check)

    Where <PATH TO YOUR ROOTFS> contains the entire root filing system for your EVM Linux; it should contain directories like "etc" and "usr".

    If this isn't so, then post back with what you do have.

    Ralph

  • Ralph,

    If I understanding your last comment, my export  file doesn't appear to be anything like it should...  It still has some stuff from my old dev environment the AM37x Eval board.

    # /etc/exports: the access control list for filesystems which may be exported
    #               to NFS clients.  See exports(5).
    #
    # Example for NFSv2 and NFSv3:
    # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
    #
    # Example for NFSv4:
    # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
    # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
    #
    /usr/local/ti-sdk-am37x-evm/targetNFS *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
    /home/rte/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
    /root/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

  • Comment out the first and third lines and leave "/home/rte/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)" in there.

    Then extract "filesystem/ezsdk-dm816x-evm-rootfs.tar.gz" to "/home/rte/targetfs" as ROOT.

    Then do:

    sudo /etc/init.d/nfs-kernel-server stop
    sudo /etc/init.d/nfs-kernel-server start

    and you should be away.

  • Ralph,

    Thanks, I got excited, but still no luck. I'm sure that this is going to turn out to be something dumb on my part. I just wish it would hurry up and identify itself so I could acknowledge my mistake and move on with my development:-)

    Here is my /etc/exports file content:

    # /etc/exports: the access control list for filesystems which may be exported
    #               to NFS clients.  See exports(5).
    #
    # Example for NFSv2 and NFSv3:
    # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
    #
    # Example for NFSv4:
    # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
    # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
    #
    #/usr/local/ti-sdk-am37x-evm/targetNFS *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
    /home/rte/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
    #/root/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

    I ran the following commands per your instructions:

        sudo extract filesystem/ezsdk-dm816x-evm-rootfs.tar.gz /home/rte/targetfs  

               - a bunch of files were untarred...

        sudo /etc/init.d/nfs-kernel-server stop

        sudo /etc/init.d/nfs-kernel-server start

    I then went to /home/rte/targetfs/home/root directory and VIed (created)  a file.

        cd ~/targetfs/home/root/

        vi foo (added text and saved foo file)

    I then went to my terminal that had minicom running and moved to the /home/root directory.   

        cd /home/root

        ls -l             =====> No foo file was present.

    I'm going through my board setup/connection again, but everything, except NFS, seems to work. My display is functioning, I can 'ping' to the target board and that works fine.

    Do I need to do anything special to the uboot on the SD card?

  • You need "root=/dev/nfs nfsroot=<NFS server IP address>:<Path to rootfs>" in U-Boot bootargs.

    Look at ti-ezsdk_dm816x-evm_5_02_02_60\board-support\docs\DM816x_C6A816x_AM389x_PSP_U-Boot.pdf and ti-ezsdk_dm816x-evm_5_02_02_60\board-support\docs\DM816x_C6A816x_AM389x_PSP_User_Guide.pdf

    It tells you how to do NFS boot there.

  • Ralph,

    Let me explain what I am attempting to do. I have an executable which I ran on the AM37xEval Board. I now want to download this same executable to the AM389x Eval Board and run some benchmark tests. For the AM37x Eval Board the NFS process was very simple and pretty much set itself up during the execution of the  setup scripts. It appears that the process you have me following is for a NAND u-boot process, which means I need to change the 'SW3' switch settings? Is this the only way to implement NFS on the AM389x Eval Board? On the AM37x Eval Board configuration it appeared that I was still booting from the SD card even though I was utilizing the NFS feature. Of course this could be simply my preception since the setup script took care of everything. 

    My real goal is to just move my executable to the AM389x Eval Board and start it up. So, if there is another way to accomplish this, which is easier please let me know. 

    In any event, after reading the u-boot guide & the user's guide (which I could probably read several times over and still not understand it all) and your reply I did the following:

    I  stopped the auto boot and got to the u-boot prompt (TI8168_EVM#) and typed...

            "setenv bootargs 'root=/dev/nfs nfsroot-192.168.1.197:/home/rtre/targetfs' "

            "saveenv"

    The system responded with:

            "Saving Environment to NAND..."

            "Erasing NAND..."

    The system never returned from erasing the NAND.  It has been over 60 minutes with no response. Should it take that  long to erase the NAND Or did I take the wrong action?

     

  • You're using "nfsroot-". It should be "nfsroot=". Ensure the NAND switch is set correctly on the board.

  • Sorry that was a typo when I typed it into my reply window. I did use = not -.

    I have set the switches as follows:

    NAND boot
    SW3---->BTM[4:0] ==> 10010 (other pins should be 0 i.e. OFF)
    SW4---->NAND ON
    Daughter Card SW1---->SW1[3:0] ==> 0000 (all off)

     

    Now when I power cycle the board I get nothing on my 'minicom' window. I had to force close (click on the red X) the 'minicom' window. I reopened a new minicom window and power-cycled the board with no response at all. You did want me to set the switches to the NAND boot setting didn't you?

  • I would try getting another PC to try out the NFS server you already have running and see if you can mount the NFS share on the other PC. If you can't then you need to fix that before anything else.

     

  • Hi Steve,

    have a look on my post. It's complete installation step-by-step:

    http://www.fedevel.com/welldoneblog/2011/09/c6a816x-installation-host-machine-linux-kernel-compilation/

     

    Also, what you could try is use my envs (change server IP to the address of your Linux machine and File System path):

    setenv bootcmd 'run addip;tftp 81000000 uImage;bootm'

    setenv hostname KDS01

    setenv addip 'setenv bootargs ${bootargs} ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}:${hostname}:eth0:off'

    setenv autoload no

    setenv nfsserver 192.168.0.29

    setenv bootargs 'console=ttyO2,115200n8 root=/dev/nfs nfsroot=192.168.0.29:/home/vmplanet/targetfs,nolock rw mem=128M rootdelay=4 notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M'

    setenv serverip 192.168.0.29

    saveenv


    - Robert

  • Any update on this?

    I just want to boot up the EVM by following the instructions of EZ Software Developers Guide. After successfully executing the "setup.sh" script, I don't know what to do next.

    The Guide says" To boot the board from NFS, you may need to change the boot switch settings on your EVM. Please refer the UBoot user guide in the board-support/docs folder for more information on the switch settings."  I refered to the UBoot user guide, it doesn't clearly state the switch settings for NFS bootup. 

    I cannot get any message on serial com terminal if I set to NAND boot. I can only get the target login prompt when booting from the provided SD card.

    It seems the docs are not for newbies. 

     

    Weilong

     


     

     

  • Sorry, I must have posted a couple of these. Yes, for some reason the setup script was not setting up my environment variables correctly. I had to manually set them at the u-boot prompt. Unfortunately, It appears that I can't type so this effort took much longer than it should and ended up with a few more postings. When I finally managed to get the correct data into the variables all worked well.