Thursday, 14 February 2019
|
Écrit par
Grégory Soutadé

Today we'll play a bit with Git. At work, we make some products that uses customized Linux kernel. Once deployed, this kernel is not often updated, so we chose to be based on LTS (Long Term Support) kernels. This gives us staibility and not so many rebase to do. Unfortunately, kernel gets security patches that we must include into our development.

But, to keep clear history, we want to have all our commits in top of the vanilla branch. Plus, having this schema helps to extract all customs patches for Yocto or other build system.

For our case, history needs to be rewrote in a non trivial way.

We currently work with version v4.14.59, but nowaday, kernel.org has submitted revision v4.14.98. Lets says that we have made the following commits

6f0b0d94b3e2250551fac6ba58b5ec7a02714174 --> 0790c6bd39a86b3964d022746fc85ae2eefb824d

after tag v4.14.59. So, we have something like this :

Current git state

In our remotes we have :

  • upstream --> points to kernel.org
  • origin --> internal copy of kernel.org

Our branches are :

  • linux-4.14.y -> upstream/linux-4.14.y (LTS branch)
  • linux-4.14.y-custom -> origin/linux-4.14.y-custom

First, we need to update LTS branch

    git checkout linux-4.14.y
    git pull upstream linux-4.14.y
    git fetch --tags upstream

The trick here is to put the HEAD of our custom branch at the last tag without deleting our commits. So, we need to make a copy of this one.

    git checkout linux-4.14.y-custom
    git checkout -b linux-4.14.59-custom linux-4.14.y-custom

Then, cut the the HEAD and integrate vanilla work.

    git reset --hard v4.14.59
    git rebase linux-4.14.y

Finally, integrate back our commits.

    git cherry-pick 6f0b0d94b3e2250551fac6ba58b5ec7a02714174 .. 0790c6bd39a86b3964d022746fc85ae2eefb824d

The work is almost finished, we still need tu update internal tags we made ! Unlike subversion, a tag in git is just a reference to a specific commit, so it's easy to manage and update. Even if it's a shared repository, we can change them because people that uses them are focused on our custom commits and not on the ones in vanilla branch. Here is a script that get all custom tags references and apply them to the cherry picked commits. An other strategy could be to postfix tags with the new kernel revision. It's up to you to decide what better fit your needs.

The script assume all our custom tags starts with "customXXX".

#!/bin/bash

TAGS_PREFIX="custom"
OLD_START="v4.14.59"
OLD_END="0790c6bd39a86b3964d022746fc85ae2eefb824d"
NEW_START="v4.14.98"

nb_commits=`git log --pretty=oneline $OLD_START..$OLD_END|wc -l`

for tag in `git tag -l $TAGS_PREFIX`; do
    cur_commits=`git log --pretty=oneline $OLD_START..$tag|wc -l`
    new_commit=`git log --pretty="format:%H" -n1 --skip=$(($nb_commits - $cur_commits)) $NEW_START..HEAD`
    # git log --pretty=oneline -n1 $new_commit
    git tag -d $tag
    git tag $tag $new_commit
done

Last thing to do, is to sync with remote. We need to pull from origin because HEAD had a strange behavior :

    git pull origin linux-4.14.y-custom
    git push origin linux-4.14.y-custom
    git push origin linux-4.14.59-custom # Optional
    git push --force --tags origin

Force for pushing tags is not needed if the tags were not modified, but just created. Now, we can delete our copy branch or keep it into git. Don't delete it, if you want to keep your old tags references !

Final result :

Final result

Thursday, 17 January 2019
|
Écrit par
Grégory Soutadé

It's the second time it happens ! After an update my Debian refuse to boot. This time, I wasn't asked for anything !!

I have an LUKS on LVM configuration. I don't use UUID in my cryptroot and Debian scripts only activate devices with it ! I need to manually add "vgchange" command to mount all devices. Unfortunately, the patched script was overwrote by update.

If it happens, follow this procedure :

  • At boot, wait for the rescue shell (~5 minutes)
  • Enter "vgchange -ay"
  • Enter "exit"

Now, you may be able to boot into your system. Then :

  • Edit /usr/share/initramfs-tools/scripts/local-top/cryptroot
  • Add "vgvhange -ay" in wait_for_source() function
  • Update initramfs with "sudo update-initrmafs -u"

Safely reboot !

Monday, 31 December 2018
|
Écrit par
Grégory Soutadé

Départ depuis le col du Pilon

C'est une boule blanche qui trône au dessus du plateau de la Malle. Beaucoup la prennent pour un télescope (du fait de la proximité du plateau de Caussols). Il s'agit en réalité d'un radar de l'aviation civile ! C'est également l'objectif du jour.

Pour s'y rendre, deux options s'offrent à nous : commencer le tour de la marbrière, puis tourner vers St Christophe, ou démarrer à partir du col du Pilon. C'est la deuxième option (plus courte) qui a été choisie. Autant le dire de suite, il s'agit d'une randonnée difficile (distance et dénivelé importants).

Il faut donc se rendre au col du pilon, à l'entrée de St Vallier-de-Thiez, peu après la maison d'arrêt de Grasse. L'objectif est de suivre le chemin tracé à travers la montagne. C'est une canalisation de gaz à haute pression. Elle est symbolisée par des nichoirs jaunes.

La randonnée commence tranquillement avec un beau parcours forestier.

Dans les bois Dans les bois, contre jour

Puis, la pente se fait plus forte, le sol est instable (beaucoup de cailloux).

Chemin qui suit la canalisation panorama à mi côte

Une fois arrivé au sommet, on aperçoit le second objectif : les antennes !

Aperçu des antennes

Si le chemin semble tout tracé, il faudra pourtant contourner par la gauche une propriété privée et clôturée afin de rejoindre une route. À 11h du matin, elle est encore gelée. Pourtant, le temps est idéal pour se promener.

Chemin encore gelé

C'est à ce moment qu'il faut être vigilant et bifurquer sur le GR4 signalé en rouge, sous peine de faire un grand détour ! Il faut bien penser aux nichoirs jaunes qui "balisent" le chemin.

Bifurcation du GR4

Une fois passé les antennes, on n'entend plus le bruit de la route, l'air est pur, le soleil nous réchauffe généreusement, c'est un vrai régal.

Au loin, une maison Cabane en pierre

Il va falloir attaquer la descente, le radar en ligne de mire. Un peu moins raide que la précédente, elle n'en reste pas moins instable par endroit.

Descente vers le plateau de la Malle

Au loin on aperçoit un château. On n'imagine pas, du fait que l'endroit est reculé, mais il y a plusieurs maisons sur le plateau et quasiment toutes sont habitées (même en hiver).

Au loin un château

En regardant plus près, un chamois a coupé le chemin en deux bonds. Trop rapide pour prendre une photo ! Une fois au bas de la pente, il faut être de nouveau vigilant et tourner sur la gauche pour suivre le GR4 qu'il faudra laisser de côté un peu plus tard et poursuivre sur l'arrête de la montagne en direction du radar.

Malheureusement la randonnée s'est arrêtée devant la clôture des maisons bordants la route (au pied de l'ascension finale !!), il n'y avait à priori pas de chemin pour la contourner et l'information du GR4 n'a été connue que lors du retour en discutant avec un autre randonneur. C'est rageant, surtout que le détour par le GR4 fait quand même 2km.

Autre déception : les nuages sur le littoral qui ont gâché le panorama.

Panorama brumeux

Attention à la descente finale, le dénivelé est important et les pierres toujours aussi roulantes. Malgré tout ce fut une très belle journée de décembre.

Tuesday, 27 November 2018
|
Écrit par
Grégory Soutadé

Parlons peu, parlons chats ! Je voudrais mettre en lumière un phénomène qui n'est certes pas nouveau, mais peu connu du grand public et surtout contre intuitif : la lipidose hépatique. Commençons par décomposer ce nom barbare : lipidose vient de lipide (les graisses) et hépatique : du foie. La lipidose hépatique est donc une hépatite causée par l'arrivée massive de triglycérides (un élément de la classe des lipides) dans le foie.

Jusque là rien d'anormal étant donné que le foie est (entre autres) un organe de stockage et de transformation des graisses (miam, le bon foie gras dont on se délecte les jours de fête). Le problème intervient quand il y a un excès de graisses qui provoque une hépatite, donc une destruction des cellules du foie : il est "innondé".

Quel rapport avec les chats me direz-vous ? Mécanisme de survie primaire, lorsque nos chères petites bêtes à poils arrêtent de s'alimenter (initialement à cause d'un manque de proies sauvages, comme en hiver par exemple), le foie va récupérer un maximum de graisses stockées dans le corps pour permettre la redistribution aux organes et donc de poursuivre une activité normale. Ce genre d'anorexie peut également être causé par un stress important (changement d'environnement, nouvel arrivant dans le foyer...). Tandis que chez l'humain, et pour les mêmes causes, cette gestion des graisses continue à être régulée "normalement". D'un point de vue extérieur, l'hépatite se manifeste par un jaunissement progressif : muqueuses, yeux, peau.

Petit problème : ce phénomène intervient également lorsque les chats arrêtent de s'alimenter pour une cause autre telle qu'une maladie et plus particulièrement une maladie liée à l'alimentation/digestion : problème d'oesophage, de pancréas, d'estomac, de côlon...

Ce mécanisme normal à l'état naturel devient hélas mortel pour un animal domestiqué. Pourquoi ? À cause du surpoids ! Manque d'activité, vie confortable, nourriture à volonté et surtout stérilisation qui fait chuter le taux d'hormones et donc ralentit le métabolisme entraînant une élimination plus lente des graisses absorbées. Même un chat qui paraît "normal" est déjà en surpoids par rapport à ce qu'il devrait être à l'état sauvage.

La conclusion est simple : lorsqu'un chat arrête de s'alimenter, c'est qu'il est malade et il faut l'emmener d'urgence chez un vétérinaire avec prise de sang OBLIGATOIRE pour trouver la cause de la maladie et la traiter rapidement avant que cela ne provoque une hépatite qui peut rapidement devenir irréversible. Si le vétérinaire ne trouve rien ou est trop léger, ne pas hésiter à en consulter un autre, même si ce n'est pas le vétérinaire habituel, même s'il est plus loin, même s'il est plus cher. Car Une fois que ce mécanisme est enclenché, les chances de survie sont faibles et il faut alors recourir à des traitements invasifs dont l'issue est incertaine. Pire encore, l'anorexie du chat est un cercle vicieux, car elle provoque des vomissements répétés qui ne lui donnent pas envie de reprendre son alimentation normale. Le chat se meurt à petit feu. D'où l'intérêt d'une prise en charge rapide.

C'est malheureusement l'expérience qui parle...

Sunday, 21 October 2018
|
Écrit par
Grégory Soutadé

Départ course des paroisses

La Course des paroisses revient cette année encore. Les trois formules sont disponibles quelque soit son niveau :

  • 1km (enfant) à 10h45
  • 1.7km (enfant) à 10h45
  • 5km à 13h
  • 12km à 13h

Avec comme nouveauté de pouvoir réaliser les parcours 5km et 12km le matin à 10h ! Mieux encore, une messe est organisé à 8h30 au col de Belle-Barbe. Bref pour la modique somme de 5€, 8€ ou 12€ (+3€ pour les inscriptions sur place), il ne faut pas se priver de participer à ce superbe, et très convivial, cross dans l'Ésterel ! En bonus top moumoute : une bière est offerte à tous les participants.

Retours : Cette année la météo a été beaucoup moins clémente avec des précipitations régulières jusque dans la matinée et même une légère bruine avant et pendant la course. Forcément, l'affluence a été moindre avec 201 participants pour le 12km et 71 pour le 5km, contre 375 l'année passée. Pour autant, la course des 12km a enregistrée 17 participants de plus ! Toujours à cause de la météo, le circuit a dû être modifié par les organisateurs : il a été coupé en 3, avec un première boucle de moins de 2 kms, puis deux grandes boucles. Si l'année dernière, le parcours était difficile, cette année, il était très difficile. La boue pour commencer, avec des sols saturés en eau et des flaques en plein milieu de chemins déjà étroits, les côtes m'ont également semblé plus raides que l'année passée, ce qui est confirmé par le tracé GPS de la montre : 10% au lieu des 7% précédemment . Mais aussi les descentes plus dangereuses à cause des pierres glissantes. Obligé de faire la seconde montée en marche rapide. Finalement, la distance, avec 800m de plus ! Il faut dire que le rhume de la semaine précédente a complètement cassé la bonne dynamique du début de saison. Bref, si mon résultat est honorable (93/201 en 1h10"41'), je ne suis pas satisfait car j'aurais pu faire mieux. Pour autant, et malgré tous ces désagréments, c'est une course qui reste vraiment très agréable tant par le cadre que par la présence et la motivation de tous les bénévoles (une cinquantaine) présents sur place.

Dernier gif les joies du code Quand l’appli ne répond plus