build environment

Intro

In my previous post, I have published a little how-to to rebuild the whole image using yocto.
Some readers managed to follow the guide and to build the whole thing but a few others reported issues which seem mostly related to their build host.
Of course, yocto should behave the same (and it strives to do so by rebuilding almost all native requirements) whatever the development environment is. However it is not always the case especially for my XBMC recipe (So blame me for it : I am mostly the culprit here)
As I have not been able to understand all the reported issues, I have just decided to publish this new article to describe how to create a build environment which is known to work.

RFS generation

Of course, I could distribute a whole virtual machine image but I will describe a more lightweight way to generate a root filesystem ready to run yocto.
The plan is simply to use debootstrap to fetch a basic Ubuntu 12.04 (precise pangolin) file system and to chroot in this new environment to install the few additional requirements to be able to build my image.

Install debootstrap

If you don’t already have this utility in your distro, just install it. Most Linux distro (even RPM based distro) package it.
Of course the ubuntu/debian (and derivative) users will issue a command like :

apt-get install debootstrap

OpenSuse users will try

zypper install debootstrap

And I will be flamed by Fedora fans if I do not allude to :

yum install debootstrap

Install and configure precise

OK, let’s start :

USER=$(id -n -u)
CHROOT_PATH=$(pwd)/precise

# if your native install is 64bits
sudo debootstrap --variant=buildd --arch amd64 precise $CHROOT_PATH
# if your native install is 32bits, you will use instead 
# sudo debootstrap --variant=buildd --arch i386 precise $CHROOT_PATH

# copy a few file from native host to be able to use the same user in chroot
sudo cp /etc/passwd $CHROOT_PATH/etc/
sudo cp /etc/shadow $CHROOT_PATH/etc/
sudo cp /etc/resolv.conf $CHROOT_PATH/etc/
sudo cp /etc/group $CHROOT_PATH/etc/
sudo mkdir $CHROOT_PATH/home/$USER
sudo chown $USER  $CHROOT_PATH/home/$USER

# give access to sys, proc and dev in chroot 
# Not permanent (has to be redone after reboot)
 sudo mount --bind /proc $CHROOT_PATH/proc
 sudo mount --bind /sys  $CHROOT_PATH/sys
 sudo mount --bind /dev  $CHROOT_PATH/dev
 sudo mount --bind /dev/pts  $CHROOT_PATH/dev/pts

Then we have to finalize the installation in the chroot itself by entering into the fresh system :

sudo chroot ./precise/ /bin/bash -i

In the new system, let’s finish the install :

mkdir /run/shm
mount -t tmpfs none /run/shm/

apt-get update
apt-get install wget curl python-m2crypto git diffstat  gawk chrpath texi2html texinfo openjdk-6-jre zip
exit

Build

You should have exited the chroot, now reenter as normal user :

ID_NUM=$(id -u)
GID_NUM=$(id -g)
sudo chroot --userspec=${ID_NUM}:${GID_NUM} ./precise/ /bin/bash -i

In the chroot, you can issue the commands from the other post to launch the build.
I copy them for convenience :

cd  
#Install repo
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
 
#Create BSP folder
PATH=${PATH}:~/bin
mkdir xbmc-bsp
cd xbmc-bsp
 
#Download layers
repo init -u https://github.com/wolfgar/fsl-community-bsp-platform -b dora
repo sync
 
#Initialize build environement
#Valid MACHINE values are wandboard-quad wandboard-dual and utilite
TEMPLATECONF=`pwd`/sources/meta-stef/conf MACHINE=wandboard-quad source setup-environment build
 
#Let's build the whole thing
bitbake xbmc-image

And you are done… 😉

66 thoughts on “build environment

  1. Typo:

    sudo chroot –userspec=${IDNUM}:${GID_NUM} ./precise/ /bin/bash -i

    should be:

    sudo chroot –userspec=${ID_NUM}:${GID_NUM} ./precise/ /bin/bash -i

    Regards,
    Jan

  2. I works good. Good work. Most appreciated.

    Please add the following dependencies to recipes-stef/xbmc/xbmc_git.bb
    libplist ffmpeg

    libplist is to enable airplay. I was getting build error without ffmpeg package.

    The default timezone works, previously I tried to change the timezone and the error “could not resolve URL”.

    Seems like zeroconf service is not working as expected, xbmc remote in android, ios cannot find the XBMC. Need to enter ip address manually to make the remotes work.

    Without the zeroplay service, airplay also will not work. Currently xbmc is not detected by ios.

    Thanks,
    Prabhu

    • https://github.com/OpenELEC/OpenELEC.tv/issues/2175

      Go edit /etc/avahi/avahi-daemon.conf

      Find the line:
      “#disallow-other-stacks=no”
      and change to
      “disallow-other-stacks=yes”
      This flag is apparently what now causes avahi to attempt to use SO_REUSEPORT (and turning it to yes disables this new behavior.) The docs indicate this is some mechanism to accomodate nasty setups with more than one mdns handler on them at the same time.

  3. cool, it builds & boots 😀

    is there a way to get VDR VNSI Client to work?
    it only say’s that an unknown error occurred, nothing to find at logs

    greets!

  4. arm-poky-linux-gnueabi-libtool: link: arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 –sysroot=/home/chris/xbmc-bsp/build/tmp/sysroots/wandboard-quad -O2 -pipe -g -feliminate-unused-debug-types -Wl,-O1 -Wl,–hash-style=gnu -Wl,–as-needed -o irrecord irrecord.o config_file.o dump_config.o input_map.o transmit.o libhw_module.a
    | arm-poky-linux-gnueabi-gcc: error: libhw_module.a: No such file or directory

  5. hi,

    first of all i would like to thank you stepahn for his fantastic work on xbmc and sharing his knowledge with the whole community. thank you very much!

    i am totally new to yocoto, so please forgive me if i’m asking to stupid questions… 🙂
    i was able able to follow the above instructions and after a few hours and the following errors:

    xbmc@home-server:~/xbmc-bsp/build$ bitbake xbmc-image
    WARNING: Unable to get checksum for weston SRC_URI entry weston.sh: file could not be found####################################################################### | ETA: 00:00:08
    WARNING: Unable to get checksum for linux-boundary SRC_URI entry defconfig: file could not be found################################################################################ | ETA: 00:00:00
    Parsing recipes: 100% |##############################################################################################################################################################| Time: 00:01:12
    Parsing of 1427 .bb files complete (0 cached, 1427 parsed). 1821 targets, 135 skipped, 0 masked, 0 errors.
    WARNING: No bb files matched BBFILE_PATTERN_networking-layer ‘^/home/xbmc/xbmc-bsp/sources/meta-openembedded/meta-networking//’
    NOTE: Resolving any missing task queue dependencies
    NOTE: multiple providers are available for jpeg (jpeg, libjpeg-turbo)
    NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg
    NOTE: multiple providers are available for jpeg-native (jpeg-native, libjpeg-turbo-native)
    NOTE: consider defining a PREFERRED_PROVIDER entry to match jpeg-native

    Build Configuration:
    BB_VERSION = “1.20.0”
    BUILD_SYS = “i686-linux”
    NATIVELSBSTRING = “Ubuntu-12.04”
    TARGET_SYS = “arm-poky-linux-gnueabi”
    MACHINE = “wandboard-quad”
    DISTRO = “poky”
    DISTRO_VERSION = “1.5.1”
    TUNE_FEATURES = “armv7a vfp neon callconvention-hard cortexa9”
    TARGET_FPU = “vfp-neon”
    meta
    meta-yocto = “(nobranch):3cf2d232529c4fd6b58f87ddbf3df9d805e4180f”
    meta-oe = “(nobranch):191499a2b54d04855284347ce5a067f998646be4”
    meta-fsl-arm = “(nobranch):bce654fbc44d931494eb8f2662ada6d57c57d9dc”
    meta-fsl-arm-extra = “(nobranch):07ad83db0fb67c5023bd627a61efb7f474c52622”
    meta-fsl-demos = “(nobranch):cd6275042cdd2d87490521f6cbeb65972ed37a66”
    meta-stef = “(nobranch):b76ec458aa5cb1642bcf2e5cfc5d15add0bfa9ec”

    meta-filesystems = “(nobranch):191499a2b54d04855284347ce5a067f998646be4”

    NOTE: Preparing runqueue
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    WARNING: Failed to fetch URL http://zlib.net/pigz/pigz-2.3.tar.gz, attempting MI
    WARNING: Failed to fetch URL ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz,
    WARNING: Failed to fetch URL http://www.apache.org/dist/apr/apr-1.4.8.tar.bz2, a
    WARNING: Failed to fetch URL http://www.apache.org/dist/apr/apr-util-1.5.2.tar.g
    WARNING: Failed to fetch URL http://www.apache.org/dist/subversion/subversion-1.
    WARNING: Failed to fetch URL http://pkg-shadow.alioth.debian.org/releases/shadow
    WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/lib
    WARNING: Failed to fetch URL http://www.citi.umich.edu/projects/nfsv4/linux/libn
    WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/d/dpkg/dpkg_1
    WARNING: Failed to fetch URL http://www.latencytop.org/download/latencytop-0.5.t
    WARNING: Failed to fetch URL ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstool
    WARNING: lttng-modules: no modules were created; this may be due to CONFIG_TRACE
    WARNING: QA Issue: ELF binary ‘/home/xbmc/xbmc-bsp/build/tmp/work/wandboard_quad-poky-linux-gnueabi/xbmc/git-r3/packages-split/xbmc/imx6/xbmc/lib/xbmc/system/players/dvdplayer/avcodec-54-arm.so’ has relocations in .text
    NOTE: Tasks Summary: Attempted 4434 tasks of which 354 didn’t need to be rerun and all succeeded.

    Summary: There were 16 WARNING messages shown.

    the process finished (i hope these errors ar not relevant for the function of xbmc?) . After a quick search i found in ./tmp/deploy/images/wandboard-quad some files:

    -rwxr-xr-x 2 xbmc xbmc 285 Dec 28 02:51 bootscript-wandboard-quad
    -rw-r–r– 2 xbmc xbmc 523252 Dec 28 01:47 modules–3.0.35-r32.0-wandboard-quad-20131227224516.tgz
    lrwxrwxrwx 2 xbmc xbmc 55 Dec 28 01:47 modules-wandboard-quad.tgz -> modules–3.0.35-r32.0-wandboard-quad-20131227224516.tgz
    -rw-r–r– 2 xbmc xbmc 294 Dec 28 02:55 README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
    lrwxrwxrwx 2 xbmc xbmc 37 Dec 28 02:51 u-boot.imx -> u-boot-wandboard-quad-v2013.10-r0.imx
    lrwxrwxrwx 2 xbmc xbmc 37 Dec 28 02:51 u-boot-wandboard-quad.imx -> u-boot-wandboard-quad-v2013.10-r0.imx
    -rwxr-xr-x 2 xbmc xbmc 273408 Dec 28 02:51 u-boot-wandboard-quad-v2013.10-r0.imx
    lrwxrwxrwx 2 xbmc xbmc 54 Dec 28 01:47 uImage -> uImage–3.0.35-r32.0-wandboard-quad-20131227224516.bin
    -rw-r–r– 2 xbmc xbmc 3575220 Dec 28 01:47 uImage–3.0.35-r32.0-wandboard-quad-20131227224516.bin
    lrwxrwxrwx 2 xbmc xbmc 54 Dec 28 01:47 uImage-wandboard-quad.bin -> uImage–3.0.35-r32.0-wandboard-quad-20131227224516.bin
    -rw-r–r– 1 xbmc xbmc 662700032 Dec 28 03:02 xbmc-image-wandboard-quad-20131227224516.rootfs.ext3
    -rw-r–r– 1 xbmc xbmc 679477248 Dec 28 03:02 xbmc-image-wandboard-quad-20131227224516.rootfs.sdcard
    -rw-r–r– 1 xbmc xbmc 145671612 Dec 28 02:59 xbmc-image-wandboard-quad-20131227224516.rootfs.tar.bz2
    lrwxrwxrwx 1 xbmc xbmc 52 Dec 28 03:02 xbmc-image-wandboard-quad.ext3 -> xbmc-image-wandboard-quad-20131227224516.rootfs.ext3
    lrwxrwxrwx 1 xbmc xbmc 54 Dec 28 03:02 xbmc-image-wandboard-quad.sdcard -> xbmc-image-wandboard-quad-20131227224516.rootfs.sdcard
    lrwxrwxrwx 1 xbmc xbmc 55 Dec 28 03:00 xbmc-image-wandboard-quad.tar.bz2 -> xbmc-image-wandboard-quad-20131227224516.rootfs.tar.bz2

    but i don’t now what i should do now to build a whole sdcard image (like stephans image from november) with uboot, uImage etc.. can anybody please “enlight” me?

    thanks a lot
    hre1

    • Hi hre1
      Thanks for your feedback,
      Congratulations, in spite of a few warnings, your build is sucessfull…
      The raw sdcard image is xbmc-image-wandboard-quad-20131227224516.rootfs.sdcard, it is almost the same as the one I distribute : I only resize the second partition in the image I distribute (I have automatic scripts for this on my side but you can perfecty do it with gparted for your own needs)
      The other files are already included in the sdcard image : You have th u-boot image, the kernel image and the RFS archive…

      Best reagrds,
      Stephan

  6. Thanks a lot for your kindful assistence! I build the image with sudo dd if=./xbmc-image-wandboard-quad-20131227224516.rootfs.sdcard of=/dev/sdf and i works like a charm! 🙂 Was it your intentention to exclude the PVR-Plugins from the build? And can you guide me how do i inculde them in my build?

    best regards,
    hre1

    • Hi,
      No it was not my intention for pvr. On the contrary they should be built and installed…
      But I have never released an official release with pvr and live tv support so I have not run formal tests for this function.
      It should happen soon as I have stabilized a few things and I think a first public release with livetv support can be distributed now…
      Regards
      Stephan

      • thanks for your reply stephan! you’re right the pvr plugins where build successfully but the sdcard image doesn’t include them, so i have to manuelly copy them to the right direction (/imx6/xbmc/lib/xbmc/addons/). i use the vnsi pvr addon and a another problem was that the xbmc-pvr-addons_git.bb include an older sourcecode revision where some problems with wrong xbmc gui version numbers occur and therefore xbmc did not load the vnsi plugin. after changing the variable SRCREV xbmc-pvr-addons_git.bb to last revison i was able to succesfull build the plugin and on a first look it now works in xbmc without no problems. there are no deintelacing support yet, some of the video settings in the live tv picture are not available (or i can’t found them 🙂 ) and it seems that the hd programs tend to judder a little bit (sd not), but i will look further to your optimation work. let me thank you again for your fantastic work!

        i wish your and your familiy a very happy new year!

  7. A couple points
    First, you need access to non-standard ports. The GIT locations are on any port.
    Second, I couldn’t find the the final output in a standard location. I could only find it at ./tmp/deploy/images/wandboard-quad/xbmc-image-wandboard-quad.sdcard
    Third, the size of the linux virtual machine needs to be at least 49GB The tmp directory is surprisingly large.

    Whenever I try building, it always says “wandboard-quad” even tough I told it
    TEMPLATECONF=`pwd`/sources/meta-stef/conf MACHINE=udoo-quad source setup-environment build

    • – Yes it is the way git works. There is nothing specific to my image nor to the build…
      – The output location ./tmp/deploy/images/wandboard-quad/ is the standard location for yocto. I don’t understand what you mean here.
      – There is no virtual machine in my build process(only a chroot which is not a virtual machine. Maybe you use a virtual machine to run linux but it is something out of our topic…).
      49GiB is not so surprising for anyone who is familiar with building from scratch native tools and full distro while keeping all generated objects. But It is worth mentioning you are right…

      At last, please understand that you only have to specify “TEMPLATECONF=`pwd`/sources/meta-stef/conf MACHINE=udoo-quad” variables, the first time you source the script (and the configuration file is created)
      Then the build/conf/local.conf file will be used and the MACHINE stated in this file will specify the MACHINE
      So you only have to “source setup-environment build” once this configuration file exists…

      Regards
      Stephan

      • Sorry, my questions are pure newbie questions. I have never used yocto. I blindly assumed a build or deploy directory. My fault.

        The 49GB greatly surprised me. Again that is because I am a newbie. I did create a VM for the build process which is out-of-scope for this talk. I should not have mentioned it.

        Thanks for the answers

        • No problem Robert…
          everyone is surprised by the tmp output folder the first time 😉
          And even if it is “normal”, the big space requirement worth mentioning for users who plan to launch a full build…
          Regards
          Stephan

    • Also is TEMPLATECONF=`pwd`/sources/meta-stef/conf MACHINE=wandboard-quad source setup-environment build
      one line or two?

      • It is one.
        All source code / commands can be seen in raw mode and copied thanks to the 2 icons which appear at top right when you pass the mouse over them to avoid this kind of question.

  8. short replay for live tv (a main reason for me 😉 )… after a few channel switches, xbmc is frozen (despite of the refactor rendering and cleanup changes). no luck with hd channels, there is a massive out of sync between audio and video and xbmc crashs everytime if i try to switch from a hd channel to another channel (it doesn’t matter whether if it hd or sd).

    xbmc-log -> http://paste.ubuntu.com/6679685/

    • Hi hre1,

      I am not sure you have correctly built and tested my last commit. Indeed I am now able to perform hundreds of switches without a single issue on my side. (And several users have also confirmed an obvious improvement…). Besides I had perfectly identified the bug and settled it. So I know my last commit solved that specific bug for sure.

      Yet, there are also differences between our configurations that may explain the different behaviors :
      – I almost only use SD channels because my DVB-T signal is not so good and I have issues to receive hd channels (independently of xbmc I mean, even on my main TV…). It would be interesting to check whether you experience issues when switching between SD channels only …
      – I use tvheadend and not VDR…
      I may run dedicated tests with VDR because there are issues with time shift related to tvheadend, I will tell you…

      Best regards

  9. i’m not sure if i got the right build. i following exactly your build environment guide, except my pvr changes describing above, but when i’m looking for your changes (like imxOutputFrame in LinuxRendererGLES.cpp) i only found the old version (imx). so i assume that i use perhaps your xbmc master branch and not the imx-wip branch? do i have to change xbmc_git.bb to select the imx-wip branch?

    thank and best regards,
    holger

    • Hi holger,

      OK , it makes sense !
      I have not yet pushed the last commit in the xbmc recipe so you don’t use the very last source…
      In fact I build xbmc out of the full yocto build for my dev and debug activities by using the yocto sdk I distribute (I should write an article to explain how to do this ;)….). From times to times (often just before new image release), I update the recipes to use my lastest changes.
      So If you have not updated the SRCREV by yourself you have not grabbed my fix and odds are very high that the issue will disappear when my commit will be taken into account…

      Best regards
      Stephan

      • yes, i already found that to and started a new build with SRCREV=”5ab853f71205594312e93baa03a5b0cb257ef1b4″ (your last imx-wip commit before the dora adaptions for fix utilite image installation on ssd etc.) on your imx-wip branch. on sd programs there are no problems with channel switches so far… but if i try this on hd programs xbmc chrashs furthermore. i think this belongs to this xbmc.log messages:

        00:25:21 T:1196627024 DEBUG: FactoryCodec – Video: iMX-xxx – Opening
        00:25:21 T:1196627024 DEBUG: Let’s decode with iMX VPU
        00:25:21 T:1196627024 DEBUG: FactoryCodec – Video: iMX-h264 – Failed

        (this messages already occur in my old xbmc.log)

        it seems that xbmc can’t initialize the hardware accelerated iMX h264 decoder and falls back to ff-h264 which is – i guess – a software decoder? do you have any suggestions how can i fix this?

        best regards,
        holger

  10. Has anyone tried running the image in emulation mode, i.e.

    runqemu qemuarm \
    tmp/deploy/images/wandboard-quad/uImage-wandboard-quad.bin \
    tmp/deploy/images/wandboard-quad/xbmc-image-wandboard-quad.ext3
    or do I have the wrong command?

    • What’s the point of this approach ?
      Most of my work aims at using properly the imx VPU that is not emulated…

        • Ok I understand better…
          Well, I guess initial boot should work but then XBMC won’t (no virtual GPU nor VPU)
          Stephan

  11. Hi Stephan,
    I am going to try the build procedure on my Fedoa 18 host. I was wondering if you were able to investigate a fix for the sound saturation issue with the analog output.

    Thanks a lot for your awesome work with freescale based boards.

    • Hi AndyB

      I have a workaround for the analog output : I have found that it is related to 24bits samples. By modifying the driver to advertise only 16bits samples, it is hidden.
      I have a patch for utilite here : https://github.com/wolfgar/utilite/commit/b565d5fc613b00f4853fd7048db82f272f112de2
      It is not the real fix of course : There is a bug in xbmc (I am almost sure this bug does not appear for x86 arch but is here for any other archs which deal with 24bits samples…) which still has to be solved…
      Regards

      • Hi Stephan ,

        I got around the problem for now by modifying asoundrc to look like following.

        pcm.!default {
        type plug
        slave.pcm “dmixer”
        }

        pcm.dmixer {
        type dmix
        ipc_key 1024
        slave {
        pcm “hw:0,0”
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 48000
        format S16_LE
        }
        bindings {
        0 0
        1 1
        }
        }

        ctl.dmixer {
        type hw
        card 0
        }

        and in XBMC , guisettings.xml , changed the audio playback device to “alsa:plug:dmixer”

        This seems to enforce 16bits samples, and also help XBMC and MPD co-exist peacefully. Without forcing XBMC to use dmixer in alsa , MPD would sometimes crash as it could not get sound device.

  12. Stephan,

    I asked this question on the wrong blog, this is the image I am trying to find.

    When you create this image how do you locate in the computer, I’ve looked through every folder. The way the instructions read I thought it would have been in a bin folder.

    Thanks
    Jim

    • The answer is still the same as the build procedure is the same (only build host is different), look for the file with sdcard extension in the folder tmp/deploy/images/$MACHINE

  13. Hi Stephan,

    thank you, wonderful work. I got the sources, compiled them, flashed the image, and it worked out of the box with my wandboard-quad – just not HDMI-CEC 🙂
    I made the changes to the board by soldering the “fix”. I just does not work. In another post you said that there are some changes to the kernel necessary to get it to work – could you please tell me what’s missing? Some kernel module in the wandboard defconfig?

    Thank you!

  14. Thanks Stephan

    I still got problems on the videostreams that I had problems with before and that segfaults xbmc. On other parts its looking better and better. You are doing a great job.

    hste

  15. hi stephan,

    today i build a new xbmc image on your last commit “650422bffc80ce7eda8cb5d1a4a7b1fac95ba118” and i must say i’m deeply impressed with the progress on your imx6 development! there are no problems with playing sd or hd channels and switching between these programs. and i saw no other problems… till yet 😉 so please let me thank you for your fantastic work!

    there are only two things that i try to resolve. first, during the build process i get a error message that the lirc daemon can not compiled successesfully (ERROR: Task 2727 (/home/xbmc/xbmc-bsp/sources/meta-stef/recipes-stef/lirc/lirc_0
    NOTE: Tasks Summary: Attempted 2758 tasks of which 282 didn’t need to be rerun and 1 failed. | ../arm-poky-linux-gnueabi-libtool –tag=CC –mode=link arm-poky-linux-gnueab ild/tmp/sysroots/wandboard-quad -O2 -pipe -g -feliminate-unused-debug-types -W libhw_module.a
    | arm-poky-linux-gnueabi-libtool: link: arm-poky-linux-gnueabi-gcc -march=armv7- dboard-quad -O2 -pipe -g -feliminate-unused-debug-types -Wl,-O1 -Wl,–hash-style
    | arm-poky-linux-gnueabi-gcc: error: libhw_module.a: No such file or directory
    | make[3]: *** [irrecord] Error 1
    ) this work in the past and i don’t know whats going wrong…

    an second, i’d like to integrate your receipt for the cheap ir receiver with TSOP4838 in my wandboard xbmc build. can you please advise me what steps i have to do to achieve this?

    best regards,
    holger

  16. how is it possible to configure and compile the kernel only?
    I want a kernel with ipv6 support and trying to rebuild the image but complete rebuild wont work and I dont have an idea how to compile the kernel only and configuring it mysqelf.

    thanks

    • Hi,

      for reconfiguring the kernel you can use
      $ bitbake linux-wandboard -c menuconfig
      Then build the kernel using
      $ bitbake linux-wandboard -c compile -f
      and deploy it using
      $ bitbake linux-wandboard -c deploy

      The resulting uImage appears in xbmc-bsp/build/tmp/work/wandboard_quad-poky-linux-gnueabi/linux-wandboard/3.0.35-r32.0/image/boot/uImage-3.0.35-4.1.0-wandboard+g3fa9b19

      I have done this to include the uinput module into the kernel – it works perfectly.

      Regards,
      Peter

      • thanks! im trying to build the kernel but every time a few packets could not be fetched and bitbake is going crazy and says the server is not running or so.

        if it happens again, i will post the error.

        Im building the image on a Core2Quad Q6600 but it takes forever. 18h and only 700 packets out of >4500 are compiled -.-

        • WARNING: Failed to fetch URL http://kernel.org/pub/linux/kernel/v3.0/linux-3.10.tar.bz2, attempting MIRRORS if available
          ERROR: Fetcher failure: Fetch command failed with exit code 4, output:
          wget: unable to resolve host address `kernel.org’

          ERROR: Function failed: Fetcher failure for URL: ‘http://kernel.org/pub/linux/kernel/v3.0/linux-3.10.tar.bz2’. Unable to fetch URL from any source.
          ERROR: Logfile of failure stored in: /home/tomcat/xbmc-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/linux-libc-headers/3.10-r0/temp/log.do_fetch.2549
          ERROR: Task 146 (/home/tomcat/xbmc-bsp/sources/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb, do_fetch) failed with exit code ‘1’
          WARNING: Failed to fetch URL http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz, attempting MIRRORS if available
          WARNING: Failed to fetch URL git://github.com/wolfgar/linux.git, attempting MIRRORS if available

          • Hi,

            Your internet connection seems to be faced with issues
            If you only want to compile the kernel, you are not forced to rebuild the whole yocto thing. You can
            – download the SDK (link to the latest SDK is provided in this post : http://stephan-rafin.net/blog/2014/01/29/yet-another-yocto-image/)
            – Install the SDK
            – Download the kernel (clone repo from gtihub)
            – Grab configuration from my meta repo in github

            and compile that way :
            export ARCH=arm
            export PATH=/path/to/sdk/install/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/:
            export CROSS_COMPILE=arm-poky-linux-gnueabi-
            make uImage

            Stephan

  17. Hi Stephan,

    Thank a lot for the instructions here. I was successfully able to build xbmc image based on your instructions, and the latest xbmc revision as of 28/01/2014 from github.

    It mostly works well, except that I see some audio-video sync issues especially on youtube. Specifically this video http://www.youtube.com/watch?v=20WDaOaIZvc . It happens on a few more as well.

    Do you have clues or any pointers where I should look for errors etc ? I am using analog audio out, and I also tried with HDMI, same result.

    Again thanks a lot for your awesome work.

  18. Hi stephan

    Fantastic work you’re doing!
    I’ve one question. Is it possible to use sickbeard and transmission with your yocto built? And to autostart it?
    I can’t run sickbeard (I copied the user files from a Ubuntu computer) because There isn’t python-cheetah.

  19. Hi All,

    I am trying to create an up to date linux+xbmc build for use on my wandboard quad.

    Are these instructions still vaild, given the more recent posting “XBMC development for i.MX6 : A new organization”? I.e. all the work in/under: http://github.com/xbmc-imx6

    Also the Debian distribution “precise” is no longer available at the given url, so I tried using wheezy instead. However bitbake warns me that the distribution has not been validated and then fails with a horrible python traceback :). Which distribution is recommended?

    Yours,
    Robb.

  20. Well, I finally was back at home and had time to retry this … but it still fails. When I actually look at the error output from bitbake I see that the root problem seems to be this error:
    OSError: [Errno 13] Permission denied: ‘/tmp/pymp-XybbkV’
    I get a couple of these errors, for different temp directories under /tmp. It seems like it should be an easy problem to fix, but I don’t see anything wrong with the permissions under /tmp. I must have deviated from the safe path somewhere 🙁

    Yours,
    Robb.

Leave a Reply

Your email address will not be published. Required fields are marked *