1. Used Chromebook for few days

    Some days ago I got Chromebook and have to say that device is amazing. Light, small and fast enough for conference laptop. During Linaro Connect I did some hacking on it with help from Olof Johansson and Andrew Wafaa (he brought Chromebook for me from Cambridge). I also used script from Jay Lee to get all information required to resize STATE partition and fit Ubuntu on internal storage.

    Now I am running Ubuntu ‘raring’ on my Chromebook with XFCE as a desktop — all running from internal storage (16GB eMMC from SanDisk). So far I did not remove original Chromium from device as I keep it as a reference system to be able to compare what I got with how it works with system from Google.

    So what works? Most of things — suspend/resume, wifi, bluetooth, sound, touchpad, usb ports, sd storage, camera. But why they should not work when I am using same kernel binary as Chromium OS does ;) So far did not yet came to rebuilding kernel — there were more important things to do first.

    During Wednesday hacking evening I updated xf86-video-armsoc driver to X11 ABI 13 used by packages in ‘raring’ so I got 2D accelerated environment. Tried to find all sources required to build xf86-input-cmt driver but then got hint from Olof that “evdev” driver is enough — all it needs is small snippet of X11 configuration. And yes — it works but is not precise. Andrew told that he will try to build “cmt” driver for OpenSUSE so we will know how better it is.

    What next? I have to create package for “cgpt” (GPT manipulation tool with support for Chromium OS extensions), tools and keys needed to sign kernel and kernel itself. Then some work would be needed for OpenGLES stuff but this can wait. I plan to upload everything needed into Debian and then request syncs to Ubuntu. From yesterday’s discussions I know which mailing lists I should go.

    But I do not plan to cover everything. There will be no installation support from me. Users have to do it on their own cause there are several ways of getting other operating systems on Chromebook:

    • boot from SD card
    • boot from USB storage
    • resizing STATE partition to put system on internal eMMC (I did that)
    • removing Chromium OS completely to get more space for own system

    Then there are also systems when user has developer firmware installed (that’s different that developer mode) or even setup where normal U-Boot is used as bootloader.

    Written by Marcin Juszkiewicz on
  2. It is hard to write job description when you are leaving

    Time to do hard task — write job description for my replacement at Linaro. Or maybe not replacement but for someone who will take some or most of my duties there.

    I did so many things at Linaro during last 2.5 years that it is hard to decide what such person should know. I learnt Bazaar (not hard once you know Subversion), improved Git skills and tried few projects which tried to bridge both. Learnt more about Launchpad than wanted — people at #launchpad channel are really helpful (same with #bzr ones).

    There was lot of building involved. From fixing packages in Ubuntu and Debian to building with OpenEmbedded. I even did some build automation with use of Launchpad. Then there was Jenkins where we moved most of our builds.

    I became MOTU in Ubuntu and got Debian Maintainer status in Debian. Have to clean some things and take “android tools” package more into shape as there are co-maintainers waiting in queue with patches. Also updated my OpenEmbedded skills to current state as last time I was using it there was no layers ;)

    But how to summarise it in short job description? You will see soon at Linaro’s jobs page soon.

    Written by Marcin Juszkiewicz on
  3. So long, and thanks for all the fish

    Today is 2.5 year of my work at Linaro. It was very good time. But good things have one thing in common — they end at some moment. For me that moment will be 30th November — after that I will be working at Canonical.

    For me it will be like starting new job because they hired me to work at Linaro so I never really worked “at” Canonical — always “for”. Hope that it will be at least as interesting as Linaro work was.

    When I think about all those 30 months few things came to my mind. First one is people. Linaro gathered many good engineers (and non-engineers as well) and it has many stars as well.

    For example: Nicolas Pitre. I had big respect for him since I started work on embedded Linux. But until sprint in Prague, July 2010 I did not realise that he is blind… We went for some beers, chatted about things we did at previous jobs, spent good time (and I managed to not fail too much as a guide).

    Other example: Few days ago Arnd wrote on Google+ about mold problem which forced him to throw some books into trash. Beside cookbooks and Discworld ones he found one written by David Rusling (CTO of Linaro)… It is hard to check Linux history and not meet someone who works at Linaro.

    I learnt a lot during those 30 months. Not only about toolchains, cross toolchains and toolchains (yes, ‘toolchains’ are repeated) but also on Debian/Ubuntu packaging, relations between those two projects, how to get own packages into them, how to get fixes there etc. Now I am member of Ubuntu MOTU team (can upload to ‘universe’ part of Ubuntu) and since this week also Debian Maintainer. But at same time also learnt how OpenEmbedded works today and maintained two Linaro layers for it.

    AArch64 porting was/is a great project. There were some issues because it was internal only for some time when we had some internal patches which we preferred to not show to public. But that feeling when I got “hello world” compiled as one of first people outside of ARM Ltd. will always be something to remember. And now everyone can check how it works ;)

    When I was at ELC/E 2011 in Prague there was a talk by Paweł Moll about running Linux on non-existing hardware. At that time it sounded like science fiction to me but later when I had to use Fast Models to boot AArch64 kernel I realised that it is not s-f.

    But technical things are just one side. I enjoyed Linaro Connect meetings, chatting with people from different countries on technical and non-technical matters. It helped to improve my spoken English which I was not using so much before. I even had discussions about English itself with people like Andrew Stubbs — thanks man!

    There were also funny moments. I remember when in Budapest David Rusling told me that I got unofficial title “main complainer at Linaro” due to my post about what is wrong with all those cheap developer boards we supported. We were sitting at a table during “Meet & Greet” and there was one guy sitting there. I did not saw his badge and asked him which boards he used so far. He told: Freescale Quickstart. I answered: Ah, that square one with five edges? And then I told what I like and dislike in it. We had interesting discussion and at the end I saw his badge - he was Freescale person at TSC ;)

    Or visit in Computer History Museum. Man, I should follow Paul McKinney there — he recognized probably most of the devices there and know what they are for. We had interesting talk about it next evening in a bus.

    So, there are few weeks of Linaro work for me. During this week I am be in Copenhagen at Canonical’s Summit where I met my next team to find out what exactly I will be working on. Then we have Linaro Connect co-hosted with Ubuntu Developer Summit. It will be a strange week for me. Will attend ARMv8 Summit sessions due to work I did in last weeks but other sessions? For sure will attend some, both Linaro and Ubuntu ones but this time not as much as on previous summits. If you need me on you session then add me to the list of attendees or contact me.

    Week after LC/UDS I will spend in Spain. There is Embedded Linux Conference Europe in Barcelona where I will have a talk about AArch64 support in OpenEmbedded. There will be also similar session by Wookey about ARMv8 in Debian — check LinuxCon Europe schedule for it.

    But Barcelona is also OpenEmbedded related for me. There will be General Assembly of OE e.V. and then Yocto Project Developer’s Day where I plan to discuss with OE developers about merging AArch64 support.

    Then few days of holidays at warm country, visit Zygmunt and go back home for another 2-3 weeks of Linaro work.

    So lot of work to do. Need to take a look at what exactly I did during those 30 months, which parts of it will need new maintainer, write some notes/documentation for it, check PPAs for things which may need updating etc. So far I did not yet decided will I maintain cross compiler packages in 13.04 and later releases of Ubuntu or not. For sure I will do that to android-tools which are now part of Debian.

    But is it end of my Linaro journey? I hope not. Time will show will I stay at Canonical. Today it is hard to tell because there are interesting projects there as well. But I do not want to end my Linaro adventure.

    And one more thing. As usual when I end my work at one place I gather recommendations on LinkedIn. If you have few spare minutes and want to write something then it will be appreciated: my LinkedIn profile.

    Written by Marcin Juszkiewicz on
  4. AArch64 for everyone

    As you may know during last months I was working on adding AArch64 architecture support into OpenEmbedded. During that time we used Versatile Express fast model which requires license. At the end we got Foundation model which can be used by anyone.

    And today Linaro published availability of OpenEmbedded based images, Foundation fast model and cross toolchains targetting AArch64 (bare metal and glibc ones).

    So if you want to check what I was working on during last months you can do it now. Just go to Linaro ARMv8 downloads page, fetch images, register at ARM website, fetch Foundation fast model and follow instructions.

    Remember that this is software emulation so do not expect speed. But SDK image should be enough to start bootstrapping “we build natively” distributions like Debian, Fedora or Ubuntu ;D

    I am very interested in feedback.

    Written by Marcin Juszkiewicz on
  5. Yes, I am using Midnight Commander

    Today Alan Pope was surprised that I am using Midnight Commander. It was not the first time when I saw such reaction.

    Why am I using mc? It is “simple” tool, works fine and I know it. Some of its features are useless today (like /#sh: way of handling copying over ssh which got replaced by sshfs) but if it works why I should abandon it? I can use it remotely (try it with Nautilus/Dolphin/Thunar), on every type of terminal (but was incredibly hardcore on HP2623A one).

    But thing which I love it in is “patchfs”. It allows to handle diffs like archives but with read/write operations. I can remove not wanted parts from patch without going into editor. When I was dealing with crazy/huge patches I was able to clean them in few minutes

    Written by Marcin Juszkiewicz on
  6. New thing to buy: Samsung Chromebook

    Sometimes it is good to take a look at IRC channel in the evening. There will be new chromebook from Samsung. Someone may say “So what? It’s just yet another chromebook not worth looking at.” but I will disagree.

    What is special in this device? Specification of course ;) Exynos5 Dual (5250) which has 2 Cortex-A15 cores, 2GB of memory, 16GB of eMMC (a bit small but 64GB sd cards exist) and all that in 11.6” netbook case. There is no ARM device on a market which could be compared and run open source operating system.

    I hope to get one soon — online stores will sell it on Monday. From what I know there will be a way to run other operating system than ChromeOS — I will switch to Ubuntu or Debian on first day probably.

    And finally will replace Efika MX Smartbook.

    Written by Marcin Juszkiewicz on
  7. ARM 64-bit porting for OpenEmbedded

    As already I wrote during summer I was working mostly on AArch64 (ARM 64-bit) — especially on OpenEmbedded support.

    I spent time on reminding myself how OE works, learning new tricks and creating some limited images (we removed unneeded daemons etc) for our next step which would be booting ARM64 images in Fast Models. Yes, there is no existing hardware yet for this architecture :) But we want to have distributions ready for it when it became available.

    Last Monday Linaro published glibc patches for AArch64 port so normal cross compiler works (people already built bare metal one) and work got speed up. During previous week I got opportunity to discuss with ARM Ltd. engineers about internal compiler errors in gcc and got some of them fixed next day. During hacking sessions in Linaro office (in Cambridge, UK) we managed to get most of our targets done:

    • oe-core minimal image
    • oe-core base image
    • on device toolchain
    • meta-toolchain based SDK
    • openssl working
    • libgcrypt ICE got work around
    • meta-aarch64 layer for OE-Core got published

    Plans for this week are LAMP image and start merging everything usable back into OpenEmbedded. I do have OpenEmbedded Core branch already and need to create such one for OpenEmbedded.

    Written by Marcin Juszkiewicz on
  8. What interest me in ARM world

    When I published my last post about ARM boards there were many questions and suggestions with interesting devices. Thank You all for it.

    But there were also suggestions about ARM9 or ARM11 based devices. So I decided that it is good time to write what interest me now in ARM world.

    But first some inventory. I had/used/have several devices with ARM cpu:

    • StrongARM (armv4) one:

      • Sharp Zaurus SL-5500 (which took me to ARM world)
    • ARM920 (armv4t) ones:

      • Openmoko GTA01 bv3, bv4 (s3c2410)
      • EDB9301 (EP9301 cpu)
      • Sim-One (EP9307)
    • ARM926 (armv5te) ones:

      • Sharp Zaurus sl-5600 (pxa250)
      • Sharp Zaurus c760/sl-6000 (pxa255)
      • Sharp Zaurus sl-c3000 (pxa272)
      • Sheevaplug (kirkwood)
      • Atmel devboards (at91sam9263, at91sam9m10)
      • ST-Microelectronics/ST-Ericsson NDK-15, NHK-15 (st88n15)
      • Nokia 770 (omap1710)
      • Linksys NSLU2 (ixp425 iirc)
    • ARM1136 (armv6) ones:

      • Nokia N810 (omap2430)
      • Bug r1.0, r1.2 (i.mx31)
    • Cortex-A8 (armv7a) ones:

      • Beagleboard B7, B7, C3 (omap3430)
      • Nokia N900 (omap3430)
      • Nexus S (exynos3)
      • Genesi Efika MX Smartbook (i.mx51)
      • Freescale Quickstart (i.mx53)
    • Cortex-A9 (armv7a) ones:

      • Pandaboard EA1, A1 (omap4430)
      • Archos G9 80 (omap4430)

    All of that during last 8 years. Most of my ARM live so far was around ARM926 based devices (some of them still can not be listed here) and I do not want to go there again. Kirkwood core was fastest one with 1.2GHz clock and 512MB of RAM it was really fast machine. I only missed Serial ATA in my Sheevaplug (rev 1.0) but even with hard drive on USB it was nice improvement.

    Then I played a bit with ARM11 processors. Ok, they were faster than most of ARM9 cpus but I already had experience with Sheevaplug. And after few months first Cortex-a8 board landed on my desk — I got Beagleboard B7 from Bug labs as test platform for their new device. This was improvement!

    I still remember my reaction when connected it to normal LCD monitor and saw it used at 720p resolution (1680x1050 was a bit hard for omap3). Moved to Nokia N900 few months later and found that fast cpu means nothing when paired with slow storage and not enough memory for system.

    So today I prefer to not look below Cortex-A9 (or comparable cores like ones from Qualcomm or Marvell). Hope to play one day with Cortex-A5 (which should replace ARM926 one day) just to see how low-end armv7a cpu behave.

    And wait for ARMv8 to hit market.

    Written by Marcin Juszkiewicz on
Page 39 / 105