1. Speeding up BitBake builds

    OpenEmbedded builds usually take lot of time as not everyone has build machines with multiple CPUs (or multi-core CPUs). But how to make them faster and make better use of multiple CPU cores?

    Solution is in two BitBake variables:

    1. PARALLEL_MAKE — this is passed to make so setting it to “-j X” is handy (where value of X depends on number of CPU cores)
    2. BB_NUMBER_THREADS — amount of BitBake threads used to run tasks such as do_fetch, do_configure, do_compile etc. Do not set too big value or machine will melt and you will loose control over it ;)

    Which values are sane? On Core2Quad I use “-j 4” and 16 BitBake threads. On dual core Athlon64 I use less threads (only 4) but this machine is also my desktop so I like to be able to work :) Sometimes I have two builds locally running with those settings and it is still usable.

    How to check which one are good for you? Run htop on one console and builds on another. If CPU cores are busy and it does not hit swap too often then it is OK.

    NOTE: this post was written in 2008 and may not fit newer versions of OpenEmbedded/Yocto based build systems.

    Written by Marcin Juszkiewicz on
  2. Polish layout for N810 hardware keyboard

    Thanks to work done by Jiri Benc in his “ukeyboard” alternative control panel for language and regional settings I am able to present Polish layout for N810 hardware keyboard.

    Polish chars are on Chr+ (where is one of “acelnosxz”).

    Also few other combinations are added:

    Fn+Space = | Chr+Space = Tab Chr+j = [ Chr+k = ]

    Original functions of “Chr” key were dropped — there is no small on screen keyboard after single press of “Chr” and no option to enter other national chars (like “öïüõôōő” etc).

    Click here to simple install.

    Written by Marcin Juszkiewicz on
  3. No, I am not moving to London

    Previous post about moving to London was 1st April joke. We plan to move from Poznań but not outside of Poland. So sorry guys — we will meet in UK one day but it will be short visit not staying.

    I have to admit that I did not thought that so many people will take that post serious. First congratulations came less then half hour after publishing, then IRC greetings… Probably this is because it is so near to true — as person working alone at home I miss contact with coworkers (as this often ends in brainstorming) and OH office has some interesting gadgets :D

    Why “moving to London” was chosen? I did not had a good idea for April’s fools joke and Ania (my wife) gave me this suggestion. Other ideas were:

    • starting to work for Microsoft Canada (I had such offer month ago but no one would believe in this)
    • dropping OpenEmbedded/Poky in favour of T2 from TimeSys (also hard to believe)

    And few others also too hard to believe so I wrote what I wrote. Sorry guys.

    Written by Marcin Juszkiewicz on
  4. Moving to London

    After long discussion with my wife we decided to move to London, UK.

    Why such move? Many reasons — I will name a few:

    1. Many of our friends are already there.
    2. I miss leaving home to go to the office (especially since I have small daughter).
    3. I miss contact with coworkers.
    4. More gadgets available at work.
    5. End of hardware problems as company provides it.

    When will it happen? I already discussed it with Matthew and it will happen in June/July (to be able to travel to GUADEC with all OH guys).

    UPDATE: No — I will not move to London. This post is (maybe a bit cruel) 1st April joke. More info in other post.

    Written by Marcin Juszkiewicz on
  5. Very small test of Maemo media players

    One of my home computers exports lot of music over Samba (everything as one share). In next room I have HiFi system where I like to play some of them. So I decided that N810 (or even 770) should be enough for it.

    Default Media Player

    Simple application with support for simple media library (internal flash, memory cards and Internet links). Playing from my Samba collection is possible but require adding files (no way to add folders) so playing more then one album can be real PITA as file requester always starts in “Documents” folder instead of last selected one.

    Canola2

    Nice looking application with support for simple media library (one folder in internal flash, memory cards and Internet links). No Samba support at all.

    UKMP

    No idea does it supports Samba or not — after installation is just told “no albums found, bye”. I wonder how people are supposed to use it… Maybe it require “faking” some albums before first start… I have to admit that I have no idea — UKMP homepage contains release notes not documentation rather.

    Also it’s post installation script do very nasty things:

    rm /media/mmc1/covers/songlist.txt
    rm /media/mmc2/covers/songlist.txt
    rm /media/mmc1/covers/*.avi.jpg
    
    cp /usr/bin/MediaCenter.py /usr/bin/MediaCenter
    cp /usr/bin/uktube.py /usr/bin/uktube
    cp /usr/bin/ukmp.py /usr/bin/ukmp
    rm /usr/bin/MediaCenter.pyc
    
    chmod a+x /usr/bin/MediaCenter
    chmod a+x /usr/bin/uktube
    chmod a+x /usr/bin/ukmp
    
    rm /media/mmc1/covers/songlist.txt
    rm /media/mmc2/covers/songlist.txt
    rm /media/mmc1/covers/*.avi.jpg
    

    For me this is good example of “I do not have idea how to build package” and “I do not care about users data”.

    Kagu

    Simple(?) interface, no possibility to tell where to check for media files…

    MPD based streaming

    Other solution is streaming from Samba machine (with “mpd” for example) and then playing stream with even default media player. But then I would have to use two programs just to be able to play songs (one to control “mpd” and second for playing stream). I did not tested this way (yet).

    Local mounting music collection

    I can probably install smbfs and smbmount packages (or rather build and install) and then play from “local filesystem”.

    Other way is use of FUSE to mount Samba shares but (as usual) fuse packages are not available for Maemo.

    And what will happen when shares will be not available? None of those players will know that it was remote folder and will probably poll() it for updates…

    Summary

    Nice device but still no media player which will be able to play my media directly.

    Arghhhh…

    Written by Marcin Juszkiewicz on
  6. GIT - second try

    Due to recent discussion on OpenEmbedded mailing list I decided to give GIT second chance (first one was few months ago).

    I imported Poky using git-svn tool and started hacking. First work was switching to OPKG (described in other post). I created branch for it and changed bit after bit — result was patchset with 17 patches. I pushed them into official Subversion repository in a bit other order and as few less revisions. After that I dropped branch as not needed any more.

    Next was creating few branches for local hacks. Merging branches is easy when there are no conflicts and require manual calling of git mergetool FILE (instead of that being called automatically). Cherry picker works very nice and “rebasing” branches recognize such revisions.

    Nasty thing is that every change has to be committed before switching branches as there is only one “working copy” at time (not like in CVS, Subversion or Monotone where you need “working copy” per branch).

    What do I feel about GIT now? I started to like it.

    Written by Marcin Juszkiewicz on
  7. Good bye ipkg, welcome opkg

    During last days I was working on switching Poky Linux into using OPKG package manager. Today whole work was merged into trunk and we got rid of non-maintained IPKG.

    What is OPKG? It is fork of IPKG (from handhelds.org) done for Openmoko distribution. It has all usable patches from OpenEmbedded related projects merged and got some new features:

    • libcurl instead of wget for fetching
    • GPG signing of repositories is now possible
    • GUI package managers can have own callbacks
    • sends download progress updates to libopkg clients
    • marks packages that were installed to satisfy dependancies (auto installed)
    • additional command line option to remove “auto installed” packages
    • support for faceted classification (similar to debtags) - not used yet

    And most important — it is maintained (which can not be told about ipkg).

    Written by Marcin Juszkiewicz on
  8. Year with Openmoko

    It was over year ago — day when I got Neo1973 GTA01Bv3 as part of “phase0” developer program. What happened during that time?

    First there was “OM2007.1” version of interface. Ugly, hard to use, lacking features. But that was start so let forgive developers that they created such thing.

    Then OpenedHand guys created new look for Openmoko — and “OM2007.2” was born. As one of OH developers I created first recipes for it (so we were able to show it during GUADEC 2007) and later Openmoko guys switched to this set of applications. During next months I did testing from time to time — one of them resulted in most popular post ever: “OpenMoko 2007.2 testing”. It hit Digg and I had problems to reach website ;)

    In meantime Trolltech guys started to use Neo1973 as development platform (instead of Greenphone). It resulted in nicely working Qtopia Phone Edition which even got re-licensed to GPL. TT also officially announced that Greenphone will be no longer available but still supported.

    What does Openmoko release now for phone? To tell the truth: I have no idea. Last time when I switched Neo1973 it was for testing Poky 3.1 release on it. My GTA01Bv4 is now upgrading from 2007.11 snapshot (last available on downloads.openmoko.org website) so I will see what is going on now with development. I heard lot of E17 based applications for Openmoko + mixture of apps from Qtopia Phone Edition + GTK+ based ones. I hope that result will still fit in 64MB of flash…

    Will Openmoko idea survive? I hope that next half of year will show it. I also hope that it will survive — would be nice to have usable phone with possibility to hack any application or behaviour. But until then I will keep my SonyEricsson k750i cellphone or upgrade it to newer model.

    Written by Marcin Juszkiewicz on
Page 68 / 106