lundi 24 mars 2014

Behind the hood: a business & technical analysy of the latest Samsung ARM Chromebook

After Apple turned to Unix (FreeBSD + NextStep) in 2001 for the core of its Desktop operating system, exactly 10 years later major players Samsung and Google released the first ChromeOS devices, based on a customized Gentoo with some Ubuntu components (Upstart)

Market Overview:

 Since Google is already a major player in the mobile field, some would ask: if they have android, why add another OS ? The aim is simply for Google: more Google based devices, means more eyeballs for its ad business (which remains from far its most important revenue stream).
I would estimate the development costs of the ChromeOS to be rather low compared to Android. Android started by writing from scratch nearly all components on top of the Linux kernel, from its Bionic libc to its Surfaceflinger display software, whereas ChromeOS is happy with Glibc, Ubuntu's upstart init system, X server and Gentoo build system. The User Experience of ChromeOS (Application Store, System Settings) is mostly a Chrome Browser experience, so the development costs might have been here as well kept as minim

For Samsung which is a vertically integrated player, even with the thin margins of the Chromebooks, benefits could be there, as external costs are kept to a minimum. Many of the hardware components are produced by Samsung itself starting with the Exynos 5 ARM processor, also produced most probably in Samsung own foundry.
Actually the business bet seems to have been a lucky one, since Chromebooks are riding the top 100 of laptop sales in Amazon US, and are doing not that bad in Europe.

An interesting points for tinkerers, ChromeOS specifications require the devices to have a "developer switch" which after passing some scary screens will allow you to be root on your own device. This is contrary to Android where locked bootloaders and signed kernels are the norms for some device manufacturers (Motorola being the biggest I can name)

Technical Overview:

After activating the developer mode, following the ChromeOS wiki, you can access via the "shell" command to a standard Unix shell.
A very standard Unix shell you get young padawan
GPT partition table, with ChromeOS extensions

Inside this shell, you get access to a very standard Unix environment, with bash, vim, wget and curl. No Perl or Python though.
It 's always interesting to play the grep games to see which opensource projects where used in a commercial product ( you can also play the License Game ) Let's try with gentoo

sudo grep  -rl gentoo /etc/
/etc/env.d/00basic
/etc/profile.env
/etc/csh.env
/etc/init.d/functions.sh
/etc/dmtab
/etc/X11/chooser.sh
/etc/X11/startDM.sh


So this confirms the news that gentoo has been used for building the base Linux system, and if you run the command dev_install you can even start using Portage !

Extra proprietay bits seem to be installed in /opt, respecting the Filesystem Hierachy Standard.
chronos@localhost ~ $ ls /opt
gct  google  oem  Qualcomm

Finally the command crossystem provides different information about the platform like the firmware version used:

chronos@localhost ~ $ /usr/bin/crossystem fwid
Google_Snow.2695.117.0

Of course projects to natively install Debian/Ubuntu/Fedora quickly started but frankly speaking I haven't found the hassle is worth: you will end with missing accelerated X drivers, missing Flash Player and it requires quite an amount of hacking.  If you're here for the Linux stuff, just buy a Celeron or AMD C-7  Netbook without OS , for 40 Dollars more and with the distro of your choice you'll be much better served in term of performance and what you can do it with the machine (hint: a chromebook cannot print by plugging to a printer)

mercredi 19 mars 2014

Le bug numero un d'Ubuntu vu par les statistiques de Wikipedia

Il y a un an, Mark Shuttleworth d'Ubuntu / Canonical annonçait avec un certain triomphalisme que Microsoft n'avait plus une part de part de marché dominante dans l'informatique personnelle, fermant ainsi le bug n°1 à l'origine d'Ubuntu. Effectivement le boom d'Android et d'IOS ont rejeté les parts de marché de Windows bien en arrière.
Est ce une victoire pour le consommateur ? Dans un certain sens, oui, car un choix de plateformes permet d'éviter un monopole de l' accès à l'information.
Y a-t-il derrière un succès pour le logiciel libre ? Faiblement, il s'agit toujours globalement de plateformes fermées, le cœur libre de IOS (Darwin) et celui d'Android (ASOP) se réduisant à une part de plus en plus congrue.
On peut observer cette évolution des parts de marché de façon très intéressante en consultant les statistiques de fréquentations de Wikipedia triées par système d'exploitation.

On se rend alors compte que Windows est en dessous de 50% de la barre des visites, Android tournant à 11% et les distributions Linux autour de 1% (FreeBSD et OpenBSD faisant une performance honorable en apparaissant même dans ces statistiques ... )
N'en doutant pas, une grande part des utilisateurs d'IOS vus dans ces statistiques on peut sans doute un PC quelque part,  mais alors ces statistiques indiquent que le PC est beaucoup moins utilisé, et recouvre alors bien moins d'importance.
Il y a quatre ans, Windows caracolait encore en tête avec 87 % des visites ...

jeudi 28 novembre 2013

Utiliser l'API gandi pour faire du DNS dynamique (à la DynDNS)

Vous avez un nom de domaine enregistré chez gandi.net ? Vous avez besoin d'un nom de domain pour une machine perso sur une ligne ADSL ? Rien de plus simple !

Créer d'abord une clé d'API sur https://www.gandi.net/admin/api_key

Puis on crée via l'interface web une entrée initiale pour la machine qui nous intéresse (par exemple monpc.mydomain.com) sur https://www.gandi.net/admin/domain

On télécharge le script python qui va accèder à cette API:
git clone https://github.com/lembregtse/gandi-dyndns.git /usr/local/src/gandi-dyndns
ln -s  /usr/local/src/gandi-dyndns/gandi-dyndns  /usr/local/bin/gandi-dyndns

Premier jet en ligne de commande ( vous devez utilisez la clé de production pour que ca marche)
gandi-dyndns --api=123rdyy --domain=mydomain.com --record=monpc

On ajoute dans la crontab le script suivant pour actualiser toutes les heures:

dans un fichier /etc/cron.hourly/gandy

#!/bin/sh
/usr/local/bin/gandi-dyndns --api=123rdBy --domain=mydomain.com --record=monpc > /var/log/gandy.log

Enjoy your dyndns !

jeudi 29 août 2013

Comment vérifier si l'acceleration matérielle est activée pour votre carte graphique

 Accélération 3D:

apt-get mesa-utils
glxinfo | grep render
 

direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on AMD RV710
    GL_EXT_vertex_array_bgra, GL_NV_conditional_render
,

AMD RV710 étant ici le chipset de la carte graphique.

Accélération Video  (hardware scaling)

xvinfo | grep Adaptor
  Adaptor #0: "Radeon Textured Video
"

Accélération 3D pour OpenGL ES ( pour systèmes embarqués / ARM)

es2_info | grep RENDERER
GL_RENDERER: Gallium 0.4 on AMD RV710

mercredi 26 juin 2013

Provisioning d'une VM Debian avec libvirt, kvm, et pressed

En cherchant comme automatiser la création de machines virtuelles, je me suis penché sur libvirt, l'outil de virtualisation générique pour contrôler KVM, Xen, VmVare et quelques autres.

En combinant l'installeur virt-install avec un fichier preseed qui permet d'automatiser l'installation sur Debian, on peut créer sa propre machine virtuelle sans toucher une seule fois le clavier !
C'est assez impressionnant de voire l'installeur configurer le réseau, partitionner le système, installer le système sans aucune intervention utilisateur. La commande suivant installera un système Debian minimal avec openssh, et les comptes root/root et user/user

La Machine Virtuelle ainsi créée est ensuite controlable avec virt-manager, pour peu que votre utilisateur soit membre du groupe livirt.


Remarques, questions, suggestions ? Plutot que de laisser un commentaire qui passera ici peut etre ici inaperçu, contactez moi @formicapunk sur Twitter !

jeudi 6 juin 2013

Microblogging

"Release early, release often" ? C'est pourquoi un compte twitter va désormais complèter ce blog:  https://twitter.com/formicapunk



Ubuntu + Gnome Classic = Debian boot screen !

Après une upgrade party at $JOB de Ubuntu 10.04 vers 12.04, et  après avoir installé Gnome Classic,  sur deux d'entre elles un phénomène intéressant se produit: l'écran de boot (GRUB) affiche le theme de Debian 6 !




 Un cas de packaging qui a peut être mal tourné, et qui rappelle bien la synergie Debian / Ubuntu: Ubuntu c'est de mémoire 71% de paquets Debian recompilés sans modification et 29 % de paquets nouveaux/modifiés. (NB: Une source plus ancienne sur ce même thème  )