1. Generic Linux cross toolchain for tests

    Some time ago we agreed that not everyone here uses Ubuntu distribution and decided to provide so called ‘generic linux’ cross toolchain. Recently I managed to get it done and now need brave testers to tell is it working or not.

    Get it here: http://people.linaro.org/~hrw/generic-linux/ (64bit only)

    Needed files are toolchain-11.07.tar.xz and init.sh script. Unpack tarball from / so /opt/linaro/11.07/ will be populated and put init.sh anywhere you want (it will be integrated into tarball later).

    How to use:

    $ source init.sh

    this will add cross toolchain into PATH and also set LD_LIBRARY_PATH to two directories:

    • one with binutils libraries
    • second with all extra libraries which may be needed

    Feel free to experiment with second dir by removing files from there and checking are system provided libs are fine too.

    So far I checked this toolchain under few distributions:

    • Ubuntu 10.04 ‘lucid’ LTS
    • Ubuntu 11.04 ‘natty’
    • Fedora 14
    • OpenSUSE 11.4
    • CentOS 5.6

    It failed only under CentOS (which was expected due to it’s age).

    How did I checked? So far compilation of ‘gpm’ and ‘zlib’ were tested.

    Written by Marcin Juszkiewicz on
  2. Linaro Connect Q3.11

    As I did not had a mood to blog during event I decided to write something about after it ended.

    First what this Linaro Connect is about… Is it conference or rather an event which has to gather people in one place so they can reach each other easily? From what I saw during last week it is both.

    There were several summits which I did not attended so does not have anything to write about them. Inter team meetings during which people were sharing their knowledge about their work and how to use it to improve work of other teams — here the most active were Android and Validation teams (in my opinion). Schedule was full of Android sessions and LAVA was quite often heard word.

    For me event started on Sunday as I had taxi at 6:30 in the morning. Then bus, plane and then waiting 2h in terminal 1 of London Heathrow airport waiting for few other guys to appear as we had to share a cab to hotel where I arrived at ~17:00 local time. Yes, my travels sucks.

    Went outside with Zygmunt Krynicki to find some place to eat. Found few takeaway only places and small restaurant with India food which was delicious.

    Monday started with traditional English breakfast (you know: eggs, bacon, sausages, fried bread, baked beans and mushrooms kind of one) which was quite good and we had it daily. When it comes to food at hotel it was good and someone had great idea serving different cuisine each day.

    Starting plenary with informations from each team about what do they plan for this week. Then work, meetings, coding, hacking etc. Attended several meetings like binary toolchain discussion with toolchain working group, Matthias Klose from Ubuntu and several people from ARM Ltd which maintain ARM Development Studio 5 (DS-5). Also went for hard float summit with not only Linaro or Ubuntu but also Fedora and Marvell people.

    But work is not the only thing we did. There were activities for evenings too.

    On Monday we went outside for karting. First we were equipped with proper suit, shoes, helmet and then went for safety instructions.

    Racing was fun. Each team were split into two sub teams (as there were two tracks) with 4 people in each. That gave 15 minutes per person, but as one of us decided to not drive second one we had 20 minutes on it.

    Was it fun? O yes, it was. Especially outside track where speed was higher and engine more powerful but as steering was tough my right wrist reminded me that RSI problem which I had few years ago (this time pain vanished during night but got back at closing party). Our team took 6th place in total.

    Tuesday and Wednesday evenings were “reserved” for team meals. First day we went to Browns and Punter was next one. Food in both was tasty and came in big amounts.

    But food was not the only way to spend evening. On Wednesday we went punting on a river in Cambridge. Our punter was presenting us with informations about colleges and bridges we were passing by — things like who created them, when, why etc. Some people took photos but so far I did not traced whom to contact to get a copy.

    Thursday we had a dinner in King’s College. Dinning hall looked nice with all those portraits and food was good. Had a nice talk with ST-Ericsson people about their cheap developer board Snowball which I complained about in other post. We got to the point that the CPU on board was created for mobile devices use (that’s why no usb host functionality) and that all those industrial connectors are present because it is more board for prototyping new devices.

    Friday was last day. We did some hacking, packed equipment of our room and prepared for closing plenary. At the end we had small party with some activities and food. I left it early — was tired and wanted to discuss with Zygmunt a bit (normally we chat often during company events but this time we got separate rooms).

    Return trip was a copy… taxi, plane, bus, taxi. Went home around 22:00 and gave inflated sword (from closing party) to my daughter — she liked it ;)

    Written by Marcin Juszkiewicz on
  3. What is wrong with all those cheap developer boards?

    I own several developer boards and used many others. During last two years more and more so called cheap developer boards arrived on market but are they good or not?

    This week I am at Linaro Connect Q3.11 now and there are many boxes here with Origen boards so I looked at one of them.

    Board looks quite nice — there is CPU module and carrier board. 2 SD/MMC slots, serial, jtag, usb device, usb host (just one), power, audio in/out, lcd connector, few keys and microHDMI (cable to normal HDMI provided). Guess what is missing… Yes, they forgot to put Ethernet on board. Someone may say “but there is WiFi instead” but show me wireless operating at 100Mbps in all situations… I also got information that provided HDMI cable is quite fragile and can break. Normal size video output would fit without problems…

    But board design problems are not limited to Samsung one. There is this nice i.mx53 Quick Start board from Freescale. You get VGA output and several other connectors. Nice change compared to other boards is SATA connector. But this also can be a problem cause you have to provide separate power for your Serial-ATA device. HDMI output (with audio) costs extra 49 USD but as this board is really small (3x3”) there was no space for it.

    Next one? ST-Ericsson Snowball - board with lot of connectors with huge amount of different signals but without USB host ports. There is one USB OTG port and one USB device. Is USB host cable provided? No, it costs 8.04EUR more. What worries me is lack of USB signals in expansion slots (at least thats how I understood documentation). CPU for mobile phones^Wdevices only?

    What we left? PandaBoard from Texas Instruments. I think that this is still best cheap developer board when it comes to ARMv7 cpus. It is not perfect (slow USB, lack of SATA) but things supported by OMAP4 processor are available. Ethernet is on USB but better such then none, 4 USB ports (2 on edge, 2 on expansion) and normal HDMI connectors for video.

    Note that I do not compare speed of boards or how good/bad they are supported in mainline kernel — some of those things can not be compared, other are changing daily. For now I am staying with 2 Pandaboards and will wait for other boards to get up to it with kernel support.

    Written by Marcin Juszkiewicz on
  4. Dublin: Ubuntu sprint and more

    Last week there was Ubuntu platform sprint in Dublin, Ireland. I was there as one of invited Linaro guys (we got own room). What for we went there?

    Work. Simple word but so much content in it. Sprints like this one allow to cooperate with other developers and this time I spent some time with Ubuntu ARM, Foundations and Kernel teams. But most of time I spent with Linaro guys as we had release of 11.06 to do.

    My part was building cross toolchains for Ubuntu — including few already released ones. So I pushed several updates to ‘oneiric’, ‘natty’, ‘maverick’ and ‘lucid’ versions:

    • binutils
    • gcc 4.4.6-3ubuntu1
    • gcc 4.5.3-1ubuntu2
    • gcc 4.6.0-14ubuntu1
    • eglibc 2.13-6ubuntu2
    • linux 3.0-1.2

    If you are running 11.10 ‘oneiric’ then all you need is just apt-get install g-arm-linux-gnueabiand will get cross compiler. For "armhf" compatible oneapt-get install g-arm-linux-gnueabihf needs to be used. For those which run older releases there is Linaro toolchain backport PPA where packages are available for “amd64” and “i386” architectures.

    Other part of my work was related with Star rating system which we plan to use to show status of boards supported by Linaro. I did some tests with PandaBoard connected to two monitors at same time and reported several bugs. Situation is nice but many things still need work.

    At one moment I was creating “lucid” chroot on my “oneiric” system to be able to compile toolchain. And then I got a problem which ended in bug 802985 which needs fixing in all supported releases… Also debootstrap needs to be expanded to handle multiple suites at one time — otherwise there will be no way to populate chroots with older releases on any machine running 3.x kernels.

    But work is not the only thing which we spent time on. Evenings were usually in pubs or similar places.

    On Monday I went to hotel bar, grabbed a beer and started discussing with some random people. At one moment (when we were talking about OpenZaurus) one of them asked who I am and then went and bought me beer — he was Zaurus user whom I helped in past ;) So never know who you can meet…

    As I have few friends in Dublin area I contacted them and on Wednesday evening I went with one of them to Club Chonradh na Gaeilge Irish pub where speaking English is nearly forbidden (but we were using Polish so no problems :). There was one bard singing Irish songs. Nice place, nice event.

    Thursday was team dinner — went to Rustic Stone. Nice place, awesome food:

    My dinner in Rustic Stone
    My dinner in Rustic Stone

    Friday was a day when many of us started packing and some even left earlier to catch flights. As Wookey asked me week before sprint to take my N900 with me we made a deal and I got some Euros and he got phone with all accessories. So guys — now really no more Maemo support from me (not that I did anything in this area since move to Nexus S).

    On Friday also other part of visit started for me — my wife Ania arrived and we went to our family to spend nice weekend in Ireland.

    We drove to Howth, spent some time looking at area from highest(?) mountain:

    Then beach in Portmarnock where my wife started collecting sea shells… Quickly we got lot of them but I managed to put them in luggage somehow ;)

    Evening was funny as we had to meet with one of my old friends. The “problem” was that we never met in real life yet and I forgot how does he looks. When I told that to wife and rest of group they were really surprised that such thing can happen ;D But we found each other and went to the Church Bar which is made from old St. Mary’s Church of Ireland which is one of the earliest examples of a galleried church in Dublin. Built at the beginning of the 18th century and renovated in 21st century. Nice place to visit in Dublin.

    On Sunday we went into Wiclow county. Upper Lake at Glendalough then Glenmacnass Waterfall and few stops during trip to watch landscapes:

    My wife and me
    My wife and me

    Monday was different — we went to Dublin for normal sight-seeing. You know: buildings, churches, castle…

    Then packed bags and went to airport. The good part of Aer Lingus is that there were no problems with checking-in two bags on my ticket (but queue to just drop bags was insanely long). 2h flight, then another 2h in a bus and we finally arrived home. This part of conferences trip I like most — arrival at destination (as in Europe trips can take even 9h for me).

    Written by Marcin Juszkiewicz on
  5. Linux 3.0 under Ubuntu ‘natty’ 11.04

    Now, when Linus Torvalds released Linux 3.0-rc many people are trying to update to this version. I did it recently on one of my machines and decided to share instructions with others.

    For Ubuntu ‘natty’ 11.04 users the easiest way is to use packages from ‘oneiric’ 11.10 release. There are few ways of doing that.

    Grab packages way

    Not best option but easy do to and does not require lot of work — just need to grab three packages:

    • Linux 3.0 kernel image — select newest version and required flavour (generic/server/virtual)
    • module-init-tools — version 3.13 is required to get modules working, 3.16 is now available in oneiric
    • procps — to make ‘ps’ not complain due to lack of 3rd digit in kernel version

    Then install resulting debs and reboot computer.

    APT pinning way

    This method requires editing system configuration but is nicer. You need to create file (‘30-pinning’ for example) in /etc/apt/preferences.d/ directory with this contents:

    Package: *
    Pin: release n=natty
    Pin-Priority: 900
    Package: *
    Pin: release n=oneiric
    Pin-Priority: 800

    This will tell APT that packages from ‘natty’ 11.04 release are what we want but ‘oneiric’ 11.10 ones can also be installed.

    Then next step is adding ‘oneiric’ repositories. I did it by going to /etc/apt/sources.list.d/ directory and making copy of ‘natty.list’ as ‘oneiric.list’ + search/replace ‘natty’ -> ‘oneiric’. Then use your preferred package manager frontend and install packages from first method — with “apt-get” it would be:

    apt-get install -t oneiric linux-image-3.0-1-generic module-init-tools
    apt-get install -t oneiric procps

    funny note

    My machine has two 50mm fans which were very loud with 2.6.39 kernel (something ~4700rpm). Under 3.0-rc3 they are unnoticeable at 1700-2700rpm only.

    Written by Marcin Juszkiewicz on
  6. Moved website hosting

    Since I created my first website (in 1996) it got moved many times and have different layout/contents. First version was kind of expanded bookmarks from Lynx browser, later it got improved and finally I started experimenting with dynamic websites. During that time it was hosted at university or on servers owned by friends. Finally few years ago I moved to commercial hosting but recently decided that it is a time to take control and host it by myself.

    So now it is running on my home router — I hope that it will survive any amount of readers for websites which I host here (but no DDoS please — I need bandwidth for work). Will it stay here? Time will show.

    Written by Marcin Juszkiewicz on
  7. Reorganization of desk: day 1

    Before UDS-O I decided that it is a time to change organization of my desk. Current setup is effect of two years of using several boards/computers etc.

    Today I went on desk and under it and started disconnecting all cables which are no longer in use:

    • 3 null modem serial cables
    • 3 USB extenders
    • ATX 200W psu modded to provide 5V/12V for developer boards
    • E-SATA cable used with USB/ESATA hdd enclosure which is now connected over USB to PandaBoard
    • 3 Ethernet cables
    • mini-USB cable used as serial console with SheevaPlug
    • VGA cable which was used with second LCD — will be reconnected when there will be time for desktop

    But that’s just beginning. Next days will bring disconnecting all developer boards, moving cable modem and phone base near to router, mounting two PandaBoards on piece of MDF (so they will not float), mounting some extra shelves to get rid of stuff from desk.

    At the end I plan to have 2-4 LCD panels (or 2 monitors + 4-port KVM switch), two keyboards, two mouses, two laptops on one desk. Hope to finish it before end of next week.

    Written by Marcin Juszkiewicz on
  8. Linux 2.6.38 on Efika MX Smartbook

    Some time ago I updated my Efika MX Smartbook to run latest natty (which it was running since I got it) and then to newer kernel: 2.6.38 version.

    Most of informations how to do it I got from guys sitting on #efika irc channel. There are 3 git repositories involved:

    Fetch/checkout all three into separate directories.

    First we need sdma firmware. Do not ask me what it is — you will need it to build kernel. Cd into directory, call “make” then copy sdma-imx51-to3.bin into firmware directory of linux kernel sources.

    Second step is applying patches to kernel. Cd into linux dir, checkout a10aabd5e313ec6481569be20d120191692b4ca6 revision (this is which I used) and call:

    QUILT_PATCHES=../rtp-patches/ quilt push -a

    This will apply all required patches. Grab my kernel configuration and store it under .config name. Feel free to make some changes into it. Then build kernel.

    How to get kernel to device is left for readers — if you know how to build then you are expected to know that.

    Next step (we nearly finished) is to boot kernel. So reboot machine and watch how it gets up and running. With my kernel config you will probably see nothing… Cause I moved lot of things into modules. Edit /etc/modules file and add:

    • snd-soc-imx-3stack-sgtl5000 — sound driver
    • efikasb_rfkill — needed for wifi to work
    • mx5fb — framebuffer

    Do not expect that 2d/3d stuff which works on official images (with non-free packages) will work. But if you will check modules then you can also look what is in NOR flash (but better do not play with it):

    hrw@efika:~$ cat /proc/mtd dev: size erasesize name mtd0: 00040000 00001000 “u-boot” mtd1: 00010000 00001000 “config” mtd2: 00010000 00001000 “test”

    Is it worth playing? Yes and no. Good is that kernel is more fresh then which was installed, but also it lost some 2d/3d acceleration support. But who knows… Maybe one day :)

    Written by Marcin Juszkiewicz on
Page 44 / 105