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.

Orientation in OMAPL138 LCDK - Linux Kernel and Ethernet Gadget

Other Parts Discussed in Thread: OMAPL138

Dear TI community,

My goal is to create a custom board for the OMAP L138. I purchased a OMAP LCDK two months ago and since then i've been working with it. I read all the documentation I found as well as the wikis but after two months hitting walls i fear I still don't fully understand the important things.

For my objective is quite simple: set up an SD card with uBoot, the Linux Kernel, a FS and be able to use the USB Ethernet Gadget functionality (i want my custom board small using USB ports instead of a big ETHERNET one)

I've understood that i can't use the material provided at the DVDSDK because it's for another board configuration, right?. So far, i've been able to create the SD card with the provided tools at the omapl138_lcdk_sdk. To do this i basically:

  • Compile de linux kernel 3.1.10 under ti-sdk-omapl138-lcdk-01.00.00/board-support/ following the instructions given at the wiki (btw i use the omapl138_lcdk_defconfig, otherwise it will stall when loading the kernel) selecting the Ethernet Gadget at menuconfig.
  • Compile the modules
  • Create and sd card using the script ti-sdk-omapl138-lcdk-01.00.00/bin/create-sdcard.sh (selecting 2 partitions and so on).
  • Install the drivers in the FS at the SD card
The systems loads fine and i get a shell with the root user but when i try to load the g_ether driver with modprobe i get a message saying "No such device". Wall.
I tried tenths of different menuconfig configurations but nothing worked so i had to move on.
The linux kernel was not the latest one at this might be the reason so i decided to get the latest release from the git linux-davinci repository and compile it using the  omapl138_lcdk_defconfig included in the ti-sdk-omapl138-lcdk-01.00.00/board-support/linux-3.1.10/arch/arm/configs (the only one who worked previouslyhowever after going through the compiling process the board gets stucked at 

Waiting for root device /dev/mmcblk0p2...

Wall again. The environment variables seem fine to me:

bootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
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 si
bootdelay=3
bootfile="uImage"
ethact=DaVinci-EMAC
ethaddr=00:00:a0:00:fb:c7
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2010.12 (May 07 2012 - 16:09:45)
Environment size: 496/65532 bytes

My question is: is it ok to download the latest version from the git repository and without doing anything compile it and try to run it on the OMAP LCDK directly without any customization? If needed what exactly should i do?

I really have a lot of enthusiasm on this project and i fear i just need that somebody points me in the right direction.

  • Anybody could give me some ideas?. I'm quite stucked and i'd like to work with the lastest version.

  • Anybody in the Linux forum could give me a hand?

    Any orientation will be highly apreciated.

  • I can confirm that's about all you need to do for lcdk.

    yep, clone off that git.

    git clone git://arago-project.org/git/projects/linux-davinci.git

    I don't know what release you are using, but here is a way that works under 10.04.3 LTS.  This is arago, should work about the same under the code sourcery toolchain, but I haven't tried.

    run the setup script, or at least resolve the dependencies:

    sudo ./setup.sh

    setup the compiler and environment:

    export TI_SDK_PATH=/home/user/ti-sdk-omapl138-lcdk-01.00.00

    run the setup:

    source linux-devkit/environment-setup

    check that the env var are set and the compiler is there:

    echo $TI_SDK_PATH
    echo $PATH
    arm-arago-linux-gnueabi-gcc --version

    navigate into the u-boot git tree directory...

    clean, set target, build:

    ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- make distclean
    ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- make omapl138_lcdk_config
    ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- make all

    I do a "-j #_cores" after make to speed things up, but its a short build...

    it will dump a u-boot.bin to that directory...

    copy that to windows, run the convertAIS tool, like the wiki says, you will have to manually paste the right entry offset on the input file after it is loaded.  use the bin loader to erase the flash, then write the u-boot over.  works for me...