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.

TFTP boot into linux questions

I am using the TMDXEVM6678LE.  I want to install it at a customer site and have it boot via TFTP into Linux over their network.  I have been reading the IBL documents/instructions, but cannot seem to figure out what to do.

  1. I setup the build to make an NFS rootfs.  I configured the nfs server and can now boot with the NFS file system.  This step works.
     
  2. I have a TFTP server running and verified that it works.
     
  3. The next step is to package the kernel into a binary blob and put it out on the TFTP server.  I am following the instructions given at “ibl_single_binary.txt” which is titled “== Generating the program to create an IBL binary ==”

    1. I ran the build and got the iblConfig.out as specified
       
    2. The next instructions read, “To create a IBL binary for a given use case, please copy the prebuilt IBL binary for the required EVM in the required endian from the releases folder and rename it to ibl.bin. Please Note, you have to rename the IBL to ibl.bin. This binary(ibl.bin) should be in the same folder as the iblConfig.out that was built in the above step. please be in ibl/src/util/iblConfig/build folder at all times.”  I assume that the required binary is the right vmlinux.bin file to use.  But this is not clear.  Can anyone confirm that I am using the right file?
       
    3. I completed the instructions and ended up with a file named ibl.bin.  I put that file into the tftp source directory.  Is that correct?
       
    4. I think that the next step is to create something with the correct Ethernet addresses and load it to the EVM.  However, it is not clear from the above instructions how to do this.  Since part of the instructions were to input the Ethernet addresses, I would have expected that a file to be loaded onto the EVM would also be generated.  Is this true?  Any help here would be appreciated.

 

  • The key is setting the switches on the EVM board correct and setting up the tftp-server and dhcp server correct.

    The switches are set up from left (SW3) to right (SW6): off off on off | on on off on | on on on off | on on on on.

    If this is set correct the UART will display : Booting from Ethernet.

    Setting up the TFTP server, you can also specify which file to send (so you don't have to set this in IBL)

    in /etc/xinetd.d/tftp:

    service tftp
    {
        disable = no
        socket_type = dgram
        protocol = udp
        wait = yes
        user = nobody
        server = /usr/sbin/in.tftpd
        server_args = -s /tftpboot
    }

    DHCP server:

    in dhcpd.conf:

    -----------------

    ddns-update-style interim;
    ignore client-updates;

    subnet 192.168.0.0 netmask 255.255.255.0 {

        range dynamic-bootp 192.168.0.100 192.168.0.254;
        default-lease-time 21600;
        max-lease-time 43200;

    }

    allow booting;
    allow bootp;
    option option-128 code 128 = string;
    option option-129 code 129 = text;
    next-server 192.168.0.1;
    filename "/kernel.bin";
    --------------------


    Here i have specified our pc with IP address 192.168.0.1, the board has IP address 192.168.0.100-192.168.0-254.

    The kernel that is loaded from /tftpboot is /kernel.bin.

    You can change this to (for instance) /home/yourname/tftpboot/ with kernel vm-linux-whatever.bin by editing both the /etc/xinetd.d/tftp (directory) and /etc/dhcpd.conf (filename)

    Good luck!

  • This helps but didn't answer the question completely.  However, I did talk to a helpful App support guy from TI and he worked me through the issues so now I am up and running.  

    Thanks to everyone that helped.