Google PlusFacebookTwitter

Linux From Scratch et ARM Cortex-A7 – Partie 2

By on Nov 27, 2013 in Embarqué, Linux | 4 comments

La chaîne de compilation, une étape qu’elle est cruciale !! Première phrase et déjà une superbe faute de français… tout fout le camp ! Dans le premier billet de cette série (cf. Linux From Scratch et ARM Cortex-A7 – Partie 1),  j’ai évoqué ce qu’était une chaîne de compilation a.k.a une toolchain dans la langue de « ChaQueSpéAre ». Pour ceux qui ont la flemme de lire ou relire ce billet voici ce que vous auriez du retenir : Une chaîne de compilation est un groupe d’outils permettant la compilation d’un programme d’une architecture processeur à une autre. En général, on y trouve les outils suivants : Binutils, Cloog, eGlibc, GCC, GMP, ISL, Noyau Linux, MPC, MPFR. Ces librairies sont nécessaires à la compilation de GCC (cf. http://gcc.gnu.org/install/prerequisites.html). Toujours dans mon précédent billet, j’ai évoqué plusieurs possibilités pour la...

Linux From Scratch et ARM Cortex-A7 – Partie 1

By on Nov 22, 2013 in Embarqué, Linux | 0 comments

Quand les envies prennent vie ! Installer une distribution c’est bien, c’est pratique, c’est « simple ». Tout un tas de commandes sont à notre disposition, un guide pour partitionner le disque, un autre pour configurer le réseau, il existe même un gestionnaire de paquets qui permet de gérer en toute simplicité les dépendances entre programmes. C’est incroyable ! (bientôt, sur Canal D !) Dans 99,99999999% des cas cette approche est parfaite mais il y a toujours le 0,00000001% (hey, c’est moi !) qui souhaite essayer autre chose. Comme par exemple, construire pas à pas un système GNU/Linux de zéro (from scratch). Étant donné que je suis un mec super cool (mes chevilles vont bien, merci), je vais essayer de retranscrire dans une série de billets ma toute récente expérience dans le monde l’embarqué et du from scratch. En quoi cela consiste ? L’idée...

Obtenir les identifiants d’un tenant via Keystone

By on Oct 23, 2013 in OpenStack | 0 comments

Cool… C’est quoi Keystone ? Keystone (OpenStack Identity) est en quelque sorte la pierre de fondation d’OpenStack, tous les composants reposent sur ce système d’authentification. C’est est un annuaire qui centralise toutes les authentifications et autorisations nécessaires aux multiples services d’OpenStack. Il peut aussi servir de catalogue de service. Keystone s’appuie sur un SGBDR soit de type SQLite, MySQL ou PostgreSQL. Keystone en mode debug Keystone en mode debug est extrêmement prolixe (j’utilise des mots compliqués pour me donner un genre), verbeux (synonyme de prolixe) dans le sens ou il fournit une multitude d’informations comme par exemple les identifiants d’un tenant (projet) ! Cela veut dire qu’avec ces informations il est possible de gérer un projet de A à Z (créer des instances, détruire des instances,...

Too many IMAP sessions, closing ImapSession

By on Sep 21, 2013 in Zimbra | 0 comments

Mais pourquoi mon client IMAP timeout !! Ahhhh (ceci est un soupir de béatitude), quelle belle journée ! Le soleil brille, les oiseaux chantent, la soirée fut arrosée et un poil charnelle. Ce matin personne dans les transports, une place assise vous tend les bras, wwwooowww que la journée commence bien, ça ne peut que s’améliorer ! Une fois assis(e) à votre poste et connecté(e), vous ouvrez comme à votre habitude votre client mail préféré mais là c’est la drame ! La récupération des messages mouline, c’est long, très long… quand tout à coup un splendide message d’erreur vous indique que votre client est timeout !  😆 (oui je suis un sadique) La cause de ce désarroi Dans les logs Zimbra le message « Too many IMAP sessions, closing ImapSession » fait son apparition, il signifie que le nombre de session maximales par utilisateur a été atteint. Par défaut...

OMG… Mon instance Nova OpenStack est cassée !!!

By on Août 25, 2013 in Linux, OpenStack | 2 comments

Et oui… ça n’arrive pas qu’aux autres ! Une instance nova qui ne démarre plus et c’est le drame, les collègues courent dans tous les sens. Avons-nous des sauvegardes ? Non ? Quoi ? Ahhhhh !!! Mais qu’allons-nous dire au client ? En théorie il existe une solution, je dis bien en théorie car si l’image de l’instance est gravement corrompue alors dans ce cas c’est le drame. 😀 qemu-nbd, un ami qui vous veut du bien Les instances nova sont dans notre cas des instances KVM/Qemu et donc par conséquent encapsulée dans un disque de type QCOW2 ou RAW. La solution consiste à utiliser la commande qemu-nbd qui permet de monter le disque d’une instance dans un répertoire et donc : De récupérer des données (votre client sera content…) De réparer une instance (réseau par exemple) Le disque de l’instance sera accessible via le...

WARNING: kernels compiled by different gcc versions

By on Août 19, 2013 in Linux | 0 comments

J’ai installé les kernel-debug mais… Après un crash de serveur l’un des premiers réflexe (comment ça non ?) est d’aller voir si un crashdump est disponible et lisible. Lors d’une tentative de lecture du crashdump l’erreur suivante peut apparaître : WARNING: kernels compiled by different gcc versions: /usr/lib/debug/lib/modules/2.6.32-358.14.1.el6.x86_64/vmlinux: 4.4.6 ../127.0.0.1-2013-06-13-15:45:39/vmcore kernel: 4.4.7 Pour faire court, le paquet kernel-debug installé pour lire  les informations du crashdump n’est pas identique à la version du noyau utilisée lors du crash du serveur. Mais quelle version utiliser alors ? Installer un kernel-debug bidon c’est bien beau mais c’est inutile… 😀 Pourquoi ne pas essayer de connaître la version utilisée par notre joli core de la mort qui tue ? Pour faire ce genre de chose il suffit...

Installation de l’agent Mongo DB Monitoring Service

By on Juil 5, 2013 in Linux | 0 comments

Un service qu’il est cool ! Mongo DB Monitoring Service (MMS) est un service proposé par la société 10gen éditrice de Mongo DB. MMS est un service permettant de collecter des informations liées au moteur Mongo DB. Ces informations collectées sont traduites sous forme de graphiques accessibles depuis la console MMS. Cerise sur le gâteau, le service est gratuit.  😆 Voici un petit aperçu des graphiques :   C’est beau hein, fermez la bouche ! Un agent qui bosse tout seul. Les données sont collectées à l’aide d’un agent présent sur le serveur (donc sur chaque Mongo DB à surveiller), ce dernier est écrit en Python. C’est lui qui se charge d’envoyer les informations aux serveurs de 10gen, ces données sont transmises via le port 443 (l’agent n’écoute pas sur ce port). L’agent est disponible via la console MMS, il sera donc nécessaire...

Certificat SSL gratuit StartSSL et Zimbra

By on Juin 22, 2013 in Linux, Zimbra | 6 comments

Une cohabitation facile : StartSSL et Zimbra Avoir un certificat SSL signé par une haute autorité reconnue coûte bonbon, je vous laisse faire un tour chez VerySign, etc… Si un liquide salin ruisselle lentement le long de votre joue c’est normal. Si vous êtes comme moi (un sysadmin merveilleux, formidable, incroyable, avec de superbes chevilles qui enflent ?), vous avez certainement toujours signé vos certificats SSL, jusqu’au jour ou une personne s’est plainte des choses suivantes : L’avertissement rouge qui fait peur de Chrome L’autre avertissement rouge qui fait tout aussi peur d’Internet Explorer La prise de connaissance des risques encourus si vous osez poursuivre avec Firefox Ce jour venu, chez StartSSL tu atterriras ! StartSSL propose gratuitement un certificat signé pour le domaine principal et un sous-domaine au choix. Par exemple :...

nova-novncproxy et Debian GNU/Linux Wheezy

By on Juin 4, 2013 in Linux, OpenStack | 4 comments

nova-novncproxy fait n' »import » quoi… Encore un jeu de mot en carton… Le paquet novnc mis à disposition par GPLHost ne fonctionne pas une fois installé. Si vous essayez de lancer la commande nova-novncproxy, l’erreur suivante sera affichée et vous passerez plusieurs heures à chercher pourquoi ça ne fonctionne pas, vous irez faire chauffer la Nespresso, manger un KitKat, etc… (je m’égare ). Traceback (most recent call last): File « /usr/bin/nova-novncproxy », line 32, in <module> from nova import flags ImportError: cannot import name flags C’est moche et pour les personnes qui comme moi ne maîtrise pas Python, cette erreur ne veut presque rien dire. Un petit oubli de la part de GPLHost En cherchant je suis tombé sur le sujet suivant : https://lists.launchpad.net/openstack/msg23774.html Dans ce dernier on peut lire ceci : flags.py was removed...

Lister les instances Nova d’un tenant Keystone

By on Juin 4, 2013 in OpenStack | 1 comment

Il manque une commande Nova Aujourd’hui nous avons eu à faire à une problématique qui n’aurait pas dû en être une (à mon sens). Nous souhaitions lister toutes les instances Nova d’un même tenant (projet) ainsi que le compute (nœud) sur lequel elles tournaient. Deux obstacles : L’utilisateur admin ne liste pas les instances qui ne sont pas dans son tenant Nous n’avons pas les identifiants de l’utilisateur lié au tenant C’est dégueulasse mais… …c’est la seule solution pour le moment (Toi, lecteur si tu en as une autre je suis prenneur). La solution consiste à aller directement taper dans la base de données nova. Qui a dit goret ? 😯 L’obtention du tenant se fait à l’aide de Keystone mais je ne vous apprends rien (Si ? COOL !). $ keystone tenant-list Résultat :...

Flasher un routeur D-Link DIR-825 de chez Vidéotron

By on Avr 21, 2013 in Autres, Embarqué, Linux | 98 comments

Le choix Vivant depuis peu au Canada, l’une des premières choses que j’ai eu à faire en arrivant sur place fut de trouver un FAI. Disons que dans la province de Québec il y en a deux principaux : Bell Vidéotron Après plusieurs lectures j’ai fini par choisir Vidéotron. L’ouverture de la ligne s’est déroulée dans les meilleures conditions et les plus brefs délais (deux jours). Il faut savoir que le modem que propose Vidéotron n’est pas Wi-Fi… pour palier à ce manque, le vendeur m’a proposé un routeur Wi-Fi D-Link DIR-825 pour 1,90$ par mois, c’est correct et donc j’accepte. Sur le papier le routeur est un bon produit mais ça c’est sans compter le fait que Vidéotron écrase le microcode (firmware) OEM par le leur… La raison officielle est que Vidéotron peut accéder à distance pour dépanner les clients en cas de...

Quand le Raspberry Pi s’installe à la maison !

By on Fév 26, 2013 in Raspberry PI | 0 comments

Un peu d’histoire… Comme l’indique la page suivante, j’ai été pendant presque 7 années responsable de la plate-forme d’hébergement web GoldZone Web. Cette plate-forme a débuté dans une chambre avec un serveur, puis s’est retrouvée dans un cagibi (du même appartement) avec trois serveurs (onduleur, KVM, switch, écran, etc…) pour ensuite finir sur sept serveurs en datacenter chez Equinix. Cette aventure étant terminée depuis quelques mois, il était temps pour moi de libérer cet espace et cette consommation électrique. Sur ces trois serveurs seul un est utilisé, il fait office de serveur DNS, de serveur web et de serveur de messagerie (SMTP/IMAP). Une framboise de 3.5W Le Raspberry Pi est un ordinateur de la taille d’une carte de crédit, je ne vais entrer dans la description de cette carte étant donné que des centaines d’articles...

kdump-tools et kdump-install, par l’exemple…

By on Fév 10, 2013 in Linux, Outils | 0 comments

Il n’y a rien de plus facile ! Dans un précédent article je parlais de l’utilisation de Kdump sous Debian, aujourd’hui je vais passer à la pratique. Dans un premier temps il est nécessaire d’ajouter le dépôt InCloudUs afin d’obtenir le paquet kdump-install. # aptitude install kdump-tools kdump-install La première fenêtre demande quel est le type de noyau actuellement utilisé. Si c’est le noyau Debian par défaut alors cela ne posera aucun problème par contre si le noyau utilisé est un noyau personnalisé (installé depuis les sources par exemple) alors il vous faudra configurer le fichier /etc/kdump-install/kdump-install.conf pour lui indiquer par exemple ou aller chercher le fichier de debug. La seconde fenêtre demande ou doit être sauvegardé le core généré, trois méthodes (pour le moment) possibles : En local sur le disque dur (par défaut dans le...

Online.net, ça se dégrade…

By on Fév 6, 2013 in Autres | 0 comments

Partitionner son serveur, le b.a.-ba sauf… Depuis plusieurs années chez Online.net (anciennement Dedibox), je constate depuis quelques temps que la qualité de service de ce dernier se détériore de plus en plus… Ça a commencé par un support moins pertinent, avec des réponses toutes faites, on pouvait sentir que les techs avaient été remplacés par des opérateurs munis de « checklists » à deux sous, bref les problèmes se solutionnaient (la plupart du temps) lentement mais surement; sauf que ce soir… … j’ai voulu réinstaller une Dedibox XL Raid (j’avais que ça faisait plusieurs années que je suis chez eux) quand tout à coup ! Impossible de partitionner mon disque comme je le souhaite, je suis obligé d’utiliser leur partitionnement par défaut (/boot, / , swap). En cherchant sur leur forum, je suis tombé sur la discussion suivante ou l’on peut...

Je suis en manque d’entropie…

By on Fév 3, 2013 in Linux | 0 comments

Phil[Entropie] (oui c’est nul !) Générer des clés GPG, SSH, SSL, etc… sur un système qui n’a quasi aucune activité (I/O) est plutôt compliqué… Mon dernière exemple en date est la génération d’une clé GPG; un calvaire. Exemple : We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. Not enough random bytes available. Please do some other work to give the OS a chance to collect more entropy! (Need 284 more bytes) Pour générer des clés, Linux utilise l’entropie. Pour faire simple l’entropie est un container de bits produites de manière totalement aléatoire soit par une source matérielle (souris, clavier par exemple) soit par un petit programme...