1. Ubuntu cross compilers

    Some time ago developers from Linaro asked me to provide cross compilers which will target ARM. I did setup two (amd64 and i386) chroots with maverick and started builds.

    Result is available at my area of people.canonical.com server as normal APT repository. Currently I provide gcc-4.4, gcc-4.5 and binutils there + all ARM libraries which are needed. And this is bare toolchain — you can build kernel with it or hello.c but if you want something more complicated then you will need additional libraries.

    Building of those toolchains was easy. Much more time consuming was improving packaging rules. I merged all cross ones into native related so (according to diffstat) over 1600 lines were removed. And that was not all — I am finding new things each day so lot of rebuilds happen. Thanks to Matthias Klose (also known as doko) who is Debian/Ubuntu gcc maintainer all those changes were reviewed, fixed, improved, accepted and released in last versions of “gcc-4.4” and “gcc-4.5” packages in both those distributions.

    UPDATE: all those packages are available in Ubuntu 10.10 (and later) repositories.

    Written by Marcin Juszkiewicz on
  2. Seeking or fast forwarding?

    Two months ago I bought my first television set: 42” Panasonic plasma. And as TV without cable is not so useful I also got cable TV with their set top box. One of features which STB has is possibility to record TV shows. It also automatically record during watching so pausing film just because of something is not a problem.

    But watching already recorded TV shows gives me strange feeling… That’s because of a way of moving backward/forward in the film. It works like in old video tape devices :(

    When I am watching films on my computers I am using MPlayer for it. On cursor keys + PgUp/PgDn ones I have seeking for 10s/1m/10m which is immediately jump. On set top box I got fast forwarding instead which does not allow me to quickly jump over commercials or part of previous show which got recorded before main show. Same problem appears on Philips MCD-712 player which I use to watch DVD/DivX/Xvid films. It gives x1/2/4/8/16/32 playing speed but no seeking to which I am used.

    I wonder when vendors will notice that more and more customers never used tape based devices (never mind video or audio ones).

    Written by Marcin Juszkiewicz on
  3. Switched to ATI Radeon

    Some time ago I mounted my old monitor to the wall and configured my system for dual head. With NVidia 7300GT card setup was easy — Twinview handled it quite ok after fixing configuration so panels were properly setup and located:

    • 24” on the left with 1920x1080 resolution as primary display
    • 20” on the right with 1680x1050
    My monitor setup
    My monitor setup

    But after few days I decided that enough is enough. From time to time I had X11 session where maximizing window == placing it on two monitors (which was pain when second one was off or switched to BeagleBoard output). I do not have to add how uncomfortable it was…

    So after discussion with few friends I decided to give a chance to ATI and bought Radeon HD5450 card. It is nearly cheapest card on that chipset (I bought DDR3 one instead of cheap DDR2 one) but it feels faster then GeForce 7300GT which I was using before.

    But dual head setup is still a problem. Ok, X11 can now start without “/etc/X11/xorg.conf” file (I needed it with NVidia card) but after X session start I need to use XRandR to:

    • switch panels to native resolution (instead of 1680x1050 for both)
    • change orientation (20” on the right to 24” instead of cloning)

    And then I have few strange things in system:

    • KDE panel does not enlarge with resolution change
    • RSIBreak blackout is only on 1680x1050 area of 24” panel

    So it looks like in near time I will continue fight with creation of proper “xorg.conf” file to get my displays configured properly out-of-box. I wonder when situation will change as it looks now that there is no standardized way to tell which display is which in configuration file (both panels are Samsung, both give “SAM” as name in EDID).

    Written by Marcin Juszkiewicz on
  4. LinuxTag 2010

    This year I attended only one day of LinuxTag: Friday. There were many reasons for that but I am glad that I made at least that.

    Wake up at 05:00 is hard… But I had a train to Berlin to catch. It was IC so power sockets were available and I watch some film and checked once again program for a day.

    First attended talk was “Truths and Lies: Where’s the Open Source Modern Mobile Phone?” by Mickey Lauer. I like his presentations - they are always interesting and professional. His expertise in mobile phones running open systems warrant good talk. This time he did not mentioned FSO or oFono but told why Android (HTC Dream), WebOS (Palm Pre), Maemo (Nokia N900) are not open source systems. Why does it matter? Open system allows you do anything with device — you can even send it to space (like it was done with Openmoko GTA02).

    I missed “Mobile Development with Qt and Qt Creator” presentation but Nokia guy at their stand explained later how does it work and why it is worth checking. In short: usable IDE with simulation of target device screen (from 1:1 display size to 1:1 resolution size).

    Dirk Hohndel from Intel had a talk about “MeeGo - Linux for Mobile Devices”. Nice talk with presentation of current release on older laptop. Some background informations how it started from meeting of Intel and Nokia guys. And then someone asked will all existing applications will be rewritten to Qt (which is primary toolkit in MeeGo). Dirk tried to not answer it directly but finally said that no, current apps will stay with GTK+ (Clutter, MX) and only new ones will use Qt. I was not surprised — I know Moblin guys and their preferences when it comes to UI toolkit.

    Next talk was about writing native code for Android and about how much can be done without going to Java world. As I am considering Android as a system for my next cell phone I was interested. But native does not free developer from Java. The idea is that you write C code, build it into library and then you need to write JNI which will be used from Java application to calls functions from native library. So ok, it gives speed but you still need to know Java ;(

    Debian Pure Blends” talk did not attracted many people. Andreas Tille told that many derivatives exists and some of them got merged back into Debian (like Skolelinux) while some does not even look like having sense in them.

    Debian GNU/kFreeBSD” summarised why Debian with FreeBSD kernel was made, what it gives and what is missing. Also note that NetBSD and OpenBSD based attempts were done but died few years ago. Is it worth using? I can not answer to that question. But if you need ZFS

    And at the end of a day Amit gave a talk about Linaro. There were about few people and most of them from Canonical.

    But LinuxTag is not only talks. There are booths to visit, friends, coworkers and other people to meet etc.

    Texas Instruments presented their low cost boards: HawkBoard, LeopardBoard and BeagleBoard XM. Each has own uses as they are using different processors and have other features. I hope that one day BB XM will replace my normal one but first they need to be available to buy (Digikey information is “6 weeks”).

    Nokia had big stand where they presented Qt Creator software and Qt demos on N900 connected to flat TV. I asked some questions, got answers and now need to find some time to check their software and move my Protracker module player ahead.

    OpenEmbedded had stand as well — this year not as a part of Tarent embedded area but small one in next hall. Florian Boor spent whole day manning it and presented few interesting boards. KaRo one (based on Sheeva cpu) was interesting — too bad that this is only armv5te ;(

    Speaking of Tarent… Was nice to meet them, but did not had a time to talk much.

    Met Matthias Klose (widely known as ‘doko’) who is Debian/Ubuntu toolchain maintainer. We had a short talk about our cooperation.

    Conference ended, we went to centre for some food and then I had a train to catch to go back home.

    Overall it was good to be there. But it was last time when I go for one day — it is simply too short to be able to meet everyone and talk longer then few minutes.

    Written by Marcin Juszkiewicz on
  5. New laptop: Asus UL30A

    New job, new laptop someone would say… But that’s not so easy when you have own company.

    But my Dell D400 became desktop laptop due to nearly dead battery and I had UDS-M to visit so needed new mobile computer for use. After some checking of reviews, user opinions etc there were few models selected. Hopefully nearly at same time my brother-in-law bought Asus UL30A so I could check live how good/bad it is.

    And one day my own UL30A arrived. Hard disk was clean — no MS Windows, no ASUS ExpressGate. Grabbed 2GB pen drive, put Kubuntu 10.04-rc2 image on it and booted. With help of “alternate install” which in reality means “Debian installer” I was able to setup it in my way (encrypted partition with LVM on top so rootfs, swap, home are encrypted).

    System works fine, all components were supported out-of-box. At least that was what I thought. After some checking it was clear that something is wrong with touchpad — it got detected as PS/2 mouse with scroll. 2.6.34 kernel from Maverick solved problem after using “force_elantech=1” option for “psmouse” module.

    Dual core SU7300 processor maybe is not fastest possible but does work properly and uses small amount of power. During UDS I was able to carry only laptop with me — power supply was on desk in hotel room. With few tweaks from PowerTop I was able to get 8h of work (sometimes even 10h were reported). Such long battery life was the main reason for buying ;)

    When it comes to graphics everything works fine. Intel 4500 chipset works fine with my 42” plasma TV offering me 1366x768 from internal LCD + 1920x1080 over HDMI. Watching films never was such easy — I just need to plug cable and play as audio is also sent. Problem is that I had to tell MPlayer which ALSA device to use for HDMI :( Maybe one day it will be automatically detected and switched. What surprised me was console output on TV when I rebooted with HDMI cable attached. Nice thing.

    Playing 720p movies from local hard drive required few steps from me (otherwise it gets out of sync):

    1. disable internal LCD
    2. switch TV to 720p mode (instead of 1080p)
    3. big cache for MPlayer

    Maybe other players works better but I am so used to MPlayer… Before it I used avifile iirc.

    Do I recommend this laptop? Yes, I do — long battery life, 13,3” screen, 4GB of memory, 320GB hard disk and dual core cpu make it nice portable work station. Small enough to watch films during train trips, keeps long enough to allow to do that even in trains without power sockets. It is good replacement for my Dell D400.

    Written by Marcin Juszkiewicz on
  6. How old your $HOME is?

    Today I got hit by some bug in Ubuntu. I checked what is going on and reported to bug tracker. But what is found out during checks?

    Files from 2001 year. Yes, my “~/.bash_logout” is over 9 years old now. It only runs “clear” on text consoles but it is oldest not changed configuration file in my system. Created under Debian ‘potato’, survived upgrade to ‘woody’ and then to ‘sid’ which I use since it was created. During that time I had one system re-installation — when switched to x86-64 architecture.

    According to results of “find” command older are only files from my master thesis which I wrote in 2000/2001. How old your $HOME is?

    Written by Marcin Juszkiewicz on
  7. UDS-M continues

    Today is a last day of Ubuntu Developers Summit. I plan to attend few sessions, on evening maybe go to Brussels for some shopping (UDS is in a middle of nowhere) and tomorrow I hope to fly home.

    So far I attended several sessions, some were too Ubuntu specific for me to get idea what it is about (PPA or other Launchpad related services for example) but in general time is not wasted.

    Monday

    Missed keynote ;( I blame Belgium train company for it. But I fetched it from YouTube so will watch it during return travel. Then Ubuntu on ARM project had private meeting where we had a chance to connect faces to names and got some short introduction. That was all for me — after lunch^Wbreakfast I got to sleep. During dinner time I met some fellows from old time: Rob Taylor, Neil Patel, Peter Goodall and spoke with several other guys.

    Tuesday

    ARM talk about toolchain was great. GCC 4.5 is what we want for our project I think. There was also warning that switching to 4.6 version will probably require transition process. Then I was on AEL/ALIP talk — should attend SoC:Dove talk instead. Session about building root filesystem images was started by me and then lead by Luïc. There was some good ideas told, many tools were mentioned so I will have something to do in near time. Another talk about toolchain and then Device Tree overview — what it is and why we want it.

    Wednesday

    Another sessions related to development tools for attending, one about U-Boot features and performance and three about building ARM archives. Kiko’s introduction to ARM was interesting presentation.

    Day finished in Waterloo where we had a dinner with ARM Ltd. people. Nice chats with good food and wine.

    Thursday

    Attended memory footprint talk, next was kernel version alignment where people from ARM vendors gave us informations about their work on getting support for products in mainline kernel. Looks like 2.6.35 will be used in Maverick release.

    Later was marketing talk about Freescale i.mx51/53/508 cpu family plus mentioning of Cortex-A9 based i.mx61/63 chips which will be released next year. Rob Herring mentioned that there may be BeagleBoard like device with i.mx53 processor available.

    Zack from Debian told about cooperation between Debian and Ubuntu developers from Debian perspective. It was nice talk. Next was about plumbering and explained how HAL got removed, how other components changed in base of base system. Looks like upstart developers know what they do and where they are going.

    As a way to get something different I went to QA session about tracking performance on different architectures. Mostly it was about Phoronix test suite and how it can be adapted for ARM. Then went to cross compiler packages which was nice session.

    Last session was SoC: OMAP3/4 talk made by Texas Instruments people. They had Blaze with them, shown Ubuntu Lucid on it and then booted to Poky Linux to show OpenGL/ES and video decoding capabilities. Playing 6 video streams on rotating cube was nice. Playing 1080p videos without any visible frame drops was another nice stuff. And there will be OMAP4 based PandaBoard developer board similar to BeagleBoard line. When it arrive was not announced.

    After that I went to Brussels with TI people for some food and beer. Discussed on many things, I shared my suggestion on how to make PandaBoard really nice, we did few beers. It was good spent time.

    Friday

    First got to rootless building of root filesystem images, then was ‘mukluk’ soft bootloader which is yet-another-kexec-based-bootloader. A bit of NIH syndrome but can grow into something interesting and kexecboot got mentioned few times.

    Written by Marcin Juszkiewicz on
  8. UDS-M day 0

    Tired, tired, tired. That’s how I feel now. And all by one trip which had to end over 12 hours ago…

    I left home after 13:30 and took taxi for bus station. Then bus to Berlin Schonefeld airport — arrived before 17:00, passed security check and found good place to wait for depart. Some flights were cancelled, some were late but my to Brussels was still listed as operating one. Forty five minutes before depart it got cancelled :(

    So let’s check options… Other flight maybe? Frankurt and Köln were listed still but who knows will they fly… So I decided for train. Launched browser, accepted data roaming warning and started checking. One hour later, at Südkreiz, I had a set of tickets in a pocket. Paid 160€ for it — more then my flight tickets in both directions…

    My cellphone got discharged at that moment, so I took laptop from the bag and connected both devices to get some power for phone. Worked good.

    Went to Berlin Hbf station, got some food and beer and half past midnight took first trip: to Köln. I discovered where power sockets are but it was a bit too late to take such seat :( But I managed to get about 3 hours of sleep.

    Köln station had free wifi at Starbucks (btopenzone network) so Twitter, emails and checked some UDS travel part. Then TGV to Brussels. This time power sockets were easy reachable so laptop got charged a bit and phone to the maximum. Watched a movie, checked some code.

    Brussels station was disaster. Ticket machine did not accepted any of my cards so I got into queue so first train got missed. Second one got cancelled… One extra hour on that crappy place where there is no such thing as information in English…

    Now I am somewhere between Brussels and La Hulpe and hope that will not miss station. Then finding hotel, register and trying to find coworkers which I never met.

    And just because one vulcano did what it did I had to spend extra thirteen hours for a trip :(

    Written by Marcin Juszkiewicz on
Page 50 / 106