ECE597 OpenEmbedded Issues and Problem Solving

OpenEmbedded Issues
For the most part, looking at the error log will give you enough information to Google a result. In this particular case, while trying bitbake beagleboard-demo-image, I was getting errors that didn't give me much information from internet searches. The solution I decided on was to simply get rid of the Gimp and gnumeric packages. The following is the process I went through to figure out how to do just that.

Removing Packages
From doing Step 7 of the Beagle demo image tutorial, we know that beagleboard-demo-image.bb resides in ${OETREE}/openembedded/recipes/images. That gives us a starting point for our search.

[adam@melchoir images]$ cat beagleboard-demo-image.bb
 * 1) Demo image for beagleboard

IMAGE_LINGUAS = "en-us"

XSERVER ?= "xserver-xorg \          xf86-input-evdev \           xf86-input-mouse \           xf86-video-fbdev \           xf86-input-keyboard \ "

ANGSTROM_EXTRA_INSTALL ?= ""

export IMAGE_BASENAME = "Beagleboard-demo-image"

DEPENDS = "task-base" IMAGE_INSTALL = "\   ${XSERVER} \    ${ANGSTROM_EXTRA_INSTALL} \    task-beagleboard-demo \    "

IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"

There's not much information here. One line that looks interesting is DEPENDS - since it needs that file, let's go take a look at that.
 * 1) zap root password for release images

First we need to find it: [adam@melchoir openembedded]$ find. -name *task-base* ./recipes/angstrom/angstrom-gpe-task-base.bb ./recipes/tasks/task-base.bb Alright, now let's take a look. [adam@melchoir openembedded]$ nano recipes/tasks/task-base.bb DESCRIPTION = "Merge machine and distro options to create a basic machine task/package" PR = "r83"

inherit task

DEPENDS = "task-boot" PROVIDES = "${PACKAGES}" PACKAGES = ' \ task-base \ task-base-extended \ task-distro-base \ task-machine-base \ \           ${@base_contains("MACHINE_FEATURES", "acpi", "task-base-acpi", "",d)} \ ${@base_contains("MACHINE_FEATURES", "alsa", "task-base-alsa", "", d)} \ ${@base_contains("MACHINE_FEATURES", "apm", "task-base-apm", "", d)} \ ${@base_contains("MACHINE_FEATURES", "ext2", "task-base-ext2", "", d)} \ ${@base_contains("MACHINE_FEATURES", "vfat", "task-base-vfat", "", d)} \ ${@base_contains("MACHINE_FEATURES", "irda", "task-base-irda", "",d)} \ ${@base_contains("MACHINE_FEATURES", "keyboard", "task-base-keyboard", "", d)} \ ${@base_contains("MACHINE_FEATURES", "pci", "task-base-pci", "",d)} \ ${@base_contains("MACHINE_FEATURES", "pcmcia", "task-base-pcmcia", "", d)} \ ${@base_contains("MACHINE_FEATURES", "phone", "task-base-phone", "", d)} \ ... A packages variable! That's much more interesting. There's a lot in this file, but doing a search for Gimp or gnumeric doesn't bring anything up. Looking back at beagleboard-demo-image.bb though, there's a similarly named file task-beagleboard-demo. Let's check recipes/tasks for it. [adam@melchoir tasks]$ ls | grep beagle task-beagleboard-demo.bb Looks like it's in the same directory as task-base. Let's open it up. [adam@melchoir tasks]$ nano task-beagleboard-demo.bb DESCRIPTION = "Task for Beagleboard-demo-image"

PR = "r7"

inherit task

ECONFIG ?= "places e-wm-config-angstrom e-wm-config-default"

RDEPENDS_${PN} = "\   task-proper-tools \    task-base-extended \    angstrom-x11-base-depends \    angstrom-gpe-task-base \    angstrom-gpe-task-settings \    angstrom-zeroconf-audio \    angstrom-led-config \    gimp \    gnumeric \    gpe-scap \    psplash \    mime-support e-wm ${ECONFIG} exhibit \    xterm xmms \    firefox midori \    swfdec-mozilla \    hicolor-icon-theme gnome-icon-theme \    jaaa nmap iperf gnuplot \    abiword \    powertop oprofile \    pidgin \    mplayer \    gnome-games \    rt73-firmware zd1211-firmware \    stalonetray \        synergy \        x11vnc angstrom-x11vnc-xinit \        angstrom-gnome-icon-theme-enable \        openssh-scp openssh-ssh \        picodlp-control \        connman-gnome \ "
 * 1)    irssi \

RRECOMMENDS_${PN} += "kernel-modules"
 * 1) Install all kernel modules

PACKAGE_ARCH = "${MACHINE_ARCH}" RRECOMMENDS_${PN}_append_armv7a = " omapfbplay" And there you can see Gimp and gnumeric. By commenting them out (adding a # in front, as in the case of irssi), the image will skip those packages, allowing the image to be built successfully.