Debian for Beagleboard Xm and ULCD7


It's been a long time since I used my Beagleboard Xm with ULCD7, so
yesterday when I dug it out while looking for something else, I wanted
to bring it back to life. I wiped the dust from the screen and booted
Debian downloaded from
/BeagleBoardDebian, but this image boots to text console. I haven't
used debian before (I really liked Angstrom. Koen did amazing job
making Beaglebone boot almost instantaneously, the distro is very
nice, and I'm really sorry he's not with CircuitCo anymore), but since
this is the current official distribution for Beagle boards, I want to
learn how to use it.
Having said that, is there an image for Xm which works OOTB with
ULCD7? I don't feel confident enough to hack apt-gets to manually
install necessary packages to boot the board to graphical environment.

Thank you,

“using apt-get install” is the only way to get GUI under Debian images from RCN. Probably you could load a full featured Ubuntu image with X system?

OOTB no.. Not for the ulcd7. Since the change to using device tree's
by default, i haven't created a dts file specifically for the ulcd7

Feel free to use the old "v3.7.x" board file kernel:



I built the 3.7 kernel with default config and replaced the defult
kernel on boot partition, but the board doesn't boot: kernel gets
stuck in a loop printing "empty DMA controller list" error message. Do
I need to downgrade u-boot as well?
Log from serial console is on pastebin:


After replacing the uboot and DT files, the kernel booted to the point
where it tries to mount the SD card, but got stuck on "Waiting for
root device /dev/mmcblk0p2..."
Few lines before the MMC driver reports problems with allocating DMA channel:

[ 1.585632] sdhci: Secure Digital Host Controller Interface driver
[ 1.592132] sdhci: Copyright(c) Pierre Ossman
[ 1.597045] omap_hsmmc mmc.20: unable to select pin group
[ 1.603057] omap_hsmmc mmc.20: Failed to get debounce clk
[ 1.608764] /ocp/mmc@4809c000: can't find DMA channel
[ 1.614074] omap_hsmmc mmc.20: unable to obtain RX DMA engine channel 62

U-boot is loading DT configuration from omap3-beagle-xm.dtb, which was
built with the kernel. I removed the uEnv.txt file shipped with
debian, so u-boot uses its built-in configuration. Since the default
config looks for omap3-beagle-xm-ab.dtb, I renamed the

I posted the full boot log on pastebin:

Thank you,

It's still loading the "device tree binary".. which in v3.7.x didn't work..

You need to tell u-boot to just load zImage and boot directly from it.

I have a note about the uEnv.txt change required here:

You'll have to do something similar.


Thanks, that helped.
I had to add "buddy2=bbtoys-ulcd" to the kernel options and now I can
see login prompt on the screen (although the screen is shifted). I
installed "xserver-xorg-video-omap3" and "xfce4" packages, but when I
try to start X server manually, it crashes with "no screens found"
error message. Are there additional packages which I should install to
make X start, or is it just a matter of configuring the display? Is
there an example of xorg.conf for XM which I could use?


I installed SGX drivers following instructions from, but the X server
still doesn't start.
Looks like omapdrm kernel module was not built by

[ 30.703] (II) LoadModule: "omap"
[ 30.704] (II) Loading /usr/lib/xorg/modules/drivers/
[ 30.745] (II) Module omap: vendor="X.Org Foundation"
[ 30.745] compiled for 1.12.4, module version = 0.83.0
[ 30.745] Module class: X.Org Video Driver
[ 30.746] ABI class: X.Org Video Driver, version 12.1
[ 30.746] (II) OMAP: Driver for TI OMAP: OMAP3430 with PowerVR SGX530,
        OMAP3630 with PowerVR SGX530, OMAP4430 with PowerVR SGX540,
        OMAP4460 with PowerVR SGX540, OMAP5430 with PowerVR SGX544 MP,
        OMAP5432 with PowerVR SGX544 MP
[ 30.747] (--) using VT number 2

[ 30.762] (WW) Falling back to old probe method for omap
[ 30.763] drmOpenDevice: node name is /dev/dri/card0
[ 30.803] [drm] failed to load kernel module "omapdrm"
[ 30.804] (EE) No devices detected.
[ 30.804]
Fatal server error:
[ 30.804] no screens found


That "fbdev" driver is only used with the omapdrm drm driver used with
the v3.14.x+ device tree stack..


Could you give me a hint where to look for information on
configuration of X server with 3.7 kernel?

Just use fbdev, the older omap xorg xserver (fbdev based) driver isn't


Thanks. Now I have X working, just X server insists on using only
640x480 mode. I assume that I have to set the framebufer resolution
before starting X. I tried to convert the timings from LCD descriptor
in the kernel into a mode in fb.modes, but fbset exits with "Invalid

root@arm:~# fbset "800x480"
ioctl FBIOPUT_VSCREENINFO: Invalid argument

This is the mode descriptor I added:
mode "800x480"
        geometry 800 480 800 480 8
        timings 33333 49 41 40 4 14 29

Do you have in your notes working descriptor for ulcd7?