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 & NFS booting

Hi all,

Here is what I am trying to do.

Uboot on SD card. Get the kernal image from TFTP and rootfs on NFS. Good news is- Image is extracted correctly, but fails to boot up. Below are the logs. Any ideas what might be the issue ?

pri
baudrate=115200
bootfile=uImage
loadaddr=0x82000000
usbtty=cdc_acm
console=ttyS2,115200n8
mmcargs=setenv bootargs console=${console} root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait
nandargs=setenv bootargs console=${console} root=/dev/mtdblock4 rw rootfstype=jffs2
loadbootscript=fatload mmc 0 ${loadaddr} boot.scr
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
loaduimage=fatload mmc 0 ${loadaddr} uImage
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
nandboot=echo Booting from nand ...; run nandargs; onenand read ${loadaddr} 280000 400000; bootm ${loadaddr}
dieid#=0fc000029ff80000015f02690c018009
ethact=smc911x-0
fileaddr=82000000
ipaddr=172.17.1.1
serverip=172.17.1.2
filesize=1A4
bootdelay=6
tftpuimage=tftp uImage
nfsargs=mem=128M console ${console} noinitrd rw ip=off root=/dev/nfs
nfsroot=172.17.1.2:/home/kedar/ti-sdk-am37x-evm-05.02.00.00/targetNFS
tftpnfsboot=setenv bootargs ${nfsargs}; run tftpuimage; bootm
bootcmd=run tftpnfsboot
stdin=serial
stdout=serial
stderr=serial

Environment size: 1030/131068 bytes
OMAP3_EVM # bott
Unknown command 'bott' - try 'help'
OMAP3_EVM # boot
smc911x: detected LAN9220 controller
smc911x: phy initialized
smc911x: MAC 00:50:c2:7e:93:34
Using smc911x-0 device
TFTP from server 172.17.1.2; our IP address is 172.17.1.1
Filename 'uImage'.
Load address: 0x82000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##########################################################
done
Bytes transferred = 3290020 (3233a4 hex)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Arago/2.6.37-psp04.02.00.07.sdk/
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3289956 Bytes =  3.1 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.


  • Did try recompiling my own image and reload from tftp along with rootfs on NFS. I see it going a little further than above !

    Texas Instruments X-Loader 1.51 (Jul  5 2011 - 22:25:05)
    Starting X-loader on MMC
    Reading boot sector

    212568 Bytes Read from MMC
    Starting OS Bootloader from MMC...
    Starting OS Bootloader...


    U-Boot 2009.11 (May 06 2010 - 23:47:47)

    OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
    OMAP3 EVM board + LPDDR/NAND
    I2C:   ready
    DRAM:  256 MB
    NAND:  512 MiB
    In:    serial
    Out:   serial
    Err:   serial
    Read back SMSC id 0x92200000
    Die ID #0fc000029ff80000015f02690c018009
    Net:   smc911x-0
    Hit any key to stop autoboot:  0
    smc911x: detected LAN9220 controller
    smc911x: phy initialized
    smc911x: MAC 00:50:c2:7e:93:34
    Using smc911x-0 device
    TFTP from server 172.17.1.2; our IP address is 172.17.1.1
    Filename 'uImage'.
    Load address: 0x82000000
    Loading: T #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             ################################
    done
    Bytes transferred = 3158116 (303064 hex)
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3158052 Bytes =  3 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    <5>Linux version 2.6.37 (kedar@radioactive) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Mon Jan 30 14:59:08 IST 2012
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

    Any clues?

    I believe this has to do with memory mapping but someone with experience on this issue can throw some light?

    thanks,kedar

  • and here is the same uImage booting up from SD card.

    Booting from mmc ...
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-2.6.37
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3158052 Bytes = 3 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    <5>Linux version 2.6.37 (kedar@radioactive) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Mon Jan 30 14:59:08 IST 2012
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: OMAP3 EVM
    <6>Reserving 4194304 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    <6>OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )
    <6>SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x10000
    <7>On node 0 totalpages: 64512
    <7>free_area_init_node: node 0, pgdat c0796cdc, node_mem_map c0d31000
    <7>  Normal zone: 512 pages used for memmap
    <7>  Normal zone: 0 pages reserved
    <7>  Normal zone: 64000 pages, LIFO batch:15
    <7>pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    <7>pcpu-alloc: [0] 0
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64000
    <5>Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait omap_vout.vid1_static_vrfb_alloc=y
    <6>PID hash table entries: 1024 (order: 0, 4096 bytes)
    <6>Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    <6>Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    <6>Memory: 252MB = 252MB total


  • I think you might be in the wrong forum. The Embedded/Linux forum would be better. I am surprised the Ti Forum Moderators have not moved this thread to that forum.

    Also your nfsargs appears to be missing a '=" between console and ${console}. Your mmcargs appear to missing the mem bootarg. I think in that case, the kernel assumes 256MB of memory. NFS boot requires definition of the nfsroot and ip bootargs. Diffult to tell with all the substitutions what is the final bootargs. You need something like this:

    mem=128M console=${console} noinitrd rw ip=172.17.1.1:172.17.1.2::255.255.255.0:targetname:eth0:off root=/dev/nfs nfsroot=172.17.1.2:/home/kedar/ti-sdk-am37x-evm-05.02.00.00/targetNFS

    Assumes that you do not have DHCP and do not have a gateway. See Documentation/filesystems/nfs/nfsroot.txt in your kernel source about the ip bootarg. Up to this point, the actual NFS server has not been contacted. Confirming that the NFS server is running and accessible is next. The TI Wiki is a good place to look for info, http://processors.wiki.ti.com

  • Norman, thanks for your inputs. I will look into uboot env. changes as suggested by you.