1. Chromebook support for Ubuntu

    Today I added some Chromebook related packages into my PPA. What is there?

    • xserver-xorg-video-armsoc == accelerated Xorg video driver.
    • chromium-mali-opengles == OpenGL ES support — works as long as you have ROOT-A partition with Chromium OS cause I mount it to get Mali library.
    • libasound2 == ALSA packages with UCM profiles for Chromebook. Say “no more” to fried speakers.

    No support from me as usual. I provide packages for just released Ubuntu “quantal” and for development version (“raring”).

    Kernel will probably be next. There are instructions from Olof Johansson for it. Not hard task but requires some time. Also requires packaging of vboot tools (for signing kernels) and cgpt (for manipulating GPT).

    Another part is touchpad snippet for X11:

    Section "InputClass"
            Identifier "touchpad"
            MatchIsTouchpad "on"
    EndSection
    

    Any idea how to package it in friendly way? I thought about “meta-chromebook” package for such tweaks but it does not sound nice to me.

    Video acceleration would be great. But this part is beyond me so far.

    So, if you have Ubuntu running on your Chromebook (nevermind is it on internal storage or side SD or USB stick) as long as it is at least “quantal” go and grab my packages. They will make use of device much more pleasant. Share any tweaks and tips in comments.

    UPDATE: There is a new project related to Chromebook support in distributions. More about it in my blog post about it.

    Written by Marcin Juszkiewicz on
  2. Samsung will have big.LITTLE. So what?

    Lot of services followed article on EETimes where it was announced that Samsung will present 8-core ARM cpu. What was skipped on some of them is that this is big.LITTLE design so it is made as 4xCortex-A7 + 4xCortex-A15 setup.

    Good to know that there will be silicon from other vendors than ARM Ltd. Current development platform is Versatile Express TC2 (Test Chip 2) which shows that amount of A7 cores does not have to match A15 ones (it has 3xA7 + 2xA15).

    But amount of cores is one thing. People usually complain about battery life and guess that such setup will suck power like crazy… when it is especially designed to save power.

    Take a look at current “war” at mobile market. 2 years ago single core 1GHz Cortex-A8 cpu wit 512MB ram was high end. Then we got dual core cpu (usually Cortex-A9 based like Exynos4, OMAP4, Tegra2) and 512-1024MB of memory. Battery usually had similar capacity and lived similar time. During 2012 we saw move to quad core processors in mobile devices (Exynos4412, Tegra3) with 1-2GB ram. Space for battery was same or smaller. Next year will bring Cortex-A15 cpu (Exynos5, OMAP5, Tegra4) but this eats power…

    So phones will probably get big.LITTLE processors to give users with lot of cpu power when needed and battery life otherwise. Cortex-A5/8/9/15 will not disappear from market — will land in normal and cheap devices.

    I have dual core Cortex-A15 netbook now (Chromebook) and it works fast. Who knows, maybe in 2014 I will be able to replace it with something powered by 4xA7 + 4xA15 processor (unless ARMv8 will land at same time). And there is a work on getting ALL of cores running at same time…

    Written by Marcin Juszkiewicz on
  3. Ubuntu cross compilers situation for 13.04 ‘raring’

    As you know I am responsible for building cross compilers for Ubuntu. They targeted “armel” and “armhf”. But this will change.

    During last few weeks I was slowly updating cross compiler source packages for ‘raring’ (current Ubuntu development version). Most of time was taken by conferences so it had to wait until previous week when I got first two parts (binutils/cross and arm{el,hf,64}-cross-toolchain-base) working. I found some issues in binutils, eglibc, linux, gcc-4.7 but make workarounds for them — will report bugs and work on fixes of course.

    But situation is not nice. Armel was dropped from ‘raring’ which made building a bit harder (had to find a way to get “linux-libc-dev” package from “linux-source-3.7.0”). But I am more and more convinced that I should just drop “armel” cross compiler. It will make my life easier but of course patches are welcome.

    Multilib support will get dropped as well. “armhf” cross compiler will not build for “armel” cause there will be no eglibc packages.

    But there will be a bonus — I work also on “arm64” cross compiler.

    Written by Marcin Juszkiewicz on
  4. Complaining

    People told me many times that I complain a lot (maybe even too much sometimes). But this is who I am and you have to live with it.

    When I get new device I usually blog about it — like I told during recent conferences: “give me a device and I will find something to complain about, but also will usually tell something positive as well”. Sometimes those posts even got presented by other people at management meetings as an example of what is good/wrong in described products.

    But so far I never got an email with ask to remove any blog post — there were comments outside of blog sometimes but never request to take my opinion down. I edited two posts — first one was before publication because I sent it for review (it was not requested by company), second time when I got some information about product in public space but device had to be announced week later at big event during one of trade shows.

    What do you think? Should I write more about devices or rather not?

    Written by Marcin Juszkiewicz on
  5. Staying at Linaro

    Week ago I got message that someone higher in chain decided that Canonical will not get me this year. Took me few days to get it fully confirmed so I can now write about it.

    So for another few months I will stay at Linaro. What will be after that time? Will see — Linaro got new members, there is enterprise group now so many interesting things can happen.

    Written by Marcin Juszkiewicz on
  6. 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
  7. 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
  8. 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
Page 39 / 106