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.

Tcpdump on the OMAP35x EVM

Hi all,

We have an OMAP35x EVM (with Linux kernel version 2.6.29-rc3) which we would very much like to run tcpdump on.

Has anyone managed to cross-compile tcpdump for the above setup and if so could you please give me some hints on how to do it or if possible send the compiled version?

Best regards,

Nestor

  • Nestor,

    we had the same question a few days ago in our team. My first choice in such a case is to check the Angstroem feed browser.

    It lists the available packages including any dependencies. You may install manually or using opkg (in case you have an Angstroem based file sys).

    It also lists dev packages that should allow to recompile if needed. I must admit I did not try tcpdump on OMAP3 yet.

    Regards.

  • I was able to cross-compile and run it. A lot of time you get into one package depending on another and another and...  Tcpdump only required libpcap, both available at www.tcpdump.org.  Download them, untar them, and start with libpcap. Go into the libpcap-1.1.1 directory and run

    ac_cv_linux_vers=2.6.32 ./configure --target=arm-none-linux-gnueabi --build=i386-linux --host=arm-none-linux-gnueabi --with-pcap=linux

    I'm using 2.6.32 kernel so you probably want to change that to 22.6.29. Then after configure, do

    make

    make DESTDIR=path_to_your_target_rootfs install

    Then go to tcpdump-4.1.1 and do

    CFLAGS=-I /data/ambu/usr/local/include LDFLAGS=-L /data/ambu/usr/local/lib ac_cv_linux_vers=2.6.32 ./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi --build=i386-linux

    I couldn't figure out how to stop getting /usr/include in the path so edit the Makefile and remove all references to -I/usr/include

    make

    make DESTDIR=path_to_your_target_rootfs install

    I booted the EVM, ran tcpdump, and got this output

    root@dm3730-am3715-evm:~# tcpdump
    device eth0 entered promiscuous mode
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
    08:10:39.133422 IP 128.247.104.3 > 255.255.255.255: ICMP router advertisement li
    fetime 9 1: {128.247.104.3 75}, length 16
    08:10:39.133819 IP 128.247.105.66.2417790612 > 128.247.105.103.nfs: 112 getattr
    fh Unknown/0100040133A0E2007C24E55990881801AA81C892000000000000000000000000
    08:10:39.134307 IP 128.247.105.103.nfs > 128.247.105.66.2417790612: reply ok 96
    getattr DIR 40755 ids 0/0 sz 4096
    08:10:39.134521 IP 128.247.105.66.2434567828 > 128.247.105.103.nfs: 112 getattr
    fh Unknown/0100040133A0E2007C24E55997881801B181C892000000000000000000000000
    08:10:39.134979 IP 128.247.105.103.nfs > 128.247.105.66.2434567828: reply ok 96
    getattr LNK 120777 ids 0/0 sz 12

    Steve K.

  • Thank you very much for the reply, after I installed the dependencies and the tcpdump package itself using opkg everything seems to work great.

    Regards,

    Nestor