Canonical Voices

Posts tagged with 'linaro'

Marcin Juszkiewicz

Today I work from Berlin (visiting Daniel Holbach) and took only Chromebook with me to check how bad/good it works as laptop replacement for me.

First issues appeared during first minutes. It was keyboard. Or rather keys which are missing there. XFCE terminal (my main tool) switches between tabs with Ctrl-PgUp/PgDn but I lack those keys. Good that I can edit GTK shortcuts. But remove of them is possible only with Delete key. And guess what — Chromebook lacks it as well ;D So I used some crazy Emacs like shortcuts (Ctrl-LAlt-Shift-something).

Good thing is support for 5GHz WiFi. I have to consider such change at home and provide not only 2.4GHz but also 5GHz network (I have around twenty 802.11g ones at home).

Terrible issue is power plug detection. I took Chromebook from backpack, booted it and got “97% charged, AC connected” message during work on battery. It is serious problem as no one likes to have random shutdowns just because battery went flat.

So there are few things to do:

  • better keymap
  • fixed power state detection

And then I can go to Hong Kong (for Linaro Connect Asia) with Chromebook only.


All rights reserved © Marcin Juszkiewicz
Spending whole day with just Chromebook was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Installing recent Ubuntu on Samsung ARM Chromebook is not rocket science. All you need is following steps.

So which steps there are? Note that I will describe only installation on SD card and assume some level of knowledge from reader — that’s why there are steps where exact commands are not given as you can use different tools.

  1. Partition SD card with GPT. First partition needs type “7f00″ (ChromiumOS kernel) and 4MB is enough. Second is “8300″ type and should be enough to fit rootfs (or bigger).
  2. Create ext4 filesystem on second partition.
  3. Create rootfs — debootstrap, multistrap etc. You can do it directly to SD card partition to save copying later. You can also fetch any existing one.
  4. Chroot into rootfs (you can do it from terminal under Chrome OS).
  5. Add “Samsung Chromebook (ARM) support packages” PPA into APT sources.
  6. Install “cgpt”, “vboot-utils”, “linux-chromebook”, “xserver-xorg-video-armsoc” packages.
  7. Create file with kernel command line. I suggest “console=tty1 printk.time=1 quiet nosplash rootwait root=/dev/mmcblk1p2 rw rootfstype=ext4″ but you can adapt it as you want.
  8. Sign kernel: “vbutil_kernel –pack /tmp/kernel-to-boot-ubuntu –keyblock /usr/share/vboot/devkeys/kernel.keyblock –version 1 –signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk –config CMDLINE_FILE –vmlinuz /boot/vmlinuz-3.4.0-5-chromebook –arch arm”
  9. Write kernel to SD: “dd if=/tmp/kernel-to-boot-ubuntu of=/dev/mmcblk1p1 bs=4M”.
  10. Mark kernel as good: “cgpt add -S 1 -T 5 -P 12 -i 1 /dev/mmcblk1″
  11. Copy WiFi firmware from Chrome OS — it is /lib/firmware/mrvl/sd8797_uapsta.bin file.
  12. Last chance to burn your speakers cause Ubuntu will not give that functionality…
  13. Reboot.
  14. Press Ctrl-U at that scary white screen.
  15. Enjoy your Ubuntu system.
  16. You may also add symlink for Samsung media framework: “cd /lib/firmware/;ln -sf s5p-mfc/s5p-mfc-v6.fw mfc_fw.bin”. But so far nothing uses it.

Note that you may have different results due to other rootfs used. I ran “debootstrap” and then chrooted, installed “xubuntu-desktop” and lot of other packages I use for development.


All rights reserved © Marcin Juszkiewicz
How to install Ubuntu 13.04 on Chromebook was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Recently I got more and more questions how to upgrade from Chrubuntu to Ubuntu 13.04 to get my updates. So I think that it is a time for me to check how to do it.

I will book some time during weekend for playing with Chrubuntu installation on SD card and upgrading it to latest and greatest packages. Will post how it went and which bugs I got during process and how to fix/workaround them.

As usual I will not cover sound cause I do not have speakers in Chromebook.


All rights reserved © Marcin Juszkiewicz
Looks like I have to test that Chrubuntu thing was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Nine years ago I bought Sharp Zaurus SL-5500 as my first Linux PDA. And due to this I am where I am.

I could say that it started two years earlier when I saw PalmOS devices at local geek meetings. But it took me over year before Palm m105… Then was Sony Clie SJ30 — gorgeous device. High resolution, memory card, 16bit colour. Too bad that applications did not make use of it.

So I went for Linux. There were two options: Zaurus or iPaq. Went for former one as it had keyboard. It was good choice.

Quickly started development of packages and joined OpenEmbedded team. Then became one of OpenZaurus developers. After year or something took over release maintenance and released few last versions. 3.5.4(.1) were the best tested releases of OZ ever — I had over hundred testers for each RC image and they provided installation reports, bug reports and fixes. And it had unified installer for whole range of devices (took me several months to get it polished and few guys added own tweaks). When Ångström distribution started I was the one who officially ended OpenZaurus development.

And all that was in free time. But in mean time I created my consulting company. CELF was my first customer ;)

One nice evening I got question on irc and due to that I left dark side of IT and went from PHP programming to embedded Linux full-time. OpenedHand had interesting projects and clients with many devices. Imagine operating system + kernel + Python + GStreamer in 16 megabytes of flash… And I managed to get it done. While working for them I used proper developer boards (not only customer devices) and there were funny moments…

When we worked with ST Microelectronics on NDK-15 (later replaced by NHK-15 from ST Ericsson) I had to merge two kernel trees from two separate teams. Took me 2 days of mangling 20-30MB diffs but got it done. There are people at ST-E which reminded me this during one of Linaro Connects ;D

Also on GUADEC 2007 when we presented new interface for Openmoko phones NDK-15 had to wait for me as no one at stand was able to get it running (U-Boot config needed changes).

But then Intel acquired OpenedHand… The craziest trip of my life was return from London to my parents place. For three months I even had @linux.intel.com email but never used it due to problems with Intel corporate network and Linux (do not ask).

Next was Bug Labs and their BUG device. I cleaned their Poky trees, migrated to latest version and later to use OpenEmbedded directly. Less challenges but I also had few other customers at that time to keep me busy. Some of them were OH customers before and went to me for help.

Time passed, 2010 came. One day Canonical made another attempt to seduce me and this time I decided that it looks like good opportunity so I accepted. Sent BUG 2.0 prototype back to NYC and few weeks later I made crazy train trip to small nowhere near Brussels to meet my new coworkers from NewCore. 1-2 weeks later we got our current name: Linaro.

Total change… From embedded devices to ‘Yes, it is ARM. So what?’ kind as we support(ed) devices powerful enough to run normal desktop software. Many changes for me — from OpenEmbedded where you can (cross) build everything in few hours to Ubuntu packaging where sending package for inclusion into archive meant few hours of buildd queue and then few of build. But I learnt a lot here and met another set of hackers including grey beards ones ;)

And all that because I bought Sharp Zaurus SL-5500 nine years ago…


All rights reserved © Marcin Juszkiewicz
Nine years of embedded Linux was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Year ago we had Linaro Connect right after FOSDEM so I decided to skip and walk to Golden Gate instead. But this year there were no conflicts!

Months before we had discussion on SzLUUG mailing list about who goes for FOSDEM. There were about 9 people wanting and we ended with five. So on Friday morning friends arrived near my house, I jumped into car, we grabbed 4th one (Tomek was in London at that time) and went to Berlin Schönefeld airport for 07:00 Easyjet flight.

And we missed it… 5-10 minutes late we were ;( 75€ per person and 10 hours later he took off from SXF airport.

But that 10h was not wasted. Berlin has very nice Technical Museum with many trains, cars, planes and other exhibitions. And they had Trabant 601 as well:

My first time in Trabant

Then trip to shops (Saturn, Media Markt) in search for HTC Desire X case (Magda) and LG Nexus 4 (me). Avoid Saturn — they do not handle credit card payments at Alexanderplatz so I had to walk to the ATM. Two S-Bahns later we passed security check and went to the gate early enough to fly.

BRU airport… I think that (with exception of SXF/TXL) it is my most visited airport as it was my 5th FOSDEM and there was UDS-M around as well. But this time we took a bus instead of a train. 14€ ticket works for 72 hours so cover all trips perfectly. Few hours later we were joking that this multi country journey was exhausting as we were in Berlin, Brussels, went though Geneve (bus stop) to Luxembourg (square) and passed near London (restaurant) ;D

Hotel, drop stuff, connect chargers, went for beer event. Crowdy as usual it was. But I managed to meet some friends (but also missed lot of them) and grabbed few beers. Good spent time. Too bad that I was so tired that went back to hotel just right after midnight.

Saturday

Breakfast in St. Nicolas hotel maybe is not the best but provides enough energy to survive a day. Met several guys there, Philip gave me Kindle Paperwhite which I bought few days before (with delivery to his house to lower price) and his famous Belgium/Holland/Luxembourg guidebook. I also got Beagle pendrive from Koen.

24-01-13 - 1

Then overcrowded bus 71 and FOSDEM! I told Bartek where things are (but at that time I had no idea of K building) and we split. In AW building I met friends manning OpenEmbedded stand just right in front of building entry.

OpenEmbedded stand

Circuitco had Beaglebone stand right to it:

Beaglebone robot

That robot was great example what you can do with enough signals available to drive all those motors. And what you can do with 3D printers ;D

I do not know is it due to crisis or something but AW building had just half of a space for stands used…

Then I went for talks:

  • “Embedded distro shootout: buildroot vs. Debian” — wasted time. Long discussion about Emdebian + short info that Buildroot works in other way. Could be nice talk if done in other way.
  • “Porting Fedora to 64-bit ARM systems” — talk done by Jon Masters and his clone. As usual first “what the hell is 64-bit ARM” and then how Fedora bootstraps itself. Nice talk, got some new stuff. Have to dig for Cavium SDK.
  • “Porting OpenJDK to AArch64″ — interesting it was. Two speakers, lot of technical details.
  • “ARMv8, ARM’s new architecture including 64-bit” by Andrew Wafaa. Mostly to catch speaker in easy way ;D
  • “Bootstrapping Debian-based distributions for new architectures” – I was lazy to go somewhere else but it was good talk.
  • “Bootstrapping the Debian/Ubuntu arm64 ports” by Wookey. Kind of recycled talk from Barcelona but I like his presentations. Also first one without “what the hell is armv8″ introduction.

I also had nice discussion with Jolla guys about their system/device and would I like to test it once they will have something ready for complains. Played a bit with Firefox OS on their reference developer platform and on Nexus S and was not impressed — for example it looked like they have to learn about DPI…

Then I met OE crew and few other guys and when finally noticed that it is time to go to the hotel and drop gear there. Once arrived it was a bit to late to go somewhere and search for some event so I joined SzLUUG team and we went for a meal, chocolates and then some drinking with Kerneliusz (SzLUUG mascotte):

Kerneliusz is hugging bottle

Sunday

Breakfast, packing gear and go for a bus which was less crowded than day before (but we are a bit late as well). As we had to leave after 14:00 I managed only two talks:

  • “systemd, Two Years Later” — some Ubuntu trolling and project status. Nice talk.
  • “Porting applications to 64-Bit ARM Architecture” by Riku Voipio (main AArch64 porter at Linaro). Good discussion in a room, some nice hints and suggestions. Read his recent blog post about ARMv8 porting

Then walk, tram, bus and security check. This time I did not have to take developer boards from backpack as I gave them away during event. We arrived in Berlin and (due to Micha?’s fosdem flu) I drove us back home.

Summary

It was great event as usual. But distance between K building and rest was too big for sessions which are one after another. I dropped some entries from my calendar just because it would be H->K->H->K switching.

Android application for schedule was ok. Would be nice to make a bigger effort and update it to cover K building as well and add a way to see what is going on in each building/room to reduce time before sessions.

Funny part

On Saturday I realized that for some reason I may remind Jon Masters… That’s due to hardware I had with me:

  • two developer boards
  • two phones
  • two tablets
  • 3 USB chargers
  • 4 microUSB cables

The good thing is that they were not of same type (except some cables) :D


All rights reserved © Marcin Juszkiewicz
FOSDEM 2013 was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

This year no one blocked me from going to FOSDEM ;D

What are plans? There will be some AArch64 related talks which I want to attend:

  • Bootstrapping Fedora for AArch64
  • Bootstrapping Debian/Ubuntu for AArch64
  • Porting software for AArch64
  • Porting OpenJDK for AArch64
  • What the hell is AArch64

Few ARM ones:

  • Freedreno update
  • Open ARM GPU drivers
  • ARM status in Linux kernel

Few for entertainment:

  • Buildroot contra Debian
  • Baserock introduction
  • Eudev

Some for curiosity:

  • HipHop
  • Why there is no such thing as FOSS phone?

Original titles may differ. There are over 450 events during FOSDEM, several keynotes etc. There will be also few thousand people so I would rather not find a time to attend even half of sessions listed above… But for me this is how this conference work :D

Normally I do not take hardware with my (other than phone). This time I packed two boards, two tablets and hope to get rid of most of them ;)


All rights reserved © Marcin Juszkiewicz
Going for FOSDEM was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Some time passed since last Chromebook post so I want to give small update on Ubuntu status.

Dylan Reid from Chromium team fixed ALSA driver so frying speakers is now past. This change will go into next stable Chromium update probably. I got it merged into Ubuntu kernel and released as “3.4.0-4″ version in PPA.

In meantime Vladimir Smirnov took a look at “release-R25″ branch of kernel and got it booted. He shared configuration so I went with it, synced with Ubuntu one and got it running on my Chromebook. So expect new kernel release after FOSDEM.

There are Mali OpenGLES drivers available for download. I was unable to use them with R23 kernel (current Ubuntu one) but they do work with R25 branch so another thing to take care. This time I have to make new packaging as I need to add click thought license support. After that we can drop Chromium OS from our devices ;)

VBoot utilities are also in PPA. So signing of kernels and manipulating partition tables do not need files from Chromium anymore.

But there is one thing. Or rather lack of it… I do not have time to check do my packages work under older versions of Ubuntu (12.04, 12.10). Due to that I will not release any new updates for them — will support only ‘raring’ (13.04). Everything will be available in PPA so anyone can test.


All rights reserved © Marcin Juszkiewicz
Chromebook update was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

My work often requires booting AArch64 fast models. As there are two of them and each has different arguments I decided to write simple script to handle that.

Script takes three arguments:

  • kernel
  • rootfs (can be skipped)
  • model type (foundation/rtsm — first one as default)

This is work in progress — for example there is no network configured for RTSM yet. But I hope that it will be useful for other users.

#!/bin/bash

model=foundation
kernel=
rootfs=

if [ ! -z $3 ]; then
        model=full
fi

if [ -z $1 ]; then
        echo "Usage: boot-armv8 KERNEL ROOTFS"
else
        kernel=`realpath $1`
fi

if [ ! -z $2 ]; then
        rootfs=`realpath $2`
fi

case $model in
        foundation)
                if [ ! -z $rootfs ];then
                        rootfs=" --block-device $rootfs"
                fi
                sudo ip tuntap add tap0 mode tap
                sudo ifconfig tap0 192.168.168.1
                ~/devel/canonical/aarch64/FastModels/Foundation_v8pkg/Foundation_v8 \
                        --image $kernel \
                        --network bridged --network-bridge=tap0 \
                        $rootfs
                ;;
        rtsm)
                if [ ! -z $rootfs ];then
                        rootfs=" -C motherboard.mmc.p_mmc_file=$rootfs "
                fi
                export ARMLMD_LICENSE_FILE=8224@flexlm.linaro.org
                ~/devel/canonical/aarch64/FastModels/VE/AEMv8_0.8.4407/ModelDebugger_7.1/bin/model_shell64 \
                        -a $kernel \
                        $rootfs \
                        ~/devel/canonical/aarch64/FastModels/VE/AEMv8_0.8.4407/lib/Linux64/RTSM_VE_AEMv8A.so
                ;;
esac

Related content:

  1. AArch64 for everyone


All rights reserved © Marcin Juszkiewicz
Boot AArch64 in easy way was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Most of my work at Linaro is around AArch64 architecture. Ubuntu cross compilers were kind of adopted by Matthias Klose (Debian/Ubuntu toolchain maintainer) so I was able to spend more time on ARMv8.

We have two projects at Launchpad:

In short: first one is about porting software to ARMv8, second about OpenEmbedded support for it. The fact that both projects are on Launchpad does not mean that they are for Ubuntu (which is common mistake). It is open for everyone. We have people working on fixing packages in Debian, Fedora, Ubuntu (when it comes to distributions) and in OpenEmbedded. All of that with usual mantra: upstream first.

So how it goes today? I would say that quite good. Since September (when we started OpenEmbedded work) we got to point when we fixed several projects and find less and less new ones to work on.

For me it is nice experience. As I am not a programmer (my last application was for AmigaOS in last millennium) I was often surprised how small changes are sometimes needed to get software running. I got X11 running with ~8 lines of code. Libav required editing of one line in configure script. NumPy was adding 4 lines. OProfile required copying few lines from kernel source. And all those got merged upstream or is on a way to it.

If you want to track our work then check “Merge ARMv8 support into OpenEmbedded” blueprint where I track every project I touch. And ignore ‘milestone’ field — it is always work in progress because every project we fix gives us new projects to build. Which often means another set of software to patch.

I prefer not to think how much it would take us without OpenEmbedded. Being able to just easily cross compile huge amount of software in automated way is great. Sure, from time to time I had to boot software model and do some native compilation or run some tests. But mostly to generate some files which are not properly built/guessed during cross compilation.

Also I would like to thank all maintainers (from OE and upstream projects) for reviewing all our patches and all help we got. But we did not finished yet — there is a long queue of things to clean up and send for merging :)


All rights reserved © Marcin Juszkiewicz
AArch64 porting update was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

I got interesting job offer and refused

Recently I got offer from one of head hunters company. They represent one of companies I trusted but no longer care about.

I have been retained by XZYA (specifically XZRI – XZYA Research Institute which is their European R&D and innovation division) to connect with candidates that they would like to speak to relative to the creation for 2 new Open Source labs which XZYA are creating as part of their global drive to increased Open Source Software adoption and evangelism within their business.

The new Open Source team will be made up of software engineers and specialists working across various open source SW areas, projects and groups – for example Linux kernel, Linaro, LLVM, web servers (webkit, node.js, jquery, chromium lighttpd), Wayland, XEN etc

It’s really important to note that the positions being created will allow the individuals selected to continue to be open source community / project focused (70-80% of your time committing, maintaining or contributing to projects) but representing XZYA.

The Open Source labs will be located both in Espoo, Finland and in Staines, UK (near London). Positions can be in either location.

Having consulted my network as well as undertaken some market due diligence and research, I wanted to connect with you to ascertain whether I could secure your interest in being one of the founding members of this new team.

It does sound interesting but I do not want to work for company which do not care about product design or cooperation with external developers.


All rights reserved © Marcin Juszkiewicz
I got interesting job offer and refused was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Few months ago prices of RAM for my desktop went down so I upgraded to 24 gigabytes. By most of time I use maybe half of it but this allows to do some work faster…

Most of my AArch64 work relates with using OpenEmbedded to build something. To get it faster I moved TMPDIR to separate hard drive but finally decided that when I am not building “world” (to find new breakage) I do not need more than 8-12 GB of space.

So now my TMPDIR is symlink to /tmp/OE/tmp/ directory and sstate cache files are on hard disk. This allows me to do quick builds of random software or system images (“linaro-image-lamp” from scratch is 5 minutes). When OE complains about lack of disk space I just remove contents of “tmp-eglibc” directory and retry build. Everything needed for build goes from sstate cache.

But there are days like today — OE-Core maintainers merged my “gmp” patch for AArch64 so I dropped it from “meta-aarch64″ layer and have to wait a bit for rebuilding of all source packages. After that I will have my fast builds again.

So if you do a lot of builds then invest in memory — most of today desktop can take 32 GB…


All rights reserved © Marcin Juszkiewicz
Doing OpenEmbedded builds in RAM was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

We are using OpenEmbedded to build software for AArch64 (64-bit ARMv8 architecture). There are some components which do not build and we fix them when time allows.

So today I looked at stats of my nightly build of “bitbake world -k” and notices 46-49 build failures. Went thought list, removed those which are already reported for porting, tried to build failed ones to find out how much work we need to get it fixed. And one of them was “xserver-xorg”…

I took a chance and got it built by patching few source files. Few minutes later I got it booted in commercial ARMv8 fast model (foundations one lacks graphics emulation):

ARMv8 desktop with wrong byte order

As you see Xterm window in unreadable. So I changed byte order, rebuilt and booted image with new Xserver:

ARMv8 desktop with proper byte order

I do not plan to test X11 environments in fast model — it takes too much CPU time. But it is nice to see native 64-bit X11 running ;)


All rights reserved © Marcin Juszkiewicz
Started X11 on AArch64 was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

During last few days I played with CyanogenMod 10.1 nightly builds on my Nexus S phone. Then went back to CM 10 as it is more stable. But this also reminded me that I have 2 years old device…

So I did another round of checking what are options. As it will be for next 2 years I want 2GB of RAM, 720p screen and LTE support. And there is very small amount of those :(

  1. HTC Butterfly. MicrosD slot, 1080p screen, Japan only so far.

  2. LG Nexus 4. Latest Android for few releases granted. But also lack of microSD slot and only 16GB of storage.

  3. LG Optimus G. Base of Nexus 4. Not available outside of few operators (mostly US).

  4. Samsung Galaxy S3 LTE (GT-9305). MicroSD slot, MHL video output.

  5. Samsung Galaxy Note II. MicroSD slot, MHL video output.

Now it is time to complain :)

LG Nexus 4 is available only in some stores (or phone operators) for 450+ € — no Google Play Store like it was with earlier models (I do not call current state as selling). Also no LTE on European frequencies. No 32GB storage model.

Samsung GT-9305 sounds interesting. But… It is Exynos 4412 based. And I read The Saga of a CyanogenMod Exynos4 device maintainer by Andrew Dodd which gives clear message “avoid Exynos4 if you can”. If even Samsung update can break your device then something is going wrong. And so far SGS3 LTE lacks CyanogenMod support which is one of main blockers for me as it shows that there are no custom “ROMs” for it (I do not count images remixed from stock images).

Galaxy Note II is huge and would take some time to get used to it. Has CM support already. But again — Exynos4 ;(

So it looks like I need to wait another few months and check will there be something worth buying. In meantime I will stay with last CM10 release running on my Nexus S.


All rights reserved © Marcin Juszkiewicz
I want to update my mobile phone was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Few people already asked me how open Samsung Chromebook is. So let’s take a look.

Kernel is open. Git tree is available and so are instructions on how to build it. You can check post by Olof Johansonn or take a look at Chromium ebuild. Remember that images need to have DeviceTree attached.

There are few firmware blobs but most of them are available in “linux-firmware” package in Ubuntu. The only exception is “mrvl/sd8797_uapsta.bin” file which is present in Marvell’s firmware repo.

You also need to sign kernels. But tools and developer keys are available as well. We have preliminary version of package for it.

X11 drivers are available as well. Both video (armsoc) and input (cmt) are open. You can run X11 just fine without them even. I provide armsoc one but decided to skip “cmt” one cause “evdev” one works ok.

So where are those ugly binary blobs? In standard places…

One is OpenGL ES support. There is “libmali.0.0.35″ which works as libEGL and libGLESv2 but no source for it (kernel part is open). Also license is missing. You can copy it from Chromium (I made package for Ubuntu) but results vary. I would love to get it working cause it can make Chromium browser faster.

Other is video acceleration. Under Chromium there is set of OpenMAX libraries. Under Ubuntu I see only crashes.

Flash plugin is yet another story. Rune K. Svendsen got it partially working but it is still not like it could be.

There is also Google Hangouts plugin under Chromium. So far no information will it work under non-Chromium distribution.

If you have anything to add here then write a comment. And consider joining “Samsung Chromebook (ARM) hackers” team to help us in getting our distros working better and better.


All rights reserved © Marcin Juszkiewicz
How open Chromebook is? was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Some time passed since my earlier post. I had to think about few things and made some decisions.

I will write an installation instruction for Samsung Chromebook users — about installing other operating system on internal storage. Targeted at advanced users but with more or less exact steps. If you do not know how to enable “developer” mode in Chromium then sorry…

And in meantime I worked on packaging. Few minutes ago I pushed kernel to my PPA and once it get built I will offer it in Chromebook hackers PPA so users will be able to use it instead of Chromium OS one. It will need signing and putting on proper partition but, like I wrote above, my packages are not only for novice level users.

Thanks to work started by Antonio Terceiro we have preliminary version of vboot utilities package. I cleaned it a bit and got to state when “cgpt” and “vbutil_kernel” are provided so playing with partitioning will not need files from Chromium OS. Will upload it into PPA as well.

Left speaker in my Chromebook died totally so I decided to spend some time on getting UCM profiles available in “quantal” and “precise” releases of Ubuntu as well. SRU process in progress…

Also got 32GB microSD card so one step closer to having other distributions running. Thinking of Debian here of course. But it is in deep freeze now so harder to get new packages there.

How can you help? Test, file bugs, attach fixes to bugs. And can also replace speaker in my Chromebook so I will not have to use headphones ;D


All rights reserved © Marcin Juszkiewicz
I did not finished with Chromebook was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Lot of people asked me how I managed to fry left speaker in my Chromebook. There are also few which said that it is Ubuntu fault.

So today I used recovery to wipe out my installation of Ubuntu from device and decided to check under Chromium OS. And yes, I got nice smell of burnt plastic etc coming from left speaker area.

Why? Because it is kernel bug. Not Ubuntu, ALSA or user. Ok, it is a bit of user’s fault cause you should not have to play with ALSA mixer. But you can — all binaries are part of Chromium OS stable.

So let me give you needed steps:

  1. Boot Samsung Chromebook (ARM one) to Chromium OS
  2. Login or use guest session
  3. Run terminal (Ctrl+Alt+t)
  4. Run “alsamixer -c0″
  5. Set “Lineout” to highest value
  6. Unmute everything what starts with “Left” or “Right” (depends which speaker you do not like)
  7. Touch speakers (but better not for long)
  8. Hold “Power” button to shut down before it will burn though your desk.

In normal situation I would assume that sound driver will take care of combinations which may break your hardware. But looks like Chromebook developers did had such idea.

Is this howto useful? I think it is. Cause if you have device broken in some way and you want to get it replaced you can just run it and hope for replacement instead of repair.

And when next time someone will write me “go and fix ubuntu rather than putting blame on samsung. Its Ubuntu which is the cause” like I got in recent comment I will just ban such person from commenting.


All rights reserved © Marcin Juszkiewicz
How to fry speakers in your Chromebook was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

I bought many Samsung products. There were monitors, cellphones, storage and others. But I am starting to feel that it is time to change vendor…

All because Chromebook…

Device pushed to market in a big rush with kernel allowing users to burn devices. I really do not like smell of burnt speakers and plastics. Like Dylan Reid commented my Google+ post:

I’m guessing that a path was set up from MIC1 (wired to DMIC in) to the left speaker output. Playing the digital mic input as analog at full volume seems like something that might cause speaker failure, and wouldn’t necessarily be audible while it is happening.

My device runs Ubuntu 13.04, has UCM profiles installed to get sound working on what left from speakers but if application touch ALSA in wrong way then I have to open windows to get some air and get smoke out.

I never had such problems with all devices I played with. NEVER


All rights reserved © Marcin Juszkiewicz
Dear Samsung: @#$@%@!!!!11!!$#$# you! was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

I do a lot of cross compilations. With different software elements. But sometimes I want to kick their authors into ass…

There is a good sign when you see $(CC) in Makefiles as it shows that author of code learnt that “gcc” is not the only compiler. But this is not the only compiler you should know about.

Recently I was adding one component (will save a name) into OpenEmbedded as this is one of dependencies for some bigger project (which I do not want to blog about). Argh… I managed to cross built it but patches are UGLY (will get better).

Using $(CC) to build everything is just broken. Especially when you need to compile a tool which will generate some code to get everything built. There is $(BUILD_CC) for it but you have to use it wisely. If there are common parts then compile them with $(BUILD_CC) if you need to run it and with $(CC) if you not. This way we, cross compilation guys, can just do “./configure;make;make install;package” is it native or cross build. Autotools (die, die, die) are able to handle that — so is your code if you write Makefiles properly.

But do not reuse same object files for target and native binaries — let it be “common.o” and “native/common.o” for example. OK, if you do only native builds then it will take a bit more disk space but we have 2012 not 1995… Storage is cheap.

There is also $(HOST_CC) but that’s for other post…


All rights reserved © Marcin Juszkiewicz
There are other compilers than $(CC) was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Somewhere in 2010/11 I decided to clean up mess of naming machines at home and decided to go with character names from “Winnie the Pooh” books (Polish edition). Today I got new developer board and had to spend a moment to get a name for it.

So “klapouchy” (Eyeore) will be new name for DragonBoard. Maybe not best one but most of the names are already taken:

  • krzys (Christopher Robin) is my router (because Chris decides who can enter Hundred Acre Wood which is the name of my WiFi network)
  • puchatek (Winnie the Pooh) is main desktop
  • lumpek (Lumpy) is conference laptop (it was lucek before because it got Ubuntu Lucid as first system)
  • gofer (Gopher) is Efika MX Smartbook
  • krolik (Rabbit) is Samsung Chromebook
  • malenstwo (Roo) is Pandaboard (there were malenstwo-a1 and malenstwo-ea1 when I had two boards)
  • prosiaczek (Piglet) was MX53 Quickstart
  • kangurzyca (Kanga) is my wife laptop (she chosen the name)
  • sowa (Owl) is another router
  • tygrysek (Tigger) is my VPS (at beginning it was up/down/up/down all the time)

So most of the names from books are already taken. There are also Disney movies which adds few new ones (like Gopher and Lumpy) and cartoons (which I am not fan of). In worst case one day I will start re-using names or add names from other story.

What I used before? Desktop was “home” or “hrw”, Dell laptop (now “kangurzyca”) was “maluch” (small) due to 12″ size, “lumpek” was “lucek” due to Ubuntu Lucid installed and rest was named by hardware name (which is a default in OpenEmbedded).

How you are naming your machines?


All rights reserved © Marcin Juszkiewicz
I am running out of names for computers was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

I created a project at Launchpad to have one place to gather hackers playing with ARM based Chromebook support in their distros.

Project is named “Cross distro support for Samsung Chromebook (ARM based)” and is maintained by team named “Samsung Chromebook (ARM) hackers“. If you want to join then you need to have Launchpad account and then join the team.

Why Launchpad instead of (insert any similar place)? Because I know it and it has very good bugtracker which allows to track other bug trackers. And it does not have to have anything related with Ubuntu…

OK, most of bugs now are about Ubuntu but that’s because I added them. But take a look at bug about ALSA UCM support. It affects our project but also affected “alsa-lib” and “alsa-utils” packages in Ubuntu. There is nothing which could stop us from adding links to Debian, Fedora, OpenSUSE or other distros bug reports there.

I added PPA there which will get binary packages for “raring” (unless they got merged) and backports for “quantal” and who knows, maybe one day even for “precise”. Due to policy that repository will not be able to build for “armhf” architecture but one of my personal ones can so I will copy packages.

So, who wants to join us? We already have non-Ubuntu people in the team!


All rights reserved © Marcin Juszkiewicz
Chromebook hackers: unite! was originally posted on Marcin Juszkiewicz website

Read more