Skip to end of metadata
Go to start of metadata

This is a page about TI's PandaBoard and PandaBoard ES.

Availability:

PandaBoard at Digi-Key
PandaBoard ES at Digi-Key

Basic Requirements

ARM Cross Compiler: GCC

This is a pre-built (32bit) version of Linaro GCC that runs on generic linux, so 64bit users need to make sure they have installed the 32bit libraries for their distribution.

Debian based (deb)

extra

pkgs: (sudo apt-get update ; sudo apt-get install xyz)

Ubuntu 12.04

 

ia32-libs

Debian 7 (Wheezy)

sudo dpkg --add-architecture i386

libc6:i386 libstdc++6:i386 libncurses5:i386 zlib1g:i386

Ubuntu 12.10 -> 14.04

 

libc6:i386 libstdc++6:i386 libncurses5:i386 zlib1g:i386

Red Hat based (rpm)

extra

pkgs: (yum install xyz)

Red Hat/Centos/Fedora

 

libstdc++.i686 ncurses-devel.i686 zlib.i686

Download/Extract:

~/

Test:

If this test fails, verify that you have the 32bit libraries installed on your development system.

~/

Bootloader: U-Boot

Das U-Boot -- the Universal Boot Loader http://www.denx.de/wiki/U-Boot

Download:

~/

Patches:

~/u-boot

Configure and Build:

~/u-boot

Linux Kernel

This script will build the kernel and modules and copy them to the deploy directory.

Old Board File tree

Download:

~/

For v3.9.x:

~/stable-kernel

Build:

~/stable-kernel/

 

Device Tree

Download:

~/

Checkout v3.14.x branch:

~/armv7-multiplatform

Build:

~/armv7-multiplatform

Root File System

Debian 7

User

Password

debian

temppwd

root

root

This image contains systemd: https://wiki.debian.org/systemd

Download:

~/

Verify:

~/

Extract:

~/

Ubuntu 13.10

User

Password

ubuntu

temppwd

Download:

~/

Verify:

~/

Extract:

~/

Root File System (small flash)

A Root File System around 64Mb in size, for flash applications.

Debian 7 (small flash)

User

Password

debian

temppwd

root

root

Download:

~/

Verify: 

~/

Extract: 

~/

Setup microSD/SD card

For these instruction, we are assuming: DISK=/dev/mmcblk0, "lsblk" is very useful for determining the device id.

Erase microSD/SD card:

Create Partition Layout:

Format Partitions:

Mount Partitions:

On some systems, these partitions may be auto-mounted...

Install Bootloader

Copy MLO/u-boot.img to the boot partition

~/

uEnv.txt based bootscript

Create "uEnv.txt" boot script: (nano uEnv.txt)

~/uEnv.txt

Copy uEnv.txt to the boot partition:

~/

Install Kernel and Root File System

To help new users, since the kernel version can change on a daily basis. The kernel building scripts listed on this page will now give you a hint of what kernel version was built.

Copy and paste that "export kernel_version=3.X.Y-Z" exactly as shown in your own build/desktop environment and hit enter to create an environment variable to be used later.

Copy Root File System

~/

Copy Kernel Files

Kernel Image:

~/

Kernel Device Tree Binaries (v3.14.x branch):

~/

Kernel Modules:

~/

File Systems Table (/etc/fstab)

Edit: /etc/fstab

/etc/fstab

Networking

Edit: /etc/network/interfaces

Add:

/etc/network/interfaces

 

Serial Login

Debian

Edit: /etc/inittab

Add this at the end of: /etc/inittab

/etc/inittab

Ubuntu

Create new file: /etc/init/serial.conf

With this content:

/etc/init/serial.conf

WiFI

Install Firmware:

~/

Setup WiFi

/etc/network/interfaces

Remove microSD/SD card:

FAQ

PandaBoard ES Rev B3: New Memory Timings

Note: the U-Boot patch on this wiki has this fix already applied...
Error:

Fix:
Comment out: http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/omap4_common.h;h=2fa4382c3ef54a3f39102a26eb717afcabd1bfe3;hb=refs/tags/v2013.07-rc3#l258

PandaBoard A4 (with "M" Micron memory)

 
Fix: v2014.04: http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/ti_omap4_common.h;h=bcb5eabd75660c4388b094258fbe2d6964b93db3;hb=refs/tags/v2014.04#l50

Comments

Comments, feedback, and questions can be sent to eewiki@digikey.com.

Comments Page

Labels
  • No labels
  1. Hi Robert,

    this is a great article for Pandaboard. It help me a lot for running debian on Panda (which I could not find anywhere so clean and organized).

    But I have few doubts on this

    1. does the kernel built from your steps is having SGX support on Pandaboard?

    2. there are two different scripts called create_dsp_package.sh and create_sgx_package.sh. what are those and how to use them?

    3. Also can you gimme a insight what build_deb.sh does??

    Basically, I was trying running XBMC on this (using this kernel + debian wheezy) but it was saying h/w media support is not present and it was asking me to install proper drivers.

    Can you please help me on this. You answers will be highly appreciated.

    Thanks.

    1. Hi Tirtha,

      1. At this point, there's no support for the SGX hardware on omap4 class device with a mostly mainline kernel, I'm waiting for TI's rumored kms/sgx release..
      2. Those two scripts are currently only useful for omap3 class devices (Beagle, Beagle xM, and igepv2) to utilize the DSP and SGX hardware.
      3. ./build_deb.sh builds a deb file, useful for some people over zImage/modules..

      Regards,

      1. thanks for your quick reply.

        But I guess some 3rd party support for SGX is already there on Pandaboards. I am not sure but I saw http://www.geexbox.org/ is running xbmc which requires h/w accelerator support.

        Do you have any information on this? Any pointer to any patches on any kernel version, which can make SGX and/or DSP up on pandaboard?

        thanks again for your concern.

        1. Hi Tirtha,

          They are using one of the linaro omap4 kernel tree's that contain extra patches for the pvr bits..

          Graphics Drivers: http://git.linaro.org/gitweb?p=ubuntu/pvr-omap4.git;a=shortlog
          Linaro Kernel tree: http://git.linaro.org/gitweb?p=landing-teams/working/ti/kernel.git;a=summary

          Regards,

      2. Hi Robert,
        Very good your article. Excellent.
        Just one thing, I wonder, with your experience, how can I find any reference to use support for SGX in PandaBoard.?
        I already tried some things like (but unsuccessfully)
        1) I used ( gfxsdk 4_04_00_04 ) from TI, with 2.6.37 kernel --> I compiled Kernel and gfxsdk successfully.
                 But when I run the linux on PandaBoard ES, it stop in "Uncompressing Linux... done, booting the kernel."  
        2) I used ( gfxsdk 4_04_00_04 ) from TI, with 3.5.rc7 kernel --> I compiled Kernel successfully.
                 But when I tried compile gfxsdk, I get the following error : error: implicit declaration of function 'cpu_is_omap3530' [-Werror=implicit-function- declaration]
        3) The newest SDK ( gfxsdk 4_08_00_01 ) from TI --> don't have support to es7.x, that is used from PandaBoard.
        Thank you.
        Fabio

        1. Hi Fabio,

          I actually have not done much with the SGX side on the PandaBoard...

          1. The Mainline v2.6.37 kernel does not include the omap4460 patchset, so it won't boot...
          2. The cpu_is_omap3530 define was moved see my patch here: https://github.com/RobertCNelson/ti-sdk-pvr/commit/beb205474320a66983f142ef64824d61820fa05b
          3. Actually newest is 4_08_00_02 released a week ago. They do not include the es7.x as the group that creates these gfxsdk canned their am45xx version of the omap4 from the TI wireless group (AKA OMAP group).

          Regards,

          1. Robert Nelson Thanks for your quick reply.
            I'll use your patch, and see if it works.
            I do not know why they remove support for "es7.x" since it already existed.
            Thank her help.
            Fabio

            1. Hi Fabio,

              They removed es7.x because the am45xx line was removed from the Sitara Road Map (aka canned).

              Background: At TI, (well till a few weeks ago) there are two main Cortex-A based product groups. Sitara Group (am37xx/am335x products) and the OMAP Group (omap4430/omap5xxx products).

              These gfxsdk's (4_04_00_04/4_08_00_02) are from the Sitara group in TI. They only support their Sitara products, which currently consist of:

              • AM35xx (es3)
              • AM37xx (es5)
              • 38xx (es6)
              • AM335x (es8)

              http://processors.wiki.ti.com/index.php/RN_4_08_00_02#Contents

              If you want es7 drivers you need to talk to (now defunct) OMAP group, or companies they worked with like Canonical/Linaro who the OMAP group provided a special gfxsdk for..

              Regards,

              1. Thank you, Robert.
                With your help, it became clear to me.
                Regards,

  2. Hi,

    I am facing one issue. After all this, My pandaboard is up and running perfect. But when i made a simple "hello world" program, compile it with arm-linux-gnueabi-gcc and try to run on board, it showing one error "-bash: No such file or directory". Even though binary was there.

    Please help me on this issue.

    Thanks,

    1. Hi Rahul,

      If the "binary" is actually present, then it is most likely you just have nt marked the file's execute permission bits...

      After which, "./file" should now run as intended..

      If this is not the case, please see: http://www.catb.org/esr/faqs/smart-questions.html#explicit and re-ask your question.

      Regards,

      1. Yes, I did that but problem doesn't solve.

        1. Hi Rahul,

          I'm Sorry, without more information, it's really hard to pin down what's going wrong.

          But, for reference I put up a quick Hello World example using C here:
          http://eewiki.net/display/linuxonarm/Using_C

          Regards,

        2. Hi Rahul,

          though without any further details, it is hard to tell any solution.

          Once wild guess, how did u build the hello.c?? did u used bionic libc???

          either you should build your source as a part of Android build else you need to include bionic headers file and standard libraries (libc, libm etc) build as part of bionic.

          If you have only used like following 

          $ arm-linux-gnueabi-gcc -o hello hello.c

          it would not work....rather you need to use

          $ arm-linux-gnueabi-gcc -o hello -L<path-to-bionic-lib> -lc -I<path-to-bionic-arm-headers> hello.c

        3. Hello, Rahul.
          I found on the PandaBoard that I needed to use a hard float linaro toolchain to get my binaries working.  When I did not use Hard Float I received the same error.  bash responded like the binary did not exist.  Try:
          gcc-linaro-arm-linux-gnueabihf-2012.08-20120827_linux
          If you "apt-get install gcc g++" you can also build directly on the board.

  3. Hi,

    After doing all the above steps for making sd-card with boot and rootfs partition and put related images, I am facing one issue on panda board,

    processing stops after this messages, "init: ureadahead main process (49) terminated with status 5", and no prints after this.

    Can you please suggest on this issue.

    Thanks,

    Rahul Bhansali

    1. Hi Rahul,

      Please use http://pastebin.com and upload your full serial boot-log (from power on to crash), please also include your actual uEnv.txt and which kernel branch you built from.. Based on the error message, it sounds like you utilized the Ubuntu 12.10 image, so please confirm.. Did you also remember to set the serial/getty init script? Also your using the hdmi plug labeled as "dvi"?

      Regards,

      1. Here is the boot log,

        http://pastebin.com/Sw5eKY2J

        and uEnv.txt that I am using is

        http://pastebin.com/VL5SD5C6

        kernel branch is 3.2.34-x15

        Yes I am using Ubuntu 12.10 image, and i set the getty init script and able to get login prompt but the problem is after

        "init: ureadahead main process (49) terminated with status 5" message, there is no prints for 5 minutes and then after login prompt appears.

        I just want to know the reason of this much wait before login prompt, Is there any way to solve it.

        1. Hi Rahul,

          So the login prompt does appear but there's a large delay?

          First make sure your ethernet cable is plugged in, by default Ubuntu has a failsafe boot script that delays boot for upto 2 Minutes while it's waiting for an IP address. (This message does not show up on the serial log, it's usually only on the first console window...)

          Second, Ubuntu does not really like starting without an initramfs, so once you've booted for the first time you can generate one: (It's a clsssic Chicken & Egg problem...)

          Then in uEnv.txt:
          Re-Comment:

          Un-Comment:

          Regards,

          1. Hi Robert,

            I followed the steps but still didn't get any success to reduce delay. Is there anything that can be try out to reduce delay before login prompt?

            Thanks,

            Rahul Bhansali

            1. Hi Rahul,

              If you've implemented both those steps I pointed out and are still not getting a login prompt within 10 Seconds, I'm really not sure what's going on with your image and will not be able to confirm till next Monday as I am away from my hardware. If you want a faster login now, I'd advice you to switch to the non-upstart based Debian Wheezy Image posted on this site as that still uses system V based start-up scripts.

              *Update: on my PandaBoard: with Ubuntu 12.10 and 3.2.34-x15:

              About 5 second delay...

              Full Time log:
              http://pastebin.com/wh4zdypG

              Regards,

  4. Hi Robert,

    great work with that article here, thanks for that!

    I have PandaBoard ES with Ubuntu 11.10, but i need some more kernel modules so that i need to build a new kernel with this modules (usbip). With your buildscript it was pretty easy to build the kernel and i found the 3.7.1-x5.zImage and mods in deploy folder, but i don't know what to do with them right now? Could you please help to get booted from my new kernel? Thanks and greetings from Germany

    Patrick

    1. Hi Patrick,

      I just enabled and pushed out a config change with the CONFIG_USBIP_CORE module now enabled (in the past it wouldn't even build, so it had been disabled in my builds)..
      https://github.com/RobertCNelson/stable-kernel/commit/9dc389b0c046e256e223695cb3a35a09dee25b41

      I left the CONFIG_USBIP_DEBUG option disabled encase it just increases the amount of spam the dmesg, if you could please also test with that enabled to see how badly it spam's...

      To quickly deploy the new image, you can either run my ./tools/install_image.sh script from the stable-kernel directory or copy the zImage/uImage & modules as shown later in this section http://eewiki.net/display/linuxonarm/PandaBoard?replyToComment=11665591&#PandaBoard-SetupmicroSDcard

      Regards,

  5. Hi, Robert,

    I am using Pnadaboard. I did all the steps as above but i am geting an error, which Rahul Bhansali\ also got.

    I am using arm-linux-gnueabhihf- ... as the Cross compiler.

    I am using ubuntu 12.10 as my file system.

    2.710510] platform twl6030_usb: Driver twl6030_usb requests probe deferral

    [    3.298095] init: ureadahead main process (69) terminated with status 5

    I tried what all was written in above step. But it still dint worked.

    http://pastebin.com/ASbuggYt ... i have uploaded my log.

    http://pastebin.com/YVRMs0Lf .. my Env.txt

    Can you tell me where would i have gone wrong.

    regards

    Ashish Chaple 

    1. Hi Ashish,

      Everything looks normal, but it looks like you mis-typed the serial parameter, as the serial login (via getty) did not appear. If you did enable serial, it's O in omap, not 0 in zero..

      http://eewiki.net/display/linuxonarm/PandaBoard#PandaBoard-EnableSerialLogin%3A

      Regards,