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 managed 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.

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.

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

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.

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.