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.

L138 Experimenter's Kit Booting trouble

Other Parts Discussed in Thread: OMAP-L138, DA8XX, PMP, AM1808

Hello,

I've got a Logic PD Zoom OMAP-L138 Experimenter's kit that I can't boot. I've waded through the online wikis and I'm afraid I must've messed something up in the tutorials because it seems a bit confusing to me what the correct version of SDK I was supposed to download (so I downloaded them both, and tried them both, and neither work).

Basically, my problem is as follows. I set up the U-Boot variables to load from nfs with a tftp server running on Ubuntu 10.4 running on a Virtual Box. On the target board, I run tftp and the image is fetched correctly, and then...the board hangs either at the "starting kernel" stage (when I try to load the image uImage-dm37x-evm.bin that comes with the TI DVSDK) or at the "Uncompressing Linux....done, booting the kernel" stage when I tried to load the uImage that comes with the OMAP-L138 SDK). Is this a problem with my configuration, or am I loading up the wrong images, or what do you think?

These are my U-Boot environment variables:

baudrate=115200
ethaddr=00:08:ee:06:07:70
rootpath=/home/elisa/targetfs
nfshost=139.79.100.178
bootdelay=4
autoload=no
netmask=255.255.255.0
ipaddr=139.79.100.244
serverip=139.79.100.178
bootfile=uImage-dm37x-evm.bin
bootcmd=tftp;bootm
bootargs=mem=64 console=ttyS2,115200n8 ip=dhcp nfsroot=139.79.100.178:/home/elisa/targetfs root=/dev/nfs rw
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.11 (Jan 13 2011 - 01:05:37)

And these are the errors I seem to get:

U-Boot > boot
Using  device
TFTP from server 139.79.100.178; our IP address is 139.79.100.244
Filename 'uImage-dm37x-evm.bin'.
Load address: 0xc0700000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##########################################################
done
Bytes transferred = 3289936 (323350 hex)
## Booting kernel from Legacy Image at c0700000 ...
   Image Name:   Arago/2.6.37-psp04.02.00.07.sdk/
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3289872 Bytes =  3.1 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

And then nothing, the board hangs. Any hints?

Thanks!

-Elisa.

  • Nevermind. Solved it. I used the uImage that came with the SD card in the eval board as opposed to the multitude of uImages that are available on the wikis/user guides. Booted up no problem.

  • Oops, I spoke too soon. Turns out, boot halts again, when trying to mount the nfs root directory. Here are my new U-boot variables and the messages that pop out when booting:

    U-Boot > printenv
    baudrate=115200
    ethaddr=00:08:ee:06:07:70
    rootpath=/home/elisa/targetfs
    nfshost=139.79.100.178
    bootdelay=4
    autoload=no
    netmask=255.255.255.0
    serverip=139.79.100.178
    bootcmd=if mmc rescan 0; then if fatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 0 0xc0700000 uImage;bootm c0c0700000; fi; else sf probe 0; sf read 0xc0700000 0x80000 0x220000; bootm 0xc0700000; fi
    bootfile=uImage
    SDCardboot=mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    TFTPboot=mem=64M console=ttyS2,115200n8 ip=139.79.100.242 nfsroot=139.79.100.178:/home/elisa/targetfs root=/dev/nfs rw
    ipaddr=139.79.100.242
    bootargs=mem=64M console=ttyS2,115200n8 ip=139.79.100.242 nfsroot=139.79.100.178:/home/elisa/targetfs root=/dev/nfs rw
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 2009.11 (Jan 13 2011 - 01:05:37)

    Environment size: 833/65532 bytes

    U-Boot > tftp
    Using  device
    TFTP from server 139.79.100.178; our IP address is 139.79.100.242
    Filename 'uImage'.
    Load address: 0xc0700000
    Loading: #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #######################
    done
    Bytes transferred = 2113796 (204104 hex)
    U-Boot > bootm
    ## Booting kernel from Legacy Image at c0700000 ...
       Image Name:   Arago/2.6.32+2.6.33-rc4-psp03.20
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2113732 Bytes =  2 MB
       Load Address: c0008000
       Entry Point:  c0008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.33-rc4 (sdk@nemo) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 PREEMPT Thu Jan 13 01:09:44 CST 2011
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: DaVinci DA850/OMAP-L138/AM18xx EVM
    Memory policy: ECC disabled, Data cache writeback
    DaVinci da850/omap-l138/am18xx variant 0x1
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
    Kernel command line: mem=64M console=ttyS2,115200n8 ip=139.79.100.242 nfsroot=139.79.100.178:/home/elisa/targetfs root=/dev/nfs rw
    PID hash table entries: 256 (order: -2, 1024 bytes)
    Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
    Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
    Memory: 64MB = 64MB total
    Memory: 60396KB available (4012K code, 315K data, 148K init, 0K highmem)
    SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    Hierarchical RCU implementation.
    NR_IRQS:245
    Console: colour dummy device 80x30
    Calibrating delay loop... 149.50 BogoMIPS (lpj=747520)
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    DaVinci: 144 gpio irqs
    regulator: core version 0.5
    NET: Registered protocol family 16
    bio: create slab <bio-0> at 0
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    regulator: VDCDC1: 3200 <--> 3300 mV at 3300 mV
    regulator: VDCDC2: 1750 <--> 3300 mV at 3300 mV
    regulator: VDCDC3: 950 <--> 1375 mV at 1200 mV
    regulator: LDO1: 1800 mV
    regulator: LDO2: 1150 <--> 1300 mV at 1200 mV
    pca953x 1-0020: failed reading register
    i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
    Switching to clocksource timer0_1
    musb_hdrc: version 6.0, cppi4.1-dma, host, debug=0
    Waiting for USB PHY clock good...
    musb_hdrc: USB Host mode controller at fee00000 using DMA, IRQ 58
    musb_hdrc musb_hdrc: MUSB HDRC host driver
    musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    TCP: Hash tables configured (established 2048 bind 2048)
    TCP reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    EMAC: MII PHY configured, RMII PHY will not be functional
    JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    msgmni has been set to 118
    io scheduler noop registered (default)
    da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel
    Console: switching to colour frame buffer device 60x34
    Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
    serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a 16550A
    serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a 16550A
    serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a 16550A
    console [ttyS2] enabled
    brd: module loaded
    ahci ahci: forcing PORTS_IMPL to 0x1
    ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
    scsi0 : ahci
    ata1: SATA max UDMA/133 irq 67
    spi_davinci spi_davinci.1: DaVinci SPI driver in EDMA mode
    Using RX channel = 18 , TX channel = 19 and event queue = 1
    m25p80 spi1.0: m25p64 (8192 Kbytes)
    Creating 4 MTD partitions on "m25p80":
    0x000000000000-0x000000040000 : "U-Boot"
    0x000000040000-0x000000050000 : "U-Boot Environment"
    0x000000050000-0x0000007f0000 : "Linux"
    0x0000007f0000-0x000000800000 : "MAC Address"
    Read MAC addr from EEPROM: 00:08:ee:06:07:70
    spi_davinci spi_davinci.1: Controller at 0xfef0e000
    console [netcon0] enabled
    netconsole: network logging started
    ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    ohci ohci.0: DA8xx OHCI
    ohci ohci.0: new USB bus registered, assigned bus number 2
    ohci ohci.0: irq 59, io mem 0x01e25000
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    input: TPS6507x Touchscreen as /devices/platform/i2c-gpio.1/i2c-1/1-0048/input/input0
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    omap_rtc: RTC power up reset detected
    i2c /dev entries driver
    Linux video capture interface: v2.00
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (v0.1.0)
    watchdog watchdog: heartbeat 60 sec
    cpuidle: using governor ladder
    cpuidle: using governor menu
    davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    Advanced Linux Sound Architecture Driver Version 1.0.21.
    usbcore: registered new interface driver snd-usb-audio
    No device for DAI tlv320aic3x
    asoc: tlv320aic3x <-> davinci-i2s mapping ok
    ALSA device list:
      #0: DA850/OMAP-L138 EVM (tlv320aic3x)
    TCP cubic registered
    NET: Registered protocol family 17
    Clocks: disable unused emac
    Clocks: disable unused aemif
    Clocks: disable unused spi0
    ata1: SATA link down (SStatus 0 SControl 300)
    regulator_init_complete: incomplete constraints, leaving LDO2 on
    regulator_init_complete: incomplete constraints, leaving LDO1 on
    regulator_init_complete: incomplete constraints, leaving VDCDC3 on
    regulator_init_complete: incomplete constraints, leaving VDCDC2 on
    regulator_init_complete: incomplete constraints, leaving VDCDC1 on
    mmc0: new high speed SDHC card at address b368
    mmcblk0: mmc0:b368 USD   3.75 GiB
     mmcblk0: p1 p2
    emac-mii: probed
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=1:00, id=7c0f1)
    IP-Config: Guessing netmask 255.255.0.0
    IP-Config: Complete:
         device=eth0, addr=139.79.100.242, mask=255.255.0.0, gw=255.255.255.255,
         host=139.79.100.242, domain=, nis-domain=(none),
         bootserver=255.255.255.255, rootserver=139.79.100.178, rootpath=
    Looking up port of RPC 100003/2 on 139.79.100.178
    PHY: 1:00 - Link is Up - 100/Full
    Looking up port of RPC 100005/1 on 139.79.100.178
    VFS: Mounted root (nfs filesystem) on device 0:13.
    Freeing init memory: 148K
    Kernel panic - not syncing: Attempted to kill init!
    Backtrace:
    [<c0031730>] (dump_backtrace+0x0/0x114) from [<c0320420>] (dump_stack+0x18/0x1c)
     r7:c3820000 r6:c3820000 r5:00000004 r4:c0446f38
    [<c0320408>] (dump_stack+0x0/0x1c) from [<c0320488>] (panic+0x64/0x13c)
    [<c0320424>] (panic+0x0/0x13c) from [<c0045498>] (do_exit+0x74/0x6b4)
     r3:c0422090 r2:00000000 r1:c3823e58 r0:c03b9871
    [<c0045424>] (do_exit+0x0/0x6b4) from [<c0045ba0>] (do_group_exit+0xc8/0xfc)
    [<c0045ad8>] (do_group_exit+0x0/0xfc) from [<c0052024>] (get_signal_to_deliver+0x3e8/0x44c)
     r5:00000004 r4:c3822000
    [<c0051c3c>] (get_signal_to_deliver+0x0/0x44c) from [<c0030298>] (do_notify_resume+0x7c/0x650)
    [<c003021c>] (do_notify_resume+0x0/0x650) from [<c002df68>] (work_pending+0x1c/0x20)


    So does anyone have an idea of what's going on now? My nfs server seems to be running fine on the Ubuntu VM...


    Thanks,


    -E.

  • E,

    In your first attempt, it appears that you were using a UImage from Dm37xx, is that right? I would not expect that to work.

    In your second attempt you have mixed uboot environment setups. Your bootargs indicate nfs boot but your bootcmd indicates SDMMC boot. If you obtained the uImage from a Linux PSP package, the documentation provides the different uboot arguments that are needed for the boot. Could you specify where you obtained the uboot and uImage and the reason for the mixed uboot settings.

    Regards,

    Rahul

  • Hi, Rahul,

    You were right. The thing is there are so many images and so many different instructions floating out there on the wikis that it is difficult to sort out which is meant to go where (and to answer where I got which, again I couldn't tell you, they were all cobbled together from doing a search on "getting started guide OMAP L138" and following the links on the wikis, etc. I have no doubt some of these documents were obsolete or outdated). As it turns out, I had the wrong uImage and when I replaced it with the one that came in the SD card from my development kit, and followed its instructions to the letter instead of trying to "upgrade" to a more recent version for the Code Sourcery tools, etc, it all installed flawlessly. I can even see my mapped nfs directory and can transfer files between my host and target by dropping things into the targetfs directory. The U-boot environment variables that finally worked for me were as follows (in case anyone else runs into similar trouble in the future):

    U-Boot > printenv
    baudrate=115200
    ethaddr=00:08:ee:06:07:70
    rootpath=/home/elisa/targetfs
    nfshost=139.79.100.178
    bootdelay=4
    autoload=no
    bootargs=console=ttyS2,115200n8 noinitrd rw mem=32M@0xc0000000 mem=64M@0xc4000000 root=/dev/nfs nfsroot=139.79.100.178:/home/elisa/targetfs,nolock ip=dhcp
    bootfile=uImage-da850-omapl138-evm.bin
    bootcmd=dhcp; setenv serverip 139.79.100.178; setenv bootfile uImage-da850-omapl138-evm.bin; setenv netmask; setenv dnsip; tftp; bootm
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 2009.11 (Jan 13 2011 - 01:05:37)

    The reason the bootfile variable needs to be set again on the bootcmd is that because for some reason on my system when I run dhcp it also likes to change the bootfile name to pxelinux.0 for some reason. Weird. Anyway, seems to work now.

    Thanks Rahul for the hints!

  • Hi,

    I am also struck at the same point “Uncompressing Linux... done, booting the kernel.” Using AM1808 @375MHZ with 128MB mDDR. 

    Running my uImage & rootfs from SD-Card, Find my bootargs:-

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

    U-Boot > printenv

    baudrate=115200

    bootargs=init=/init console=ttyS2,115200n8 ip=off rw root=/dev/mmcblk0p2 rootwait nolock mem=128M androidboot.console=ttyS2

    bootcmd=if mmc rescan 0; then if fatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 0 0xc0700000 uImage; bootm c0700000; fi; else sf probe 0; sf read 0xc0700000 0x80000 0x220000; bootm 0xc0700000; fi

    bootdelay=3

    bootfile=uImage

    ethact=DaVinci-EMAC

    hwconfig=dsp:wake=yes

    stderr=serial

    stdin=serial

    stdout=serial

    ver=U-Boot 2012.04.01 (Jan 22 2013 - 17:38:47)

    Environment size: 546/65532 bytes

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

    Please suggest me where I can enable(either in UBL  or U-boot) and work my board with OS.

    Thanks,

    Francis