Skip to end of metadata
Go to start of metadata

This is the comment page about TI's BeagleBoard and BeagleBoard xM.

For all new topics please use: TechForum Community


  • No labels


  1. Hi Rajkumar,

    Which file? (this one was just uploaded in the last 10 minutes)


    1. Hello Robert,

      Yeah i just refreshed your page. You had changed the u-boot patches list. But now i cannot even clone u-boot.


      T. Rajkumar

      1. Hi Rajkumar,

        If you've already clone u-boot just:

        cd u-boot/
        git checkout master -f
        git branch -D tmp
        git pull
        git checkout v2013.04-rc2 -b tmp

        Or just:

        rm -rf u-boot/
        git clone git://
        cd u-boot/
        git checkout v2013.04-rc2 -b tmp


        1. Hello Robert,

          I tried booting up the kernel and facing issues. I have attached the boot log. Let me know what could be wrong.


          T. Rajkumar


          1. It looks fine.. Did you enable the serial login for the Root File System you chose:


            1. Yeah i had enabled the serial login for rootfs. The issue i saw is the serial messages hangs after sometime and then i need press enter to flush the remaining serial logs. 

              I use tera term as my serial console. Now i got the login prompt. It looks for password. where to get the password info?


              T. Rajkumar

              1. The User/Password information is documented in the section of the wiki where you downloaded the Ubuntu/Debian image. It's also documented inside the *.xz archive in the "user_password.list" file..


                1. Hello Robert,

                  I have been trying to write the ubifs image (generated from your roofs) on to nand flash using ubiformat command. 

                  I have copied the ubiformat utility into the sbin folder of my rootfs and also ubifs image

                  file into the rootfs partition. when i try to execute ubiformat utility, i keep getting 

                  "unable to execute sbin/ubiformat: No such file or directory".

                  I could able to see the ubiformat utility file under sbin folder in rootfs partition. 

                  But i used the same utility in my previous 3.6 kernel build and i could run the ubiformat

                  utility without issues. 

                  I even tried different mtd-utils (mtdinfo) for debug purpose. I keep getting the same message.

                  Any idea what could go wrong. Any help in this regard is highly appreciated.


                  T. Rajkumar

                  1. Hello Robert,

                    It looks you are busy with your schedule. I couldn't get reply from you.

                    I was able to do work around for my earlier issue. I used Debian rootfs from your blog (which has the root user login details in your link) and able to run 

                    the ubiformat utility. Now i could do the ubiformat and manually attach the UBIFS to /dev/mtd4 and mount it. Then i went and i changed my uEnv.txt

                    file (root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs) to mount ubifs on NAND automatically. Now when i try rebooting the kernel 3.9 kernel, i don't see the UBIFS getting invoked. I have enabled UBIFS support in the kernel using this link

                    But still i dont see ubifs attach to my /dev/mtd4 (as stated in my uEnv.txt)


                    Please let me know if i did something wrong or missing anything.



                    T. Rajkumar


  2. Hello, Robert,

    I bought a Beagleboard-xm Expansion V2 (below) from chipsee yesterday. It uses TSC2046 touch screen controller and AT070TN83 LCD module.

    Is there any way Ubuntu on BB-XM supported the touch screen and LCD monitor ?
    I heard that we can modify uEnv.txt to support a LCD monitor(7 inch, 800*480 pixel).  Could you please give me some advice?
    best regards
    1. Hi Esta,

      So first, I can't add support for hardware I don't have, so I rely completely on end users.. (aka: patches welcome)

      2nd, assuming your device is supported, you can change the resolution on bootup via the dvimode parameter in uEnv.txt


  3. Hello, followed kernel and root system build instructions. Made some USB changes to the kernel. xM board boots but I get Mountall: Plymouth command failed.

    Boot continues after a few seconds. I want to run but there is no point until I can clear the above message. Can anybody help me out? Thanks..

    1. Hi Simon,

      Plymouth is the "pretty" startup gui, that warning has been around since jaunty for us, and we've been ignoring it ever since. With the eventual switch to omapdrm (KMS) based, that error should go away..


  4. Hello,

    Can anybody provide me with some advice on using dmtimer.c & dmtimer.h?

    Have managed to compile dmtimer.c and produced kernel module. insmod seems happy with the result. However, I do not seem able to include dmtimer.h in my c application without lots of compiler warnings & error messages. Obviously, the idea is get access to timer functionality. I suspect I am missing a compiler -D or similar. If somebody can point me in the right direction, that would be great.


    1. Hello again. Ignore last message. All sorted. Discovered timer support module already installed in kernel. Found some example code to help me out plus some advice on makefiles etc.

  5. Hello,

    Using kernel 3.7.10-x10. How do I get the correct Linux-headers installed? Will sudo apt-get install Linux-headers-generic be ok? This indicates 3.8.0-23 will be installed. Thanks in advance.

    1. Hi Simon,

      You either grab it from my server:

      Or use this script on the beagleboard, provided by gkaindl:

      chmod +x
      ./ 3.7.10-x10

      and it'll take care of a few things..


  6. Hello Robert. Thanks for the reply on a Sunday and used the Gkaindl script. Worked a treat!

  7. My compliments on your stuff.   After not having any success with some other posted instructions to get various builds running, yours worked flawlessly.  And now I guess I have a build environment all set up.   Seriously, thanks a lot.


  8. Hi,
    I have a BeagleBoard-xM that boots fine with the default Angstrom image. The /boot contains all the stock entities; MLO, u-boot, uImage etc. But I wanted to play around with the device_tree and therefore thought of moving to latest u-boot and kernel. I have cloned the u-boot from git:// and built after doing omap3_beagle_config and installed the u-boot.bin in /boot of my SD card. The problem is it appears to me that u-boot is not running! I don't see any output on console after the x-loader (MLO) has jumped to u-boot.


    I have not done git checkout v2013.04 -b tmp and neither I have applied the patch 0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch. I am unclear what really the problem is!


    Can you please help?


    1. Somnath,

      The directions on this wiki are setup, such that the device will bootup.. If you chose not to follow the directions as stated, you are really on your own...

      PS: The functionality of the "X-Loader" project has been merged in mainline U-Boot a few years ago..


  9. Hi Robert,

    I've followed your instructions with the Debian file system and when I boot the device, I can see it all boot up with the console but on the device itself there is only tty1-6 with bash login and no gui on tty7/

    Do you know what could be the problem?

    Another question, if I want to use Angstrom Fs, can I follow you instructions and just replace the source of the fs? other configurations are the same?


    Thank You!

    1. Hi Aline,

      Did you install your "gui" via apt-get?  The provided root file systems are as minimal as needed to ensure a network connection over various mediums. If you need a gui, install a gui.

      Probably, just like you could use Gentoo/ARCH/Fedora but as you've read, that is currently a not a topic on these pages.  Each distro has slightly different configurations needs, specially when some run varying init scripts: systemv/upstart/systemd/open-rc/etc..


      1. Thank you for the quick replay!

        now I've installed the xorg so I have X and I think that's what I need.

        I have another question, I know it's a long shoot but I'll ask anyway, Do you know how to set up Qt development enviroment for the beagle board with Debian?...

        Thanks again!

        1. My first guess would be "sudo apt-get install qt4-dev-tools" as it looks like it would pull everything in:


  10. Hi Robert,

    I follow your build instructions to build u-boot/uEnv.txt/dtb/linux kernel 3.11-rc2/rootfs Ubuntu 13.04. Thanks for the awesome instructions. There are couple things I am wondering:

    1. Why do you switch to zImage instead of uImage? Is it because DTBs don't work with uImage or it's for other boards incompatibilities? iMX6, etc???
    2. Why does it take so long to fsck? Is it because power was not unplugged so the OS checks for file system every time it boots up?
      fsck from util-linux 2.20.1
      rootfs: clean, 25449/239040 files, 142523/955392 blocks


    3. Should I be expecting something on the HDMI output? I connect it to a monitor but don't see anything. Here what the cmdline is with DVI enabled.
      more /proc/cmdline
      console=ttyO2,115200n8 mpurate=auto buddy=spidev buddy2=none camera=none wl12xx_clk=none vram=12M omapfb.mode=dvi:1280x720MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc
    4. I am trying to port Android JB 4.3 over for the BB-XM like what Andrew Henderson did on the BBB with kernel 3.8. So far I could build Android rootfs OK for BB-xM but hesitated to copy the files over since I am not sure why the DVI/HDMI didn't work, maybe this board that I got from ebay had hardware issue with HDMI. I believe there shouldn't be any issues since all the Android stuffs are in ready in staging area. Do you foresee anything from kernel 3.11-rc* that might prevent Android JB 4.3 from working?



    1. Hi Kevin,

      I switched to using zImage over uImage's about 2 years ago now, it makes sense if you think about.  No more mkimage dependency or trying to remember what the zreladdress is for a particular soc.

      fsck? probally a slow drive, but what you are probably seeing is the 2 minute delay in ubuntu if your network is NOT plugged in, before the serial/video login appears.

      cmdline: just use the defaults shown here


      Otherwise, mpurate is not needed anymore (its auto by default), buddy/camera/wl12xx_clk are all disabled in v3.11.x device trees; vram, omapfb, omapdss are not needed as omapdrm probes the edid register and auto sets the resolution.

      Well, you mentioned building rc2, if you take a look at my commit log, i've been busy fixing usb/video on the beagle, so you may want to re-pull the v3.11.x branch.


      1. Hi Robert,

        Does USB to Ethernet driver smsc95xx and HDMI work on your end with 3.11-rc4?

        I git synced armv7-multiplatform, recompiled the kernel, dtb files, updated uEnv.txt but it seemed like kernel doesn't detect eth0: (external 5V power is used) 


        ubuntu@beagle:~$ sudo modprobe smsc95xx


        ubuntu@beagle:~$ sudo /etc/init.d/networking restart 
        ubuntu@beagle:~$ ifconfig eth0 up
        eth0: ERROR while getting interface flags: No such device
        ubuntu@beagle:~$ lsmod | grep smsc
        smsc95xx 16313 0
        usbnet 23113 1 smsc95xx


        Here is the dmesg | grep usb:

        [ 1.013824] hsusb2_reset: 3300 mV
        [ 1.014038] platform hsusb2_power_reg.25: Driver reg-fixed-voltage requests probe deferral
        [ 1.018218] usbcore: registered new interface driver usbfs
        [ 1.018310] usbcore: registered new interface driver hub
        [ 1.018524] usbcore: registered new device driver usb
        [ 2.433685] usbcore: registered new interface driver udl
        [ 2.513916] twl4030_usb twl4030-usb.40: Initialized TWL4030 USB module
        [ 2.559234] usbcore: registered new interface driver usb-storage
        [ 2.572143] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
        [ 2.572143] musb-hdrc: MHDRC RTL version 1.800
        [ 2.572174] musb-hdrc: setup fifo_mode 4
        [ 2.572204] musb-hdrc: 28/31 max ep, 16384/16384 memory
        [ 2.572326] musb-hdrc MUSB HDRC host driver
        [ 2.578704] musb-hdrc new USB bus registered, assigned bus number 1
        [ 2.587066] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
        [ 2.594238] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
        [ 2.601837] usb usb1: Product: MUSB HDRC host driver
        [ 2.607055] usb usb1: Manufacturer: Linux 3.11.0-rc4-armv7-x6 musb-hcd
        [ 2.613922] usb usb1: SerialNumber:
        [ 2.757568] usbcore: registered new interface driver usbhid
        [ 2.763397] usbhid: USB HID core driver
        [ 3.090087] hsusb2_vbus: 3300 mV
        [ 6.737823] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
        [ 6.737854] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
        [ 6.737854] usb usb2: Product: EHCI Host Controller
        [ 6.737854] usb usb2: Manufacturer: Linux 3.11.0-rc4-armv7-x6 ehci_hcd
        [ 6.737884] usb usb2: SerialNumber: 48064800.ehci
        [ 588.409057] usbcore: registered new interface driver smsc95xx





        1. Hi Kevin,

          It should be working, the biggest change over the older v3.7/v3.9 is that part of the ehci driver has to be a module, as it fails to initialize the driver when built in.. Can you log your full serial boot and dump that to such that we can review it..


          1. Hi Robert,

            See the serial boot dump:





            1. Thanks Kevin,

              I have an older xM A at home, so I'll also test that board tonight.  But here is my bootlog with an xM C, with ehci working..


              Otherwise, do you have this patch in your u-boot build?


              (it's the first patch used right now in my u-boot v2013.07 directions..)



              1. Hi Robert,

                I have that patch for u-boot.

                I take a look at RevA/B and Rev C schematics and saw the change in USB power enable circuitry (USBHOST_PWR_EN). I don't see any light on the led D14 (power for HUB_3.3V) so no power on the SMSC usb-ethernet chip. I believe there is a logic change active low vs active high for USBHOST_PWR_EN between RevA/B vs RevC. 

                Since USBHOST_PWR_EN is connected to the PMIC/Audio Codec TPS65950 pin F15 LEDA/VIBRA.P . I guess we have to send some I2C command to the TPS65950 to toggle that pin. Is there an easy way to do this?



                1. Hi Kevin,

                  This should fix it for the xMA/B

                  diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
                  index 2a9e95c..cf793db 100644
                  --- a/arch/arm/boot/dts/omap3-beagle-xm.dts
                  +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
                  @@ -121,6 +121,7 @@
                                  regulator-max-microvolt = <3300000>;
                                  gpio = <&twl_gpio 18 0>;        /* GPIO LEDA */
                                  startup-delay-us = <70000>;
                  +               enable-active-high;
                          /* HS USB Host PHY on PORT 2 */

                  edit.. just tested this ^ fix and it works on the ab, once you rebuild the kernel, just change the 'fdtfile=omap3-beagle-xm.dtb' to 'fdtfile=omap3-beagle-xm-ab.dtb' 

                  edit 2: not sure why video is not working on my B revision, the dvi_pu is exactly the same as the C which works.. Does video work for you?


                  1. Hi Robert,

                    After changing the dts to enable-active-high, Ethernet works now, thanks Robert.

                    No the HDMI port still doesn't work in my Rev A/B board, There is no change on DVI_PUP; however, I see a new signal nDC_PWR on RevC that goes to TPS65950 pin M4 - GPIO.6/CLKOK/PWM0/T3 . That active low signal indicates whether that the board uses external 5V DC or not. Thus, I wonder if software checks for external 5V DC in before it enables HDMI in RevC. 

                    Here is the console boot log if that helps:



                    1. Hi Kevin,

                      It's now fixed, but you'll need to rebuild u-boot with the new 3rd patch i just posted on this wiki.  It's more of a cleanup patch that i had helped with on a few weeks back.  Essentially on xMA3-xMB we are now properly initializing the dvi. Previously the omap3 board file had done this so no one had ever noticed the issue. So right now it's the easiest fix, but we should eventually re-initialize the dvi in device tree binary too..


                      1. Hi Robert,

                        The third patch works perfectly.

                        Thank you,

  11. Hi Robert

    when I step by step follow  the procedure, the beagleboard starts to work,and I can find the login in the serial port, however ,when I connect the HDMI ,it display  nothing,

    did I ignore something important to do ,but I didn't.





    1. The reason is that my monitor have some problems,when I use another,it works quite well~~~

  12. Hi Robert,

    I followed the link  and prepared the SD card accordingly.
    When i boot up my beagle board,  it stuck with the below error message every time
     init: ureadahead main process (61) terminated with status 5
     init: mounted-proc main process (70) terminated with status 1
    Please help me to resolve the issue.
    Thanks in advance!

    Here is the complete log:


    [    5.155273] input: USB Mouse as /devices/platform/usbhs_omap/ehci-omap.0/usb1/1-2/1-2.2/1-2.2:1.0/input/input1
    [    5.170318] hid-generic 0003:15D9:0A33.0001: input,hidraw0: USB HID v1.10 Mouse [USB Mouse] on usb-ehci-omap.0-2.2/input0
    [    5.257171] init: ureadahead main process (61) terminated with status 5
    k V.491088] init: mounted-proc main process (70) terminated with status 1


    1. It looks like you didn't setup getty to start at startup over the serial console..


      Using the Ubuntu section as that is what you are booting...


      1. Hi Robert,

        Thanks for your reply.

        serial console was already configured.Please find the log dump i got this time..

        it is stucking after the message "Running default loadzimage"

        Let me know your feedback


        U-Boot SPL 2013.07-dirty (Oct 08 2013 - 16:07:23)
        OMAP SD/MMC: 0
        reading u-boot.img
        reading u-boot.img
        U-Boot 2013.07-dirty (Oct 08 2013 - 16:07:23)
        OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
        OMAP3 Beagle board + LPDDR/NAND
        I2C: ready
        DRAM: 512 MiB
        NAND: 0 MiB
        MMC: OMAP SD/MMC: 0
        *** Warning - readenv() failed, using default environment
        In: serial
        Out: serial
        Err: serial 
        Beagle xM Rev C 
        No EEPROM on expansion board 
        No EEPROM on expansion board 
        i2c_write: pads on bus 0 probably not configured (status=0x10) 
        Die ID #63b000029ff80000016849a90102c020
        i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
        i2c_write: pads on bus 0 probably not configured (status=0x10)
        i2c_read (addr phase): pads on bus 0 probably not configured (status=0x10)
        i2c_write: pads on bus 0 probably not configured (status=0x10)
        musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
        musb-hdrc: MHDRC RTL version 1.800 
        musb-hdrc: setup fifo_mode 4
        musb-hdrc: 28/31 max ep, 16384/16384 memory
        USB Peripheral mode controller at 480ab000 using PIO, IRQ 0
        Net: usb_ether
        Hit any key to stop autoboot: 0 
        i2c_write: pads on bus 0 probably not configured (status=0x10)
        Could not write vsel to reg 85 (2)
        mmc0 is current device
        i2c_write: pads on bus 0 probably not configured (status=0x10)
        Could not write vsel to reg 85 (2)
        gpio: pin 173 (gpio 173) value is 0
        gpio: pin 4 (gpio 4) value is 0
        SD/MMC found on device 0
        reading uEnv.txt
        707 bytes read in 3 ms (229.5 KiB/s)
        Importing environment from mmc ...
        Checking if uenvcmd is set ...
        Running default loadzimage ...
        1. Hi Vikrant,

          I'm not sure what your missing, as it did load the uEnv.txt off the microSD card.  However it did not timeout when searching for the zImage, so it could be a simple power problem.  Either way as currently written the directions on the wiki page work fine, see my bootlog here: bbxm-ubuntu-3.9.11-x5.log



          1. Hi Robert,

            Thanks for your reply.

            I have one more observation - i observed that the serial connection (tty.USB0 in my case, as i am using serial to USB cable) is getting disconnected few times when the it stucks at "Running default loadzimage".

            Do you have any input on this regard.




            1. It's either broken hardware, or you've found a kernel bug. So first, if using a hub, try without, or a different port.  Then try upgrading your kernel.  In the lab here, iI use these ftdi usb to serial adapters.



  13. I'm confused by the steps regarding the linux kernel branch. There is specific instruction for checkout of 3.9.x, but then reference to checkout of 3.11.x but the following command is simply "".

    When I try to checkout 3.11.x, it complains below.   I plow ahead, but I guess my main concern is that latter device tree references are to 3.11.x exclusively.

    jsmyth@ubuntu:~/beagleboard_xm/kernel_build_rcn$ git clone git://
    Cloning into 'stable-kernel'...
    remote: Counting objects: 10174, done.
    remote: Compressing objects: 100% (3812/3812), done.
    remote: Total 10174 (delta 6604), reused 9904 (delta 6338)
    Receiving objects: 100% (10174/10174), 13.45 MiB | 561 KiB/s, done.
    Resolving deltas: 100% (6604/6604), done.
    jsmyth@ubuntu:~/beagleboard_xm/kernel_build_rcn$ cd stable-kernel/
    jsmyth@ubuntu:~/beagleboard_xm/kernel_build_rcn/stable-kernel$ git checkout origin/v3.11.x -b tmp
    fatal: git checkout: updating paths is incompatible with switching branches.
    Did you intend to checkout 'origin/v3.11.x' which can not be resolved as commit?
    jsmyth@ubuntu:~/beagleboard_xm/kernel_build_rcn/stable-kernel$ git checkout origin/v3.9.x -b tmp
    Branch tmp set up to track remote branch v3.9.x from origin.
    Switched to a new branch 'tmp'
    jsmyth@ubuntu:~/beagleboard_xm/kernel_build_rcn/stable-kernel$ git checkout origin/v3.11.x -b tmp
    fatal: git checkout: updating paths is incompatible with switching branches.
    Did you intend to checkout 'origin/v3.11.x' which can not be resolved as commit?


    1. Ah, maybe they are two kernel versions?  "Old Board File Tree" 3.9.x versus (newer?) "Device Tree" 3.11.x.

      So, what's the difference?

      i have the BeagleboardXm revC.  

      1. Read that section again.. The v3.9.x branch is based in the "old" git:// repo, whereas v3.11.x branch is in the unified device tree only git:// repo.

        The difference is as stated, board files vs Device Tree.

        Beagle xM Board File:

        Beagle xM Device Tree:

        Both of which can boot the kernel right now, but all the board-* files are being purged from the arm directory as the device tree version replaces their functionality.


  14. Hi,

    I successfully built and run for a beagle-xm rev c a 3.13-rc5 uImage + device tree, which worked out of the box.

    1) hacked build_kernel like this:

            #uImage, if you really really want a uImage, zreladdr needs to be defined on the build line going forward...
    -       #image="uImage"
    -       #address="LOADADDR=${ZRELADDR}"
    +       ZRELADDR="0x80008000"
    +       image="uImage"
    +       address="LOADADDR=${ZRELADDR}"


    2) loaded it in u-boot like this:

    setenv bootfile 3.13.0-rc5-armv7-x5.uImage
    setenv fdtfile omap3-beagle-xm-c.dtb
    run loadimage
    run loadfdt
    run mmcargs
    bootm ${loadaddr} - ${fdtaddr}

    This works, but...

    If I do the same thing with 3.13-rc7 uImage it gets stuck:

    ## Booting kernel from Legacy Image at 80200000 ...

       Image Name:   Linux-3.13.0-rc7-armv7-x7

       Image Type:   ARM Linux Kernel Image (uncompressed)

       Data Size:    4104560 Bytes = 3.9 MiB

       Load Address: 80008000

       Entry Point:  80008000

       Verifying Checksum ... OK

    ## Flattened Device Tree blob at 80f80000

       Booting using the fdt blob at 0x80f80000

       Loading Kernel Image ... OK

       Using Device Tree in place at 80f80000, end 80f87779


    Starting kernel ...


    It might have to do with the increased kernel size?











    1. It's working here in my dev branch (no changes from the v3.13.x branch) using zImage's so something is wrong with the uImage..

      U-Boot SPL 2013.10-00015-g0880266 (Nov 08 2013 - 16:10:03)
      reading u-boot.img
      reading u-boot.img
      U-Boot 2013.10-00015-g0880266 (Nov 08 2013 - 16:10:03)
      OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 Ghz
      OMAP3 Beagle board + LPDDR/NAND
      I2C:   ready
      DRAM:  512 MiB
      NAND:  0 MiB
      MMC:   OMAP SD/MMC: 0
      *** Warning - readenv() failed, using default environment
      In:    serial
      Out:   serial
      Err:   serial
      Beagle xM Rev C
      No EEPROM on expansion board
      No EEPROM on expansion board
      Die ID #346800229ff80000016830c41701000e
      Net:   usb_ether
      Hit any key to stop autoboot:  1  0 
      mmc0 is current device
      gpio: pin 173 (gpio 173) value is 0
      gpio: pin 4 (gpio 4) value is 0
      SD/MMC found on device 0
      reading uEnv.txt
      945 bytes read in 3 ms (307.6 KiB/s)
      Loaded environment from uEnv.txt
      Importing environment from mmc ...
      Checking if uenvcmd is set ...
      Running uenvcmd ...
      reading zImage
      4106376 bytes read in 254 ms (15.4 MiB/s)
      reading initrd.img
      2969326 bytes read in 184 ms (15.4 MiB/s)
      reading /dtbs/omap3-beagle-xm.dtb
      18298 bytes read in 9 ms (1.9 MiB/s)
      ## Error: "expansion_args" not defined
      Kernel image @ 0x80300000 [ 0x000000 - 0x3ea888 ]
      ## Flattened Device Tree blob at 815f0000
         Booting using the fdt blob at 0x815f0000
         Using Device Tree in place at 815f0000, end 815f7779
      Starting kernel ...
      [    0.000000] Booting Linux on physical CPU 0x0
      [    0.000000] Initializing cgroup subsys cpuset
      [    0.000000] Initializing cgroup subsys cpu
      [    0.000000] Initializing cgroup subsys cpuacct
      [    0.000000] Linux version 3.13.0-rc7-armv7-devel-r58 (voodoo@hades) (gcc version 4.8.2 20131014 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.10 - Linaro GCC 2013.10) ) #1 SMP Wed Jan 8 14:26:17 CST 2014
      [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
      [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
      [    0.000000] Machine model: TI OMAP3 BeagleBoard xM
  15. The zImage gets stuck as well:

    Note that I use mainline U-Boot without any patches (and this works for 3.13-rc5) and no uEnv.txt, but what you see below.

    U-Boot 2013.10 (Dec 23 2013 - 22:57:20)
    OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 1 Ghz
    OMAP3 Beagle board + LPDDR/NAND
    I2C:   ready
    DRAM:  512 MiB
    NAND:  0 MiB
    MMC:   OMAP SD/MMC: 0
    *** Warning - readenv() failed, using default environment
    In:    serial
    Out:   serial
    Err:   serial
    Beagle xM Rev C
    No EEPROM on expansion board
    Die ID #595800029ff80000016849a906017007
    Net:   usb_ether
    Hit any key to stop autoboot:  0
    OMAP3 # setenv bootfile 3.13.0-rc7-armv7-x7.zImage
    OMAP3 # setenv fdtfile omap3-beagle-xm-c.dtb
    OMAP3 # run loadimage
    4104512 bytes read in 281 ms (13.9 MiB/s)
    OMAP3 # run loadfdt
    18298 bytes read in 29 ms (615.2 KiB/s)
    OMAP3 # run mmcargs
    OMAP3 # bootz ${loadaddr} - ${fdtaddr}
    Kernel image @ 0x80200000 [ 0x000000 - 0x3ea140 ]
    ## Flattened Device Tree blob at 80f80000
       Booting using the fdt blob at 0x80f80000
       Using Device Tree in place at 80f80000, end 80f87779
    Starting kernel ...


    As far as I can see you load fdt and kernel to different addresses. I'll try this as well.


  16. The problem was with the addresses.

    This works for me: 

    setenv bootfile 3.13.0-rc7-armv7-x7.zImage
    setenv loadaddr 0x80300000
    run loadimage
    setenv fdtfile omap3-beagle-xm-c.dtb
    setenv fdtaddr 0x815f0000
    run loadfdt
    run mmcargs
    bootz ${loadaddr} - ${fdtaddr}
    setenv bootfile 3.13.0-rc7-armv7-x7.uImage
    setenv loadaddr 0x80300000
    run loadimage
    setenv fdtfile omap3-beagle-xm-c.dtb
    setenv fdtaddr 0x815f0000
    run loadfdt
    run mmcargs
    bootm ${loadaddr} - ${fdtaddr}




    1. Ah.. i'm always using 0x80300000 over u-boot's default, i should just add that to the u-boot patch..

  17. Hey Robert, thanks for the guide. I also ran into the problems with the boot hanging at Starting Kernel... I tried Robert Berger's solution for zImage and it worked for me. How would I go about putting those addresses into u-boot so I don't have to enter them on each boot?

    Also, I am attempting to write a kernel module to use the camera port as GPIO, and the call to request_mem_region fails. This implies that some other process has already requested this block, is there a way to detect which process is reserving the pin config and bank memory regions? I have already tried removing all the currently inserted modules and inserting the module again, and I run into the same problem.

    1. Hi Alan,

      When I first converted the directions over for v2014.01 this morning, I initially missed the address location change.  I just fixed it up 5 hours ago.

      Is this request_mem_region with v3.7.x or v3.13.x?

      1. That patch fixed it, boots straight away now, thanks!

        I'm using the Device tree kernel, 3.13.x


    Hi, guys!

    I followed the instructions to boot the beagle board, patched the u-boot as well as Robert Berger's guide to set the address.

    But my zImage still gets stuck:


    U-Boot SPL 2014.01-dirty (Feb 19 2014 - 10:47:44)

    reading u-boot.img

    reading u-boot.img



    U-Boot 2014.01-dirty (Feb 19 2014 - 10:47:44)


    OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 MHz

    OMAP3 Beagle board + LPDDR/NAND

    I2C:   ready

    DRAM:  256 MiB

    NAND:  256 MiB

    MMC:   OMAP SD/MMC: 0

    *** Warning - bad CRC, using default environment


    In:    serial

    Out:   serial

    Err:   serial

    Beagle Rev C4

    Timed out in wait_for_event: status=0000

    Check if pads/pull-ups of bus 1 are properly configured

    No EEPROM on expansion board

    Timed out in wait_for_event: status=0000                                        

    Check if pads/pull-ups of bus 1 are properly configured                         

    No EEPROM on expansion board                                                    

    Die ID #579a0004000000000403951c0700c014                                        

    Net:   usb_ether                                                                

    Hit any key to stop autoboot:  0                                                

    mmc0 is current device                                                          

    gpio: pin 173 (gpio 173) value is 1                                             

    gpio: pin 7 (gpio 7) value is 0                                                 

    SD/MMC found on device 0                                                        

    reading uEnv.txt                                                                

    63 bytes read in 2 ms (30.3 KiB/s)                                              

    Loaded environment from uEnv.txt                                                

    Importing environment from mmc ...                                              

    Checking if lcdcmd is set ...                                                   

    Checking if uenvcmd is set ...                                                  

    Running default loadimage ...                                                   

    reading /zImage                                                                 

    4196744 bytes read in 311 ms (12.9 MiB/s)                                       

    reading /dtbs/omap3-beagle.dtb                                                  

    17618 bytes read in 9 ms (1.9 MiB/s)                                            

    Booting from mmc ...                                                            

    Kernel image @ 0x80300000 [ 0x000000 - 0x400988 ]                               

    ## Flattened Device Tree blob at 815f0000                                       

       Booting using the fdt blob at 0x815f0000                                     

       Using Device Tree in place at 815f0000, end 815f74d1                         


    Starting kernel ...                                  


    Is there any other issue to cause this problem?


    Thanks a lot!



  19. Hello,

    May I ask a specific question in this comment area?

    I have an old BeagleBoard rev. B6 and trying to run the latest kernel from git://  However, I saw some warnings especially around omap_hsmmc and frequently failed to read MMC.

    I 'git checkout'ed origin/v3.13.x and finally built the kernel 3.13.5-armv7-x11 with linaro-1.13.1-4.8-2013.10.  I haven't modified .dts at all and using the built omap3-beagle.dtb.

    FYI, the very beginning part of the kernel message is as following.

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 3.13.5-armv7-x11 (yokoyama@ubuntu) (gcc version 4.8.2 20131014 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.10 - Linaro GCC 2013.10) ) #1 SMP Tue Feb 25 22:08:13 JST 2014
    [    0.000000] CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
    [    0.000000] Machine model: TI OMAP3 BeagleBoard
    [    0.000000] Memory policy: Data cache writeback
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] OMAP3430/3530 ES2.1 (l2cache iva sgx neon isp )

    And in the boot process I saw the following messages and finally encountered MMC warnings.

    [    4.016235] omap_hsmmc 4809c000.mmc: pins are not configured from the driver
    [    4.024261] musb_bus_suspend 2457: trying to suspend as a_wait_vrise while active
    [    4.032653] musb_bus_suspend 2457: trying to suspend as a_wait_vrise while active

    Finally I saw the following errors very often and it failed boot due to the MMC read error, I guess.  FYI, the kernel 3.3.1 from git clone git:// is working in anyway so I think the SD card itself is okay.  (Moreover, I tried several SD cards and saw the same error.)

    [    4.769989] mmcblk0: error -84 transferring data, sector 102232, nr 264, cmd response 0x900, card status 0xb00

    In addition, I'm curious to know why I saw the following warning.  Is this a critical warning?

    [    0.075683] ------------[ cut here ]------------
    [    0.075744] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2534 _init+0x37c/0x3c4()
    [    0.075744] omap_hwmod: ssi: doesn't have mpu register target base
    [    0.075744] Modules linked in:
    [    0.075775] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.13.5-armv7-x11 #1
    [    0.075836] [<c001422c>] (unwind_backtrace+0x0/0xdc) from [<c0010f9c>] (show_stack+0x10/0x14)
    [    0.075897] [<c0010f9c>] (show_stack+0x10/0x14) from [<c076a64c>] (dump_stack+0x70/0x8c)
    [    0.075927] [<c076a64c>] (dump_stack+0x70/0x8c) from [<c003c1a0>] (warn_slowpath_common+0x64/0x88)
    [    0.075958] [<c003c1a0>] (warn_slowpath_common+0x64/0x88) from [<c003c1f0>] (warn_slowpath_fmt+0x2c/0x3c)
    [    0.075988] [<c003c1f0>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0af720c>] (_init+0x37c/0x3c4)
    [    0.076019] [<c0af720c>] (_init+0x37c/0x3c4) from [<c0028650>] (omap_hwmod_for_each+0x38/0x60)
    [    0.076049] [<c0028650>] (omap_hwmod_for_each+0x38/0x60) from [<c0af76e4>] (__omap_hwmod_setup_all+0x24/0x40)
    [    0.076080] [<c0af76e4>] (__omap_hwmod_setup_all+0x24/0x40) from [<c000891c>] (do_one_initcall+0x94/0x130)
    [    0.076110] [<c000891c>] (do_one_initcall+0x94/0x130) from [<c0ae1cb0>] (kernel_init_freeable+0x1ac/0x274)
    [    0.076141] [<c0ae1cb0>] (kernel_init_freeable+0x1ac/0x274) from [<c07639f8>] (kernel_init+0x8/0x100)
    [    0.076171] [<c07639f8>] (kernel_init+0x8/0x100) from [<c000da18>] (ret_from_fork+0x14/0x3c)
    [    0.076232] ---[ end trace 9970e09bfecd081b ]---

    I'm afraid I only have this revision of BeagleBoard so I have no way to compare it with other revisions of BeagleBoard.

    Any suggestion would be highly appreciated.

    Atsushi Yokoyama

    1. That board has an older silicon with a known mmc multi transfer bug. In the older board file based kernels, we could detect this condition and disable that specific mmc feature.  With device tree's, this is currently not possible.


  20. Hi Robert,

    Thank you very much for your prompt reply.

    OK.  I understood that the device tree version didn't support the old silicon.  I will evaluate the non-device tree versions.

    By the way, I'm afraid may I ask which part of the source code corresponds to the MMC multi transfer bug (or errata)?  I would like to understand the corresponding workaround and reflect it to the device tree kernels by myself, if possible.

    Thanks and Regards,

  21. Hi Robert,

    Thank you for the helpful information.  I think I found the corresponding code as following.

            if (host->pdata->controller_flags & OMAP_HSMMC_BROKEN_MULTIBLOCK_READ) {
                    dev_info(&pdev->dev, "multiblock reads disabled due to 35xx erratum; MMC read performance may suffer\n");
                    mmc->caps2 |= MMC_CAP2_NO_MULTI_READ;

    I will try to investigate how it works.

    Thank you very much!


  22. Beagle-xm C1, 3.13.x, 1 GHz operation


    I compiled 1 in order to check the CPU frequency and on first sight it looks good:

    root@beagle-xm-ml:~# cpupower frequency-info

    analyzing CPU 0:

      driver: generic_cpu0

      CPUs which run at the same hardware frequency: 0

      CPUs which need to have their frequency coordinated by software: 0

      maximum transition latency: 300 us.

      hardware limits: 300 MHz - 1000 MHz

      available frequency steps: 300 MHz, 600 MHz, 800 MHz, 1000 MHz

      available cpufreq governors: conservative, ondemand, userspace, powersave, performance

      current policy: frequency should be within 300 MHz and 1000 MHz.

                      The governor "performance" may decide which speed to use

                      within this range.

      current CPU frequency is 600 MHz (asserted by call to hardware).

      cpufreq stats: 300 MHz:0.00%, 600 MHz:0.00%, 800 MHz:0.00%, 1000 MHz:100.00%  (3)


    ... but now  that I try to set the frequency to 1 GHz it does not work ...

    root@beagle-xm-ml:~# cpupower frequency-set  -d 1000000 -u 1000000 -g performance          

    Setting cpu: 0

    root@beagle-xm-ml:~# cpupower frequency-info                                                            

    analyzing CPU 0:

      driver: generic_cpu0

      CPUs which run at the same hardware frequency: 0

      CPUs which need to have their frequency coordinated by software: 0

      maximum transition latency: 300 us.

      hardware limits: 300 MHz - 1000 MHz

      available frequency steps: 300 MHz, 600 MHz, 800 MHz, 1000 MHz

      available cpufreq governors: conservative, ondemand, userspace, powersave, performance

      current policy: frequency should be within 1000 MHz and 1000 MHz.

                      The governor "performance" may decide which speed to use

                      within this range.

      current CPU frequency is 600 MHz (asserted by call to hardware).

      cpufreq stats: 300 MHz:0.00%, 600 MHz:0.00%, 800 MHz:0.00%, 1000 MHz:100.00%  (5)



    root@beagle-xm-ml:~# cpupower frequency-set -f 1000000               

    Setting cpu: 0

    does not help

    root@beagle-xm-ml:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed


    Something is strange here, since we have:

    current CPU frequency is 600 MHz (asserted by call to hardware).

    but also:

    cpufreq stats: 300 MHz:0.00%, 600 MHz:0.00%, 800 MHz:0.00%, 1000 MHz:100.00%  (11)

    Is there any other thing I can do to figure out if it runs indeed on 1GHz?



    PS: This works as advertised on the Beagle Bone Black.




    1. I know that's not a scientific solution and inconclusive, but I ran cyclictest 1 and the new graphs (with 1GHz) are slightly improved compared to those I made before, which might indicate that the board actually runs now at 1GHz.




      1. In v3.13.x, we are using a very early version of TI's clock conversion patchset. With v3.14-rcX the updated version hit mainline. You should see better diagnostic reporting with the v3.14.x branch.


    1. Hi,

      If I exclude omapdrm I manage to boot, but there is still the "Division by zero in kernel" and and a few errors and probe deferrals like before.



  23. Upgraded to 3.14.1 and still see the Division by zero in kernel:

    [    2.777862] OMAP DSS rev 2.0
    [    2.782684] Division by zero in kernel.
    [    2.782714] CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.1 #1
    [    2.782775] [<c0015894>] (unwind_backtrace) from [<c0012fa8>] (show_stack+0x20/0x24)
    [    2.782806] [<c0012fa8>] (show_stack) from [<c0875acc>] (dump_stack+0x20/0x28)
    [    2.782836] [<c0875acc>] (dump_stack) from [<c0012ee0>] (__div0+0x20/0x28)
    [    2.782867] [<c0012ee0>] (__div0) from [<c042a4a4>] (Ldiv0+0x8/0x10)
    [    2.782897] [<c042a4a4>] (Ldiv0) from [<c04b37b4>] (ti_abb_probe+0x804/0xa94)
    [    2.782958] [<c04b37b4>] (ti_abb_probe) from [<c051cc54>] (platform_drv_probe+0x28/0x58)
    [    2.782989] [<c051cc54>] (platform_drv_probe) from [<c051adb8>] (driver_probe_device+0x19c/0x3fc)
    [    2.783020] [<c051adb8>] (driver_probe_device) from [<c051b0e4>] (__driver_attach+0x78/0x9c)
    [    2.783020] [<c051b0e4>] (__driver_attach) from [<c0518f30>] (bus_for_each_dev+0x84/0x98)
    [    2.783050] [<c0518f30>] (bus_for_each_dev) from [<c051a688>] (driver_attach+0x28/0x30)
    [    2.783081] [<c051a688>] (driver_attach) from [<c051a224>] (bus_add_driver+0x128/0x224)
    [    2.783111] [<c051a224>] (bus_add_driver) from [<c051b97c>] (driver_register+0xc8/0x110)
    [    2.783142] [<c051b97c>] (driver_register) from [<c051cc18>] (__platform_driver_register+0x58/0x6c)
    [    2.783172] [<c051cc18>] (__platform_driver_register) from [<c0d5981c>] (ti_abb_driver_init+0x18/0x20)
    [    2.783203] [<c0d5981c>] (ti_abb_driver_init) from [<c00089b8>] (do_one_initcall+0x118/0x20c)
    [    2.783233] [<c00089b8>] (do_one_initcall) from [<c0d0bd50>] (kernel_init_freeable+0x170/0x238)
    [    2.783264] [<c0d0bd50>] (kernel_init_freeable) from [<c0869244>] (kernel_init+0x1c/0xf4)
    [    2.783294] [<c0869244>] (kernel_init) from [<c000f148>] (ret_from_fork+0x14/0x20)
    [    2.783599] abb_mpu_iva: 1012 <--> 1380 mV

    Do you know what I could do against this?




  24. Hello  Robert,


    I am currently trying it install the Kernel on a beagle-bone sd-card, but eventually i am having the following problem:


    robert@robert-VirtualBox:~/beaglebone/linux-dev$ ./tools/
    [sudo] password for robert:

    I see...
    fdisk -l:
    Disk /dev/sda: 53.7 GB, 53687091200 bytes
    Disk /dev/sdb: 7969 MB, 7969177600 bytes

    sda 8:0 0 50G 0 disk
    ├─sda1 8:1 0 48G 0 part /
    ├─sda2 8:2 0 1K 0 part
    └─sda5 8:5 0 2G 0 part [SWAP]
    sdb 8:16 1 7.4G 0 disk
    ├─sdb1 8:17 1 70.6M 0 part /home/robert/beaglebone_DK/linux-dev/deploy/disk
    └─sdb2 8:18 1 3.3G 0 part /media/robert/Angstrom
    Are you 100% sure, on selecting [/dev/sdb] (y/n)? y

    Debug: Existing Partition on drive:

    Disk /dev/sdb: 7969 MB, 7969177600 bytes
    246 heads, 62 sectors/track, 1020 cylinders, total 15564800 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    Device Boot Start End Blocks Id System
    /dev/sdb1 * 63 144584 72261 c W95 FAT32 (LBA)
    /dev/sdb2 147456 7127039 3489792 83 Linux

    Unmounting Partitions
    Starting Partition Search
    Trying: [/dev/sdb1]
    Partition: [/dev/sdb1] trying: [vfat], [ext4]
    Partition: [vfat]
    Installing 3.2.42-psp27 to /dev/sdb1
    Image Name: 3.2.42-psp27
    Created: Mon May 19 13:51:57 2014
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2714816 Bytes = 2651.19 kB = 2.59 MB
    Load Address: 80008000
    Entry Point: 80008000
    ‘/home/robert/beaglebone/linux-dev/deploy/3.2.42-psp27.zImage’ -> ‘/home/robert/beaglebone/linux-dev/deploy/disk/zImage’
    cp: writing ‘/home/robert/beaglebone/linux-dev/deploy/disk/zImage’: No space left on device
    cp: failed to extend ‘/home/robert/beaglebone/linux-dev/deploy/disk/zImage’: No space left on device


    Am I missing something? Your help would be much appreciated!


    Best Regards,

    Robert Grech 

    1. Hi Robert,

      cp: writing ‘/home/robert/beaglebone/linux-dev/deploy/disk/zImage’: No space left on device

      Your out of disk space on your microSD card, please "re-read" the microSD setup directions: BeagleBone#SetupmicroSD/SDcard

      PS, please use the BeagleBone Comments page for BeagleBone comments.


      1. Ohh I'm sorry for posting here. I'm so stressed right now that I didn't even realize. I will post again in the right page.



        1. It's fine, as I maintain all these pages, but for users searching a similar problem, they might get confused.  Just remember i target Debian/Ubuntu so these scripts are not supported with Angstrom. You need to place the kernel files exactly where they are are needed in Angstrom.


          1. I will pay more attention next time (smile)  Sorry agian


            My problem is that this is not my field and I'm getting confused easily. Right now I am working on my thesis and my last task is to run the Ubuntu OS on the Beagle-bone, because certain libraries that I'm using are only compatible with Ubuntu as far as i know. Therefore as i said before, I need to install Ubuntu on the Beagle-bone, but at the same time I still need to have the same capabilities of Angstrom (such as access to I/0 pins) So i was trying to build this kernel and put it with the current kernel that the Beagle-bone has. But an error that there isn't enough space is occurring


            When I was searching regarding this matter I found the same problem were you said "Angstrom loads everything > from the /dev/sdb2 now, and fills up /dev/sdb1 with drivers/etc" (  I tried to find a patch and failed, and here I am. If you could guide me you will make my week!


            One more thing, I was following a tutorial by Derek Molloy ), apart from the helpful information that you provided.


            PS. If you want me to re-comment this in the right place don't hesitate to ask



            Robert Grech

            1. Well, Koen and I shared v3.2.x/v3.8.x development between Angstrom & Ubuntu/Debian, so the kernel is the "same" source.  I've already replaced the default "Angstrom" install with my debian build: so it has the exact same capabilities as the old Angstrom install.

              There is no patch, for the "./tools/" script, it will never support Angstrom.  That script is buried under "./tools/" for my usage. Copy the kernel files to the correct location like shown here: BeagleBone#CopyKernelFiles but instead where Angstrom needs them.

              PS: (video) So you followed this wiki (which uses Ubuntu/Debian) and Derek's tutorial (which uses Ubuntu), yet you still have Angstrom installed on your microSD card. Angstrom is not supported by my scripts.


              1. Now I understand. Thanks very much for your prompt response. Much appreciated



                Robert Grech

  25. Hi,

      I've tried device tree 3.14 on the BeagleBoard C4.

    Frequency is limited to 600Mhz and I get this error message periodically (once per 10 seconds) on the serial console:

    omap_i2c 48060000.i2c: timeout waiting on XUDF bit

    1. Hi Cristiano,

      I've noticed this on my C4's too, haven't been able to finish a bisect run yet to find the commit. But it seems to be between v3.13 and v3.14

      Yeah, it's still limited to 600Mhz, we need the opp-modifier to be accepted into mainline, before we can properly enable 720Mhz mode.


      1. Hi Robert,
        Thanks for the quick reply.
        Another thing I noticed is that it gets stuck if I push the reset button (I actually need to push also the user button since I've an old u-boot on the NAND and I need to force booting from the SD).
        It does not even boot u-boot.

        I also had problems with the instructions in the wiki to prepare the SD card but I don't remember why now. The here worked for me:

        AFAIK the latest known working kernel running at 720MHz is the 3.0.14 in the "latest" Angstrom distribution:

        And here there is also a 3.0.17 kernel (not tested):

        It looks like that DSP support has been abandoned in these images.

        Unfortunately the latest Angstrom image above cannot be upgraded since the Angstrom feeds repository does not exist anymore and you cannot install packages with opkg.

        Rebuilding the same image from sources is not so easy because they do not tag anything and so I don't know what commit(s) to checkout.

        I don't even know if it is an hard-float image.

        I wonder if it's possible to run the Angstrom kernel with the Debian 7.5 rootfs of your wiki. I guess I can try.

        1. Hi Cristiano,

          Depending on u-boot version, you can just clear out the nand via: 

          nand erase.chip

          There's actually broken version of "sfdisk" and "fdisk" in the wild, lately "sfdisk" has been more consistently "working" thus I'm using that now. The version of sfdisk with problems is: util-linux-ng 2.17.2

          Correct, the old Angstrom v3.0.x release has 720Mhz, however those "cpufreq" patches never made it up stream in it's current form. With the new opp/clock/etc setup in mainline, they need to be completely rewritten.

          The last people working on mainlining the dsp for the omap3 family was Nokia, for their Nxyz phones and Maego.  both those projects closed up in the last 2 or so years.

          It should work, the biggest problem will be finding a still working gcc based cross compiler for v3.0.x, this one 'should' work:

          btw: kernel wise, floating point is not allowed, so a kernel built with a "softfp" gcc will run just fine on a "hardfp" system (if you look deep during the make process, it always uses softfp flags even with a hardfp gcc). Otherwise i agree on the tagging, that's why i sometimes overtag my kernel branches.


          1. Hi Robert,

            Thanks! It boots.

            I've just put the Angstrom 3.0.14+ kernel uImage on the boot partition.

            my uEnv.txt is:

            optargs=quiet init=/lib/systemd/systemd


            uenvcmd=run loadimage; run mmcargs; bootm ${loadaddr}


            I also copied the Angstrom 3.0.14+ modules to the rootfs partition.

            Debian just runs.

            Now I need to find a way to get the Angstrom 3.0.14+ kernel sources in case I need to recompile it.

            BTW, I got a huge kernel panic on shutdown:


            1. Haven't seen that error in a long time, I know we fixed it, but not sure which commits.

              1. It goes better with the 3.0.17 kernel+modules here:

                No more kernel panics.

                I had to do a depmod and create the config file /etc/default/cpufrequtils and setting the governor to "performace" to set the frequency to 720MHz (defaults to 125MHz):


                I need to find the Angstrom commit for this kernel

  26. Hi Robert,

    Can you please tell me how can I specify whether to compile the kernel for Beagleboard OR Beagleboard-Xm. I could see that by default kernel loads "omap3-beagle.dtb". How can I modify it to load "omap3-beagle-xm.dtb" ?.


    Kiran G


    1. Hi Kiran,

      Do you actually have an xM? The correct board *.dtb file is chosen based on a set of gpio on the beagle/beagle-xm.;a=blob;f=include/configs/omap3_beagle.h;hb=HEAD#l175


      1. Thanks a lot Robert.

      2. Hi Robert,

        Actually I am trying to run your kernel+rootfs on Panther board which is based  on AM37x (like beagleboard Xm). We are able to bring up linux, but we are facing some issues with our wilink8 (wl18xx) device. Our kernel version is 3.9.

        This is our  post in TI forum regarding our issue:

        We tried to determine the wilink8 module version using "strings" command as describe in this link. But we are not getting any valid output for that.  The wilink8  driver in your kernel is coming from the upstream kernel right? Any idea how much is TI contributing to these drivers in the mainline?

        Have you tested wilink8 in any of the  platforms you support?

        If you can help us out, that would be great.


        Kiran G





  27. Hi Robert,


    According to this TI forum post, wilink6 driver doesn not support device tree. But I have  read kernel  documentation  like this which says that wilink6 driver supports device tree.

    Can you please let me know the status of wilink6 and wilink8 drivers in your kernel?

    Kiran G


    1. That is luca's tree, right before he left TI for Intel. Those patches never made it mainline.


  28. Robert,

    I have a Gumstix Over COM, that is similar to the BeagleBoard in that it shares the same SoC.  My question is; do you think the instruction you have provided here for getting Ubuntu/Debian running on the BeagleBoard will work for the Gumstix CoM?  My thoughts are that your instruction might work, but may need to be modified in some areas, but not sure where.  I know Gumstix has a large community dedicated to it's hardware, but I couldn't find any instructions like yours that provide a basic ubuntu/debian server installation.

    1. The "rootfs" listed here are independent of the bootloader/kernel. So as long as you provide the bootloader and a kernel that meets the rootfs's minimal requirements. (the rootfs is usually pretty vocal if your missing something obvious)


      1. Ok, thanks! I will give your instructions a shot.

  29. HI Robert

    I am working on a  custom made board which is similar to beagleboard-xm (same processor and the pins used for necessary interfaces are same). So I used stable-kernel(3.7 branch) from this site.

    But I want to change the serial port settings from UART3 to UART1 (uart1 is the serial console in my board).

    I checked the omap3-beagle.c  file but I couldn't find how to change the uart serial console

    Please advice me on this !!



    1. Hi Kiran,

      First, I must say: the "3.7" branch is eol at this point.

      Next, the kernel is dynamic, it'll dump the serial boot log where every you want it, so just change: console=ttyO2,115200 -> console=ttyO0,115200

      However, u-boot will need a recompile...


      1. Hi Robert

        Thanks for your reply.

        What sould I do ,if I want the same uart3 but the gpio pins of uart3  are different ,

        How can i do that??



  30. Hi Robert

    I've checked the schematics of beagleboard-xm , The OTG pins (usb0hs_dat0-7,clk,stp,nxt,dir) are connected as input to the TPS65950 and which in-turn gives ouptut DP, DN, and ID.

    But I didn't saw any configurations for these pins in the file board-omap3beagle.xm or neither in the omap3-beagle-xm.dts file.

    So just out of curiosity ,how the kernel detetcts the OTG port?

  31. Hi,

    I am following the procedure described here - BeagleBoard  for my custom board referenced from beagleboard rev C4 with some changes int the .dts file

    I am able to get touchscreen LCD working but only command line, is there any way i can get GUI display on my LCD?

    I also tried using file systems having GNOME display manager but no use, getting error related to rtc for one image and other error like some networking related like 'unable to start' at some point and hanging  - ( i didn't take the screen shots of them)


    Rangineni Balu


    1. A gui requires xorg to be setup (aka xorg.conf), under /opt/scripts/graphics/ there is tool:

      Run that to build libdrm/xorg frame buffer driver for the omap3 family.


      1. Dear Robert Nelson,

        I tried the above mentioned script, but i got errors ( i am running debian wheezy )

        Please find the attached file for the logged data of errors



        Rangineni Balu

        1. If you are getting this error, you need to first fix your network connection:

          W: Failed to fetch


          1. Hi,

            Actually the problem is with my company's proxy, now i resolved it.

            I am able to install the packages, but no GUI

            There is one other problem with my board, we modified the omap3-beagle.dts file to enable the usb hub similar to beagle-xm-ab board 

            hsusb2_power: hsusb2_power_reg {
                 compatible = "regulator-fixed";
                 regulator-name = "hsusb2_vbus";
                 regulator-min-microvolt = <3300000>;
                 regulator-max-microvolt = <3300000>;
                 gpio = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* GPIO LEDA */
                 startup-delay-us = <70000>;
                 enable-active-high;   ---> this line i took from xm-ab dts file and included here, 
                 its enabling USB hub, but the problem is spurious restarts when we try to use ethernet
                 like when we are trying to update or install some packages


            At the time of boot the board is getting resetted several times( mostly 4 - 5 times) then start working

            If we remove the "enable-active-high" from the .dts file, there is no problem of spurious restarts but hub is not enabled

            What may be the reason? is there any other place i can enable the USB hub/ethernet without gettting spurious restarts ?


            Rangineni Balu

            1. Well that's expected. You physically inverted the logic to enable the usb power. Now usb power is off. Please your actually errors seen in your console log.


              1. Hi robert,

       is blocked in my office, dmesg  – text file of my console log

                One other problem i had is GUI output on my LCD(600x480) is not properly scaled

                I tried so many resolutions, still no change.

                Lcd output – this is the lcd output i am getting.

                Can you suggest how to change my display settings to fit GUI properly on LCD? 

                Thanks & Regards,

                Rangineni Balasubramanyam


                1. The lcd resolution is setup by the *.dts or the panel driver you enabled in the *.dts


                  1. Hi robert, 

                    I did some change in the .dts file 

                    added this code at the end of the .dts file

                    / {
                    aliases {
                    display0 = &lcd0;

                    lcd0: display@0 {
                    compatible = "panel-dpi";
                    label = "lcd";

                    port {
                    lcd_in: endpoint {
                    remote-endpoint = <&dpi_out>;

                    panel-timing {
                    clock-frequency = <9200000>;
                    hactive = <600>;
                    vactive = <480>;
                    hfront-porch = <8>;
                    hback-porch = <4>;
                      hsync-len = <41>;
                    vback-porch = <2>;
                    vfront-porch = <4>;
                    vsync-len = <10>;

                    //hsync-active = <0>;
                    //vsync-active = <0>;
                    //de-active = <1>;
                    //pixelclk-active = <1>;



                    then i got yellow screen, nothing on the LCD display.

                    If possible can you suggest some changes how to change screen size through .dts or driver  



                    Rangineni Balu

                      1. Hi Robert,

                        I did some changes in the .dts file from the data sheet of the lcd, it is working properly now

                         thank you very much.



                        Rangineni Balu


  32. Hi Robert,

    Now LCD resolution and GUI is working fine,

    but there is problem with the touchscreen, i enabled tsc2007 through .dts, we are able to move the cursor pointer on the screen but not able to get taps or touches

    with tslib, everything is fine in case of ts_calibrate and ts_test, but when comes to desktop environment and qt gui application my taps or touches is not working

    ts_test image - IMG_20140926_122412.jpg  working fine with taps

    qt app - IMG_20140926_123533.jpg  not detecting taps

    desktop folder not selecting - IMG_20140926_123616.jpg

    log_msg_x_server – this is the log of /var/log/Xorg.0.log


    Do i have to change anything in the xorg.conf or 10-evdev.conf files?

    How to get taps or touches detected?


    Rangineni Balu


  33. Hi, Just loaded 3.16.3-armv7-x4 on a bb-xm.  System seems to boot fine, but the following messages are continually scrolling:

    [ 107.664245] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.676025] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.686309] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.694152] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.706085] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.716369] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active
    [ 107.724212] musb_bus_suspend 2483: trying to suspend as a_wait_bcon while active

    Ironically, MUSB is what I'm trying to get working on the 3730 (smile)

    I'll test 3.15 and see how that goes.


  34. aha, I had a USB Host adapter attached to the OTG port, which grounds the 5th pin.  After removing that, the above messages stop.  Continuing testing OTG ...

  35. testing w/ 3.15 now ... If I plug the USB Host apdater into the OTG port after the system boots, it seems to work fine – I can plug in a flash drive and it works!  Now, to figure out how to get rid of the error message if its plugged in on boot.


  36. Hi,

    Is anyone experiencing problems with userspace GPIO control on BB-xM? I am using a recent kernel 3.16.4 built about a week ago following instructions here.

    I am trying to control expansion header (P9) pin 22, which is GPIO_157, which has PADCONF register at 0x4800218E.

    Looking at the entry for 0x4800218e in /sys/kernel/debug/pinctrl/48002030.pinmux/pins, I see that the mux settings are 0x1c already, which says to me that this pin is already configured as a GPIO (mode 4, also with pull-up active if pin is an input)

    But I can't get anything to happen when I try to control the pin via /sys/class/gpio

    • cd /sys/class/gpio
    • echo 157 > export
    • cd gpio157
    • echo "out" > direction
    • echo "0" > value
    • echo "1" > value

    The pin level is always HIGH (consistent with pull-up setting in the PADCONF register) regardless of what I write to 'value'.

    I have also tried unsuccessfully with P9.24 (GPIO_168, PADCONF=0x480021be) (I modified the device tree to configure the PADCONF register to 0x4 during boot, and then verified that it had been applied by looking at /sys/kernel/debug/48002030.pinmux/pins).

    What I really want to do is control one of these pins from a custom kernel device driver for a usb camera (using gpio_request_one, gpio_set_value, etc). After a few days having no luck getting GPIO control to work in my kernel driver, I went back to userspace and found that the standard GPIO mechanism doesn't seem to work there either.

    Does anyone have any insight that they can offer?

    Thanks, Darren

    1. I think I have discovered the reason by looking at /sys/kernel/debug/gpio.

      root@arm:~# cat /sys/kernel/debug/gpio
      GPIOs 0-31, platform/49050000.gpio, gpio:
      GPIOs 32-63, platform/49052000.gpio, gpio:
      GPIOs 64-95, platform/49054000.gpio, gpio:
      GPIOs 96-127, platform/49056000.gpio, gpio:
       gpio-115 (hsusb2_phy          ) out hi    
       gpio-117 (beagleboard::usr1   ) out lo    
       gpio-118 (beagleboard::usr0   ) out lo    
       gpio-125 (sysfs               ) out lo    
      GPIOs 128-159, platform/49058000.gpio, gpio:
       gpio-157 (sysfs               ) out hi    
      GPIOs 160-191, platform/48310000.gpio, gpio:
       gpio-164 (user                ) in  lo IRQ
      GPIOs 1004-1023, platform/twl4030-gpio, twl4030, can sleep:
       gpio-1022 (hsusb2_vbus         ) out hi    


      The mappings from GPIO numbers to GPIO controller addresses in /sys/kernel/debug/gpio do not align with the mappings in the TI and BBxM documentation. E.g.


      • In TI documentation: GPIO5 controller has base address of 0x49056000 and manages gpio_[159:128]
      • However, in /sys/kernel/debug/gpio, the controller at 0x49056000 manages gpios 127:96
      • So e.g.
        • Expansion pin P9.22 ==> gpio_157 (from BBxM manual) ==> gpio-125 (according to /sys/kernel/debug/gpio)
        • And I verified this is the case: when I go via /sys/class/gpio/gpio125, I can successfully control P9.22

      regards, Darren

      1. Hi all,

        what is the reason for this (wrong) mapping and how may it be corrected? I use an old 3.7.10-x10 kernel which does not have this problem, but I would like to upgrade to a newer version ...

        Regards - Jochen


        1. Hi Jochen,

          This is occurred during the conversion from board file's to device tree's for omap3 devices.


          1. Hi Robert,

            just now I have installed the new kernel 4.3.0-rc6-armv7-x0. The wrong mapping as described by Darren is still there. Do you see any chance for fixing this? We can't use a version with wrong gpio mapping in our lectures!

            Regards - Jochen


  37. Hello Robert,


    I am trying to use the DSP on the beagleboard xm. I have installed the ubuntu 14.04 using the preconfigured dspbridge-kernel

    I also cloned the tools into uboot directory and installed the 


    when I run the sudo /etc/init.d/dsp_init start I got an error saying

    tidspbridge: no tidspbridge module

    and when I use lsmod on the terminal, there is no tidspbridge module in list. I  have followed this installation instruction.


    I would appreciate if you could help me with this problem.



    1. Hi Mehrab,



      staging: tidspbridge: remove driver 
      The driver has been broken and disabled for several kernel versions now. It doesn't have a maintainer anymore, and most of the people who've worked on it have moved on. There's also still a long list of issues in the TODO file before it can be moved out of staging. Until someone can put in the work to make the driver work again and move it out of staging, remove it from the kernel.
      1. Thanks for your quick response, I am trying to do some practical work on multicore processing on the beagleboard xm using the DSP and ARM core, thats why I needed to install tidspbridge, is there any other driver that I can use for my research? 


        Many thanks for your help and advice. 


        1. Well, there is the ancient ti 2.6.32 bsp kernel. But honestly, just use any omap4 or later device, as the arm <-> dsp interface is mainline as rpmsg...


          1. Thanks for your time and advice, it was really helpful, as I was thinking I may have done something wrong during the installation of sdcard. 

  38. Hello Robert

    I download the sources as mentioned on the site ( but to boot I followed the steps as follows

     ·         Make ARCH=arm omap2plus_defconfig

    ·         Make ARCH=arm CROSS_COMPILE=/path of the compiler

    ·         I get zImage which I convert to uImage by mkimage tool

    ·         On the SDCard I have two partitions

    o    BOOT: has  MLO, u-boot.img and uImage

    o    Roots : has  ramdisk.gz file system

    ·         The kernel boots with the manual command on U-Boot

    o    Fatload mmc 0 0x80300000 uImage

    o    bootm 0x80300000

    I am using beagle board to boot the image of the kernel

    Issue :

    I am able to boot the kernel image on board when I use the default configurations.

    But I include my LED Driver in menuconfig , and generates zImage from it , I am not able to boot the uImage of that on beagle board.

    It stops at Starting Kernel..................

    What can be the issue? I tried to include other available drivers of framework too. It even does not works with that.

    But it works with default configuration.

    Can you please suggest , how to proceed?

    1. Hi Neha,

      You are only booting with the zImage/uImage. Where did you place the device tree (dtb)?  Support for "board" file kernel is really eol at this point. (it's planned to remove them in the next few kernel releases)

      btw, since it "booted" before your LED change, also enable "earlyprintk" it'll give you more hints over the serial port before your driver brings the board down.


  39. On Behalf of Neha

    Thanks for your inputs

    We are able to boot the uImage with the above steps .

    We are facing a new issues We are trying to use the backlight drivers (gpio_backlight) in drivers/video/backlight folder.  We have enabled in the config file but when we compile we see that probe is not hit . We have put printk but we do not see the print coming while kernel boots. If we do something in gpio_led driver in /drivers/leds we can see the print . Can you help why probe is not hit incase of backlight driver ?

    Just to update you we have in BOOT only MLO,u-bootimg and uImage  The u-boot is compiled with your steps as mentioned in guide

    please help !

    1. First, "board" file's are being replaced by "device tree"'s...  Did you register the gpio_backport in the board file?


  40. Hi All,

    Does anyone know how I can stop the 'fixrtc' option being passed to the kernel at boot time? (I want to use a backup battery for RTC retention)

    Previously I could just manually edit uEnv.txt to remove fixrtc. Now with nothing except the uname_r definition in uEnv.txt it's not clear to me how to remove fixrtc.

    thanks, Darren

    1. It's only defined once:

      Add this to uEnv.txt to overwrite:

      mmcrootfstype=ext4 rootwait


  41. We have registered the gpio_backlight driver in the DT file  Attaching the dt file  You can see the basic entry in line number 46 omap3-beagle-xm.dts. I have attached . It goes like this way

    gpio_backlight {
    	compatible = "gpio-backlight";
    	status = "okay";

    Can you please let us know if the method of entryin DT file  is correct ?

    1. You never setup the pins... From:

      	backlight {
      		status = "okay";
      		compatible = "gpio-backlight";
      		pinctrl-names = "default";
      		pinctrl-0 = <&bbcape_backlight_pins>;
      		gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;


  42. Thanks for your reply  But unfortunately, my probe is not getting called

    I have some questions.

    1) For the Beagle Board xM.  Is the dts file is "omap3-beagle-ab.dts"  or there is some other dts file  ?

    2) Do you I need to make changes in some other file also for the probe to be called apart from dts file?

    3) Is there any specific rule for the dts to be written for BeagleBoard xM ?

    I have another platform (not Beagle) in which I am able to successfully call the probe  successfully. I was wondering what mistake I am doing . I am a new user on the BeagleBoard xM so some question may be related to beginners

    Your support is required


    1. The main dts file for the xM is: "omap3-beagle-xm.dts" the "-ab" variant just reverse's the polarity of the usb hub enable on the older "xM A/xM B" boards.  Thus all real changes should be made to "omap3-beagle-xm.dts".

      The example i previously posted is used in production to drive the backlight for an lcd.


  43. Hi Robert,

    Thanks for this guide!

    I followed the steps for the Debian install and got it booting and online after manually loading the ethernet module.

    The problem I am having is that I get no DVI output apart from the orange gradient screen that flashes for a few seconds at the beginning of boot (while LEDs D6 and D7 are light). After that the monitor goes into power saving mode. I've tried the default uEnv.txt as you suggested above as well as a dvimode I had working with an older version of u-boot. No difference.

    Any ideas?



    1. Is this the original BeagleBoard or the xM? The i2c bus used for the edid register is broken for whatever kernel version i have marked as stable on it's page.  You need to force the edid parameter in /boot/uEnv.txt




      1. Hi Robert, this is an xM. Thanks for the hint, I'll try that next time I get the board near a monitor.

  44. Hi Robert,

    This is a great wiki.Thanks to all the rich and updated information you have put.

    I had a tryst with my BeagleBoard XM rev C.I used Debian 7 rootfs and followed the instruction and it booted successfully.I know there is no GUI on tty7 for it.

    I repeated the process for Ubuntu 14.04.1 and wanted to see the GUI on tty7 .But what I see is a black screen with blinking cursor at the top left.I have connected the display using a HDMI cable.Does the Ubuntu rootfs has the GUI inside it?

    I wanted to install or build the related GUI package if  the ubuntu rootfs doesn't have it?Please confirm

    How can i install or build the related  GUI package for it ,

    apt-get install ubuntu-desktop or Xorg ?Can i build the GUI ubuntu-desktop,Xorg,Xterm remotely with the rootfs with the GUI on my Host computer?I don't think i can use apt-get install as i am behind the proxy.Is it possible to apt-get install GUI on a host computer ?sounds crazy !!

    Also what  will be the password for root for Ubuntu!

    Kindly assist .


    1. The default image does not contain a gui.

      Feel free to install "any" of the <x>buntu-desktop gui's..

      By default you will also have to run this script:

      as ubuntu doesn't properlly add the video driver for the xM.

      Ubuntu by default doesn't have the "root" account enabled.


  45. Can someone verify audio (twl4030/tps65950) working with a DT Kernel? Thanks!

  46. Can you share how to use the Data Display Debugger to debug the kernel source ?

    I have Flyswatter2 debugger connected to BeagleBoardxM

    Has anybody tried earlier,


  47. I am having a very strange issue with a BeagleBoard xM running Ubuntu 14.04 (3.13-0-24-generic #47-Ubuntu). Since upgrading from 12.04 I have had a persistent issue with openssl/gnutls. My typical use-case is running Mutt in a screen session on the BeagleBoard and when downloading large messages (generally >10MB but it happens even for loading the message index) on IMAP over SSL I get decryption errors (specifically "Decryption has failed" with gnutls or "decryption failed or bad record mac" from openssl).

    This also causes long running SSH sessions to abort eventually making any kind of SSH tunneling unreliable.

    I've filed a bug report here:

    However, I was hoping someone else could try to replicate this.

    I can reproduce it by finding the index of a large message (>10MB seems to be the magic number) using Mutt, e.g., 1598, and attempting to log in and retrieve the message with openssl s_client:

    01 LOGIN username password
    03 FETCH 1598 BODY[text]
    04 QUIT

    and then pipe that to openssl s_client:

    cat ssl_test.txt | openssl s_client -ign_eof -crlf -connect -ssl3 | wc

    This will produce:

    3069732960:error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac:s3_pkt.c:520:
     121396  125484 9417749

    I have a feeling it may be related to CPU (decryption?) and network load on the onboard ethernet device, because downloading regular large files (over plain HTTP for example) does not cause any corruption (sha256sum checked). I have vm.min_free_kbytes set to 8192, and have tried increasing it with no improvement.

    I tried another ethernet dongle and that reduced the frequency of the issue significantly but it still occurs occasionally.

    Any ideas on how I can further debug this? Can someone try to reproduce?



  48. Hi Robert,

    A general question – why do you store patches in Git vs simply putting the patched kernel in git, and fetching that?

    Also, how does your kernel compare to


    1. Hi Cliff,

      That setup was the only thing i liked about Angstrom's build system. (wink)  It was useful when sharing 3.2/3.8 tree's with Koen for and still very useful for moving patches around..

      For: branches 3.8/3.14/4.1:



      4.1: (will be moved to )


      1. Asked another way – are the patches found in:

        also found in:

        I'm interested in the 4.1 version.  Trying to understand the general flow of patches.






  49. Hi Robert,

    Thanks for the great information.

    I tried the instructions but on booting the via 4 GB SDMMC i got the logs stuck at some point :


    [    7.032867] mmc0: card never left busy state

    [    7.037353] mmc0: error -110 whilst initializing SD card


    I formatted the SD card again but still I got the above message and the logs hung up on the minicom .Is there any known solution for this.The Screen Connected via HDMI doesn't seem to give anything except the black screen?


    Let me know your views on this.Thanks in advance .





    1. Hi Saurabh,

      The omap3 is pretty picky with mmc devices, if you get the mmc0: error -110, use a different microSD card.


  50. HI Robert,

    Changing the card seems to solve(but the same brand not the different brand) also by restarting this doesn't happen.

    But I am facing problem with the INTERNET.On plugging the Ethernet cable the ifconfig leads this : 

    eth0      Link encap:Ethernet  HWaddr 8e:ad:7a:f6:54:25  

              inet addr:  Bcast:  Mask:

              inet6 addr: fe80::8cad:7aff:fef6:5425/64 Scope:Link

              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

              RX packets:46 errors:0 dropped:0 overruns:0 frame:0

              TX packets:39 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:1000

              RX bytes:5487 (5.4 KB)  TX bytes:7671 (7.6 KB)


    lo        Link encap:Local Loopback  

              inet addr:  Mask:

              inet6 addr: ::1/128 Scope:Host

              UP LOOPBACK RUNNING  MTU:65536  Metric:1

              RX packets:0 errors:0 dropped:0 overruns:0 frame:0

              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

              collisions:0 txqueuelen:0

              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)



    and demsg | grep eth0 yields the below logs ;

    [   11.096801] smsc95xx 2-2.1:1.0 eth0: register 'smsc95xx' at usb-48064800.ehci-2.1, smsc95xx USB 2.0 Ethernet, c2:7c:79:25:b9:49

    [   17.327941] smsc95xx 2-2.1:1.0 eth0: hardware isn't capable of remote wakeup

    [   17.328247] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

    [   18.859252] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

    [   18.860687] smsc95xx 2-2.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

    [   19.068328] smsc95xx 2-2.1:1.0 eth0: link down

    [   21.245025] smsc95xx 2-2.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x41E1


     I have already added below lines in /etc/network/interfaces : 


    auto lo

    iface lo inet loopback


    auto eth0

    iface eth0 inet dhcp

    The internet is working fine with the same cable on some  other linux machine(ubuntu 12.04).

    I have already set the proxy and updated the apt.conf but I think this issue arises much before even taking up the proxy settings.Could you please comment.

    Thanks in advance.



    1. Hi Saurabh,

      Well, looking at the information you provided, i'd have to conclude your network device is working "fine", it's probably a problem with your network.

      eth0      Link encap:Ethernet  HWaddr 8e:ad:7a:f6:54:25  
                inet addr:  Bcast:  Mask:
      [   21.245025] smsc95xx 2-2.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x41E1


  51. Hi Robert,

    First of all thanks for providing detailed wiki.

    If I'm not mistaken, camera is not yet supported.

    I've verified beagleboard-xM camera LI-5M03 (mt9p031) with device tree on Linux 4.2.0-rc5.

    To enable camera support, below things needed, which are available in my github repo

    1. Couple of patches (dtsi for mt9p031 and fix for CCDC)
    2. V4l-utils(media-ctl, yavta)

    If you are interested, please go through link for more details


    Thanks & Regards,


    1. Nice Job Alaganraj,

      I'm going to have to dig out my li-5m03 and give these patches a test drive!


  52. Hi. Thanks for the wiki for beagleboard and imx6. This was very helpfull to us. But i wonder, how to enable GPIO on all ports at  Expansion header by patching the kernel? Because by your kernel we cant do this by default.The thing i meant is muxing the I/O ports to mux level 4. We want to use expansion header as GPIO port to connect our devices and run our drivers on it.


    Thanks for your help.

    1. Just add your gpio to the dtb, you can use the dtb-rebuilder to make it easier:


      1. Ok. But i dont know how to do it. I am newbie to device trees.

        So I dug some documentation about kernel device trees, searched the source in dtb-rebuilder/src/arm/omap3-beagle* for an example, i converted  beagle default dtb > dts and searched in it but still dont have any idea. 

        By the way i added

        / {

        model = "TI OMAP3 BeagleBoard";

        compatible = "ti,omap3-beagle", "ti,omap3";




        gpio139: gpio139 {

          compatible = "ti,omap3-gpio";
          ti,hwmods = "gpio139";
          #gpio-cells = <2>;
          #interrupt-cells = <2>;*/



        to omap3-beagle.dts , recompiled device tree, add dtb to boot partition nothing is changed. I cant even open a led like in this example >> But i start to get infinitely

        [ 40.187713] omap_i2c 48060000.i2c: controller timed out
        [ 50.202453] omap_i2c 48060000.i2c: timeout waiting on XUDF bi

        kernel messages after this (:

        I need a simple device tree pin node example for GPIO e.g. MMC2_DAT7 / GPIO_139. Any example or source for this?

        1. See this example of the "eMMC" reset gpio on the black, pick the
          correct gpio on the xm and it'll work the same..

          Step 1: define the pins a pinmux..

          mmc1_pins: pinmux_mmc1_pins {
               pinctrl-single,pins = <
                    0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */

          Step 2: gpio-hog...

          &gpio1 {
               emmc_rst {
                    gpios = <20 0>;
                    line-name = "EMMC ResetN";
          [ 40.187713] omap_i2c 48060000.i2c: controller timed out
          [ 50.202453] omap_i2c 48060000.i2c: timeout waiting on XUDF bi

          Should be fixed via:


  53. Hi again. I discovered a new thing . 


    sudo sfdisk --in-order --Linux --unit M ${DISK} <<-__EOF__


    doesnt give a boot flag to the boot partition so in some cases device can't boot from sdcard.


    1. What version of sfdisk?

      The "*" in:


      sets the boot flag.


      1. "sfdisk from util-linux 2.20.1" returns when i check the version(current version in linuxmint 17.2).  So i used "sfdisk <= 2.25.x" part in wiki. It is interesting because when i check the sd-card with fdisk and other tools(parted etc.). I see that boot flag didn't set. So every time i must manually set boot flag by fdisk. Maybe something wrong with sfdisk's this version.