1. Tizen: first impressions

    During my stay in Oakland, CA (due to Ubuntu Developer Summit) I decided to attend also Tizen Developers Conference. Not that I have any relations with this platform — just wanted to meet some friends from Maemo times. And I did not had plans for Tuesday evening while Tizen visitors had social event planned in The California Academy of Sciences.

    For those which do not know what Tizen is a bit of history. Years ago Nokia made few internet tablet devices (770, n800, n810) and phone (n900) which were running Linux distribution named Maemo. It was loosely based on Debian. In meantime Intel created Moblin which was their distribution for mobile devices. Few years passed and they joined forces and MeeGo was born. Nokia released N9 phone with it, ASUS had netbook running MeeGo and maybe few other devices appeared on market. Then history repeated: MeeGo merged with LiMo and they created Tizen project.

    It is hard to tell was conference success or not because I did not attended any sessions there — just opening keynote by Jim Zemlin. On first day I also came for technical showcase and partner demos. But they were squeezed in very small room so it was hard to discuss with people showing their work. Maybe next time organizers will give at least 4m² per demo — this should be a minimum.

    But today I got Tizen Developer Platform device and thumbdrive with SDK on it. So decided to play a bit with it. It was not enjoyable experience.

    First ugly part was Tizen SDK “so-called” installer. 823MB shell script… I thought that those times passed long time ago. Anyway tried to run it. All I got was message that 64bits systems are not supported. Good to know that, but my x86-64 systems are able to run x86 binaries without problems. Ok, I made workaround and then got message about missing qemu, rpm, libsdl packages. No, I will not install rpm on my Ubuntu systems.

    So I decided to cut that crappy shell script and take a look at tarball. Fast “tail -n+122 tizen-sdk-0423.bin >tizen-sdk.tar.gz” and I was able to extract SDK. Got 26 zip archives.

    One of them contains rootfs created from packages based on Debian/Ubuntu packages. Some are from times when dinosaurs ruled the Earth (debianutils 2.17 was released in 2006), some are more fresh (like gcc-4.5 based on version from May 2011). In other words tradition started by Maemo is continued in Tizen and developers are given mix of fresh tools with long time forgotten ones. And Scratchbox 2.

    To connect with device there is “sdb” tool. It introduces itself as “Smart Development Bridge” but in past it was named “Samsung Development Bridge” (run ‘strings’ on binary). And it’s father has a name “Android Development Bridge” and has some more options.

    Anyway if you want to connect to device then few steps are required:

    1. On device go to settings and set USB to ‘USB debugging’ mode. This will switch it into cdc_ether gadget.
    2. On host do “sudo ifconfig usb0 192.168.129.1” to configure networking.
    3. Connect to device: “ssh root@192.168.129.3”

    And then you can enjoy system which is a mixture of few Debian/Ubuntu versions. And forget about updates — unless you know how to get to 165.213.180.233 and know password of “kb0929.kim” user there (taken from /etc/apt/sources.list file).

    Device uses Linux 2.6.36 kernel with unknown patches on top including CMA and Android ones. Quite old one but works. Hope to get newer one from someone.

    What I do not like is availability of sources. There is review.tizen.org website with git repositories but I want to vomit when I see commits like “let’s add 2.6.36 kernel in one commit”. Lovely lack of ideas how to help developers.

    What I will do with device? Not decided yet. Waiting for instructions how to get into bootloader to boot own kernels. Then who knows… replacing Tizen with Android or Ubuntu?

    Written by Marcin Juszkiewicz on
  2. UDS-Q

    Another May, another Ubuntu Developers Summit. This time I am in Oakland, California, USA (even if my tweets shows Dallas, Texas as geolocation).

    As usual with US trips this one took insane amount of time. But I was 3cm from not going here… Why? Because I got stuck in toilet at home. Hopefully with help from neighbour I was able to bash door out and get to the bus stop on time.

    Then standard set of bus, plane, plane, train and finally arrived in hotel. As my room was not yet ready I got 30$ coupon to bar to not waste time on waiting. Free meal/beer ;)

    My room is at 17th floor (which means 15th) and has a nice view in the evening:

    Evening view at a street from 17th floor
    Evening view at a street from 17th floor

    On Sunday I went to see San Francisco centre (I saw Golden Gate on earlier visit). Chinatown was interesting experience. Lot of people speaking language which I do not understand, shops full of food which I do not recognize.

    Some random photos:

    Me on some square
    Me on some square
    Fountain
    Fountain
    Steep street
    Steep street
    A church
    A church

    After getting some souvenirs and refilling of my US T-Mobile sim card I decided to go to the cinema for ‘The Avengers’ movie. It was nice experience. Touchscreen operated ticket machines which allow to buy ticket in one minute (but people were standing in long queue to buy tickets in ‘normal way’) made it even better. As in Poland there was big amount of commercials before movie (including some in style “our Army/Navy is great, why not join us”) but what I liked was just-before-movie animation reminding about not talking/texting/tweeting during movie (made with characters from “Madagaskar” series). Have to admit that RealD 3D glasses were more comfortable than Dolby 3D ones used by Polish cinemas. Movie itself was great but I think that will have to see it in Poland due to my English ;D

    During evening there was usual Canonical internal plenary and then dinner. I even managed to sleep 6 hours despite jet lag ;D

    Monday started with interesting keynote and presentation of Calxeda ARM server using technology they were talking about at previous UDS.

    Calxeda ARM server
    Calxeda ARM server

    It is 2U case with 24 Serial-ATA discs and 12 nodes with 4 quad-core EnergyCore processors per node. The only cables inside are power ones as rest of connections is on pcb. Connection with world by four Ethernet connectors.

    I went to “Create filesystems for embedded devices” session where we discussed how to make Ubuntu Core even smaller. People mentioned OpenEmbedded, OpenWRT, buildroot as usual, we got some strange use cases too. What will come from it? Time will show.

    Plenaries were interesting. First Chris Kenyon told about cooperation with OEMs and ODMs and how it relates with Ubuntu. Laptop in a pizza box picture was nice — reminded developer boards. Then Bdale Garbee from HP shown us that there is no way to go though life without being served by HP technologies or hardware. Both talks were great and I hope that rest of plenaries will be like that.

    After plenaries I went to San Francisco to register at Tizen conference and to meet some friends from Maemo times. Technical showcase and partner demos were boring and it was hard to feel that it is something innovative. But who knows… maybe Tizen will be yet another phone/tablet/ivi/etc OS even when Moblin, Maemo, MeeGo did not succeed.

    During evening (back at UDS) there was ‘Meet & greet” social event. Our Linaro group (Amber, Ricardo, Paul, me) was showing member boards and replying to misc questions from audience.

    What next? Sessions, social events, discussions about my patches with other developers, some sight-seeing.

    Written by Marcin Juszkiewicz on
  3. Thanks to Kindle I am back to reading

    I always loved to read. In 6th class in elementary school I took fourteen books from school library at once (when only 3 were allowed). In 8th class I was going there only for required readings as there were no books there which could interest me (tough timing as I read all what liked and no money for new ones).

    Basically during my school life I used several libraries and at most of them has a status of ‘frequent visitor’ which meant no need to say name during books exchange. Also booking of rare books was possible.

    After studies I moved to other city then to another then to another… My amount of books was slowly growing because I wanted not to have too many things. Interesting new books were also usually expensive so compared to my income was not helping. And I somehow skipped searching for new libraries — instead were checking friends’ bookshelves.

    Once I settled down in Poznań and then in Szczecin my collection was slowly growing. And then, in November 2011 I bought myself Kindle Classic. Life got changed…

    First I loaded it with some documents and books which I had on hard drive — technical, science fiction etc. Reading was pleasure. Then I loaded more and more…

    Recently I started making use of promotions announced on “Świat Czytników” website which resulted in more and more books in queue. Then evenings, travels, waiting in queues transformed into reading spaces ;)

    It is good to read a lot again.

    Written by Marcin Juszkiewicz on
  4. Ubuntu 12.04 ‘precise’ and cross compilation of ARM kernels

    Over year ago I wrote How to cross compile ARM kernel under Ubuntu 10.10 and this became one of most popular posts on my website. It may work still but it is terribly outdated so I decided that it is a time for update.

    Users of Ubuntu 12.04 ‘precise’ have much simpler situation when it comes to cross compilation of Linux kernels than ones who use older releases. Everything is now in distribution, we have a lot of packages converted to multiarch so instruction is much shorter.

    There are few steps to cross compile Linux kernel under Ubuntu 12.04 ‘precise’ (for “armhf” which is officially supported now):

    • Install cross compiler:

    apt-get install gcc-arm-linux-gnueabihf

    • Fetch kernel source:

    apt-get source linux-source-3.2.0

    • Install packages required to build kernel:

    apt-get build-dep linux-source-3.2.0

    • Build kernel:

    cd linux-3.2.0; dpkg-buildpackage -b -aarmhf

    And that’s all. Linaro kernels will be as easy to build as Ubuntu one on next days as we have to update packaging to recent Ubuntu version.

    Written by Marcin Juszkiewicz on
  5. I joined MOTU team in Ubuntu

    I applied for MOTU (Masters Of The Universe) membership few days ago and today during Developer Membership Board meeting my application was part of agenda.

    Becoming MOTU is more complicated than gaining PPU (Per Package Upload) permissions which I got during UDS-O in Budapest. Members of board asked me many questions — it took 45 minutes to get from introduction to voting.

    But this is how it should be done — MOTU is responsibility for quite big amount of packages in Ubuntu. Anyway, we got to voting:

    15:57 < meetingology> Voting ended on: Should Marcin Juszkiewicz become MOTU?

    15:57 < meetingology> Votes for:5 Votes against:0 Abstentions:0

    And now I am proud member of MOTU team! Looks like next thing to apply for would be Debian Membership. I planned to do it in 2004 but OpenEmbedded took my attention ;)

    Written by Marcin Juszkiewicz on
  6. Updated cross toolchain for Ubuntu

    During last two weeks I was working on updating PPA with cross toolchain for Ubuntu. Current development branch (12.04 ‘precise’) got gcc 4.6.2 and 4.5.3, binutils 2.22, eglibc 2.15 and linux 3.2 headers.

    Then I started work on getting those updates also for previous LTS (10.04 ‘lucid’) and for previous stable release (11.10 ‘oneiric’). Versions between those two (10.10 ‘maverick’ and 11.04 ‘natty’) are not supported but binaries built for ‘lucid’ should work just fine on them.

    It is time-consuming cause I had to run many builds to make sure that everything is properly patched etc. I listed all required tasks in “Toolchain update for Linaro Toolchain Backports PPA for 12.03” blueprint on Launchpad. Most time-consuming is waiting for PPA builders but at that phase I was just checking did they finished already due to working on other projects.

    So if you are stuck on one of released versions of Ubuntu and need fresh cross compiler targetting “armel” (there is no “armhf” for this PPA) consider using PPA with cross toolchain for Ubuntu.

    And do not forget to report any bugs found to armel-cross-toolchain-base and gcc-4.6-armel-cross (or gcc-4.5-armel-cross if you use older one).

    Written by Marcin Juszkiewicz on
  7. I am tired of Raspberry/Pi

    Please people… stop asking me about Raspberry/Pi. I do not want it, do not plan to buy one (when they will be finally available for normal people) and for sure do not plan to support it.

    Raspberry/Pi may look as interesting hardware to you but it does not have to mean same to others. Want to run desktop? 256MB of memory means really crippled one (last time I saw this amount of RAM in desktop computer right before opening it to add 512MB stick). Sure, for 25-35 USD it is proper range as memory is probably the most expensive part. Device may be good for using it in more embedded environment where GPIO/I²C/I²S/SPI/UART matter — expansion connector provides those signals.

    But I would rather buy BeagleBone to play with peripherials connected to such pins. Someone may ask “why? it is more expensive”. Reason is simple — it is in production, already has expansions which adds things like video output, touchscreens. And it has ARMv7 cpu which allows me to run any ARM distribution available today — so Debian ‘armel/armhf’, Ubuntu, Fedora, OpenSUSE, Ångström (which is preinstalled with great IDE to play with device already) or anything other.

    I do not need small device which can run XMBC or Quake — have private PandaBoard which can do that too and has few things more than Raspberry/Pi.

    And I do not think that companies which do software should start working on <100USD hardware like article at Techblaze suggests.

    Written by Marcin Juszkiewicz on
  8. SD cards die

    So called ‘low cost’ developer boards (like BeagleBoard xM, PandaBoard, Snowball, MX53 Quick Start) do not have NAND flash on them so people are using SD/MMC cards as boot media and storage. So we, developers, went to shops and bought SD cards. Some got class4 ones cause budget was low already, some grabbed class10 ones hoping that they will be fast, other took class6.

    I got some 4GB Transcend class10 ones. They worked, gave me 15MB/s on read and were fine. Until recently they started giving strange kernel output, MMC timeouts, I/O errors which resulted in filesystem going into read only mode. As I prefer to have working board then wondering how much time it will survive I trashed both cards. Good that I had some spare unknown 8GB microSD ones. But in last ~year I had to throw away 4 SD cards…

    One of solution for it is moving rootfs to some more reliable storage. I did that with MX53 Quick Start — it has 320GB Serial-ATA harddrive connected. So for PandaBoards I could use 8-16GB thumb drives or USB connected hard drives. I had this in past when there was no mx53 hardware at my desk. But this means extra costs, additional cables, probably even another set of power cables…

    Will have to check market for good reliable SD cards soon. 8-16GB ones so there will be space available for doing builds. Or will switch to old school NFS root which requires only 64MB cards — just to load bootloader, kernel, initrd. Other option is a network storage like NBD, AoE or iSCSI but this requires more configuration.

    Written by Marcin Juszkiewicz on
Page 41 / 105