Failed to build vmmon/vmnet. Failed to execute the build command

A chaque mise-à-jour du noyau linux sur une machine physique, il faut recompiler les modules “Virtual Machine Monitor” (vmmon) et “Virtual Network Device” (vmnet). D’ailleurs, il en est de même pour une nouvelle installation.

Bien entendu, la compilation échoue à chaque mise-à-jour du noyau linux, sinon il n’y aurait pas autant d’articles qui traiterait le sujet.

Dans le fichier vmware-xxx.log, il n’y a rien de plus que ce qui est affiché dans le message d’erreur à l’écran.

2019-05-24T09:10:32.732+01:00| vthread-1| I125: Failed to find /lib/modules/5.0.0-15-generic/build/include/linux/version.h
2019-05-24T09:10:34.581+01:00| vthread-1| W115: Failed to build vmmon. Failed to execute the build command.
2019-05-24T09:10:35.986+01:00| vthread-1| W115: Failed to build vmnet. Failed to execute the build command.

 

La meilleur solution que j’ai trouvé, et qui marche à tout les coups – tant que le mainteneur du dépot git, mkubecek reste active – est de lancer un script tout préparer ci-dessous.

Récupérer la version de Workstation.

# vmware --version
VMware Workstation 14.1.7 build-12989993

 

Puis mettez à jour la version de Workstation dans le script.

#!/bin/bash
VMWARE_VERSION=workstation-14.1.7
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 
/usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo /etc/init.d/vmware restart

 

Sources

How To Install VMware Workstation Pro 14 on Ubuntu 18.04 / 17.10 & Ubuntu 16.04
Installing VMware on 18.04: Failed to build vmmon

Publicités

Arc-theme et problème de couleur de la police d’écriture dans Firefox

Apparement, Firefox n’aime pas les thèmes « sombres » puisque depuis 2001, un bug sur le sujet a été rapporté et n’a jamais été corrigé depuis.

C’est un peu embêtant puisque la couleur de la police d’écriture se confond avec la couleur du fond d’écran. Vu que ce bug risque de ne pas être corrigé durant quelques années encore, j’ai du m’inspirer de ce blog pour avoir une trace du contournement proposée.

Pour information, l’installation du thème Arc dans Ubuntu se fait avec la commande

$ sudo apt install arc-theme

Et voici à quoi ressemble un thème sombre Arc.

 

Pour régler le problème de la couleur d’écriture,

  1. Dans la barre d’URL de Firefox, taper about:config
  2. Faites un click droit sur la page, puis ajouter une valeur String widget.content.gtk-theme-override
  3. Choisissez un thème GTK light comme valeur, par exemple Arc-Darker
  4. Redémarrer Firefox

Source

GTK Dark Theme and Firefox

Ré-installation Linux sur une seule partition tout en gardant les informations de /home

Un ami a eu un soucis avec Ubuntu. NetworkManager semble ne plus reconnaitre ni le wifi ni la connection filiaire, probablement à cause de la dernière mise-à-jour du noyaux.

Je vais m’en passer des détails, mais pour votre information, il utilise Ubuntu 14.04. Une tentative de mise-à-jour vers la version 16.04 en mode filaire ne s’est faite que partiellement.

La meilleure solution dans cette situation serait de réinstaller le système après avoir fait une copie de la partition /home. Pour mettre un peu de piquant dans l’histore /home et / font parties d’une seule et même partition. Vous comprenez bien qu’une réinstallation du système va effacer toutes les données de /home.

J’ai trouvé une astuce pour réinstaller le système en gardant les informations de /home.

Je ne le répète pas assez, mais avant d’essayer quoi que ce soit sur votre machine, faites des tests dans une machine virtuelle (voir Annexe). Celà vous coutera un peu de temps, certes. Mais en contrepartie, vous ne seriez pas surpris si quelque chose tourne mal.

La messe est dite, lançons dans l’aventure.

1. Essayer Ubuntu sans l’installer

Télécharger l’ISO avec la version d’Ubuntu qui vous intéresse. Dans mon cas, je vais rester sur une version LTS à la demande de mon ami.

Pour créer une clé USB bootable, sachant que cette clé se trouve sur la partition /dev/sdb, lancer les commandes suivantes.

$ sudo apt install dcfldd
$ sudo dcfldd if=xubuntu-18.04.2-desktop-amd64.iso of=/dev/sdb bs=1M

En ce qui concernant la commande dcfldd, j’en ai parlé dans cet article.

Redémarrer la machine avec la clé insérée, puis sélectionner l’option d’Essayer Ubuntu sans avoir à l’installer.

2. Archiver le dossier /home

Monter ensuite la partition utilisée par /home qui, je le rappèle, se trouve sur la même partition que /. Les commandes « sudo fdisk -l » et « df -h » vous aideront à identifier cette partition. Dans mon cas, cette partition se trouve dans /dev/sda3.

$ sudo mount /dev/sda3 /mnt
$ sudo chroot /mnt

Brancher puis monter un disque dur externe pour la sauvegarde des données. De même que précédement, les commandes fdisk et df vous permettront de récupérer le nom du disque à monter.

$ sudo mount /dev/sdb1 /media/USERNAME

Placez vous dans le dossier dans lequel sera copié la partition /home, puis lancer la copie.

$ cd /media/USERNAME/MonDisque/CopieHome
$ tar -cvpzf backup-home.tgz /home/*

En fonction de la taille des fichiers dans le répertoire /home, la copie, ou plus exactement, la compression de /home, risque de prendre du temps.

3. Installer Ubuntu

Une fois la compression terminée, vous pouvez démonter les partitions montées précédement puis lancer l’installation de ubuntu.

$ sudo umount /media/USERNAME/MonDisque
$ sudo umount /mnt

Au moment de la création de l’utilisateur, je vous propose de créer un utilisateur de type « test » qu’il faudra supprimer plus tard. Il ne faut surtout pas créer un utilisateur du même nom que celui ou ceux qui gèrent notre dossier /home.

Une fois l’installation terminée, et que la machine a redémarrée, connectez-vous avec l’utilisateur test. Ensuite, copier l’archive dans le dossier /home. Je présume que votre disque externe va se monter automatiquement dans /media/USERNAME.

$ sudo su
$ cd /home
$ tar -xvpf /media/USERNAME/MonDisque/CopieHome/backup-home.tgz

4. Ajout de compte(s) utilisateur(s) du même nom que celui (ceux) du dossier /home

Maintenant, recréer tous les utilisateurs qui devraient avoir le nême nom que les utilisateurs de /home. Pour ce faire, il vous suffit de créer un nouveau compte utilisateur.

Vérifier que vous pouvez vous connecter sans problème avec ce ou ces utilisateurs, avant de supprimer définitement l’utilisateur « test ».

Annexe

Pour pouvoir attacher un disque dur externe ou une clé USB dans virtual box, lancer les commandes suivantes sur votre machine.

$ sudo apt install virtualbox-ext-pack
$ sudo adduser $USER vboxusers
$ sudo usermod -aG vboxusers $USER

III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

Maintenant que l’installation de Ubuntu est effectuée, il va falloir trouver des alternatives sous Linux aux outils que j’utilise quotidiennement au boulot.

La tâche aurait été plus facile si les outils de remplacement proposés par AwesomeCow ou Framasoft, répondent bien à mes besoins. Ce qui n’est pas tout à fait le cas, d’où ce chapitre.

Bien que mon environment de travail soit prêt pour accueillir Linux, j’ai encore quelques contraintes à régler, et qui ne sont pas des moindres.

  • L’écran de veille de Xubuntu ne permet pas la reprise en main de la machine, puisque cette dernière affiche un écran noir avec un message de redirection (This session is locked: You will be redirected to the unlock dialog automatically in a few seconds) vers la page d’identification, mais qui n’a pas lieu. Une des solutions que j’ai trouvé et qui marche, c’est de taper votre mot de passe à ce niveau. Si celà ne marche pas, passer en mode terminal (CTRL+ALT+F1), puis entrer la commande loginctl unlock-session et réessayer de vous vous connecter à la page d’accueil avec CTRL+ALT+F7 ou CTRL+ALT+F8
  • Le VPN ne fonctionne pas, du fait que je n’ai pas réussi à récupérer le token proposé par la clé logicielle RSA pour l’authentification. Je suis au courant qu’il est possible d’installer l’application RSA sur un téléphone android, mais je n’en ai pas de ce type de téléphone sous la main

Pour information, j’utilise déjà pas mal d’applications Open Source dans mon environnement de travail sous Windows. L’installation de Linux n’est qu’un pas de plus pour avoir une solution moins dépendante de Microsoft.

 

1. Greenshot Shutter

Le projet shutter semble être abandonné. Les autres options ne me conviennent pas du tout, pour les raisons suivantes:

  • J’ai besoin de prendre des copies d’écran partielle ou totale, et en mode continue
  • Les copies d’écrans doivent être à portée de main pour vérifier qu’il y a toutes les informations dont j’ai besoin dessus, pour les traiter plus tard
  • Il me faut la possibilité d’annoter les images capturées à tout moment, avant ou après la capture
  • La copie d’écran devrait se trouver dans le buffer afin de pouvoir le copier rapidement dans un document texte (LibreOffice, etc.)

Pour être honnête, je n’ai pas trouvé d’équivalent au logiciel de retouche d’image « shutter drawing tool ». Par contre, pour la copie décran, xfce-screensaver me paraît satisfaisant.

En résumé, voici ce dont j’attend d’un outil qui fait office de capture d’écran.

Pour l’installation de Shutter, activer les dépots « universe, restricted, et multiverse » si ce n’est déjà fait.

Lancer ensuite l’installation,

$ sudo add-apt-repository ppa:linuxuprising/shutter
$ sudo apt install shutter

Il est plus pratique d’avoir un racourci pour les différents types de captures,

Pour la désinstallation, si vous n’en trouvez plus l’utillité,

$ sudo apt remove --auto-remove shutter

Puis, supprimer le PPA rajouté avant l’installation.

 

2. Notepad++ jEdit

Notepad++ s’installe sans problème avec snap. Par contre, ce n’est pas une application native à Linux.

Je vais donc me laisser tenter par jEdit pour les raisons suivantes:

  • Utilisation d’onglets par fichiers ouverts
  • Recherche dans les buffers, dans tous les fichiers ouverts non sauvegardés
  • Sauvegarde automatique de l’état des différents fichiers: jEdit remet en l’état, tous les onglets fermés après  redémarrage de l’ordinateur

Afin d’avoir les fichiers ouverts dans des onglet, commen dans Notepad++, je vous conseille d’ajouter le plugin « BufferTab » à jEdit.

Voyez le résultat.

 

3. Evernote, Tolon NoteKeeper CherryTree

J’ai pris l’habitude d’utiliser Tolon NoteKeeper. Cependant, cette application n’étant pas disponible sous linux, j’ai fait la découverte de CherryTree pour sauvegarder mes notes.

Depuis que je l’utilise ce nouvel outil, je regrette de ne pas l’avoir connu plus tôt.

Pour l’installation,

$ sudo apt install cherrytree

 

4. Lync (Skype for Business) Pidgin

La combinaison Pidgin avec le plugin SIPE est le meilleur candidat que j’ai trouvé pour remplacer Skype for Business (Lync), à ne pas confondre avec Skype pour les particuliers.

Pidgin devrait être déjà installé par défaut.

$ sudo apt install pidgin-sipe

 

Relancer ensuite Pidgin, puis ajouter un nouveau compte.

Comme Protocol, sélectionner « Office Communicator »

Une fois tous les champs sont remplis, vous devriez être en mesure de communiquer avec vos collègues qui utilisent Lync.

 

5. Microsoft Outlook Thunderbird

Pour remplacer Outlook, vous avez le choix entre Thunderbird et Evolution. Ce dernier, apparement synchronise les emails, contacts et calendriers sans plugin, mais je n’ai pas vérifié ce qui ne marche pas. Je vais plutôt me focaliser sur ma première option, qui est Thunderbird.

Pour avoir toutes les fonctionnalités de Outlook, il va falloir ajouter quelques plugins à Thunderbird.

  • « ExQuilla for Exchange » pour la synchronisation des emails et contactsDans les configurations du compte, sélectionner « Microsoft Exchange »
    Cliquer sur « Autodiscover », pour vérifier que vous pouvez vous connecter avec votre compte
  • Lightning est installé par défaut dans Thunderbird.
    Il ne reste plus qu’à installer TbSync et Provider for Exchange ActiveSync pour la synchronisation des calendriers.Dans Tools > Add-on Preferences > TbSync, sélectionner dans Accounts actions > Add New Account > Exchange ActiveSync
    Lancer manuellement la synchronisation pour la première fois. Par la suite, vous n’aurez plus besoin de le faire.

Si à un moment ou à un autre, Thunderbird ne sauvegarde plus votre mot de passe et vous réclame constamment le mot de passe de votre compte Exchange, supprimer le fichier pkcs11.txt qui se trouve dans ~/.thunderbird/Profiles/123XYZ.default/pkcs11.txt. Après cette manipulation, il vous sera demandé d’entrer une nouvelle fois le mot de passe de votre compte, et vous n’aurez plus besoin de le faire par la suite.

 

6. Slack

Je n’ai jamais compris l’utilité de Slack. A mon goût, cet outil n’est pas ergonomique du tout, surtout au niveau de la fonction recherche. Je ne vais pas faire de commentaires dessus. Ceux qui l’utilisent savent de quoi je parle.

Au besoin de l’entreprise, je vais tout de même l’installer.

$ sudo snap install slack --classic

 

Comme conclusion, je dirait qu’en vue d’avoir toutes les application dans les Nuages (ou dans le « cloud »), rien ne nous empêche de migrer de Windows à Linux dans les entreprises, à partir du moment où vous avez tous les outils nécessaire à votre travail, qui fonctionnent correctement dans ce nouvel environnement.

Bon courage à vos démarches, et linuxisons le monde de l’entreprise.s

 

Sources:

Unable to install Shutter in Lubuntu 18.10
CONFIGURING SKYPE FOR BUSINESS 2013 ON UBUNTU 13.10
Installing Slack for Linux on Ubuntu 16.04 / 17.10 / 18.04
10 Must-Have Thunderbird Addons (+ 25 More)
Is ExQuilla free software (either without cost, or free to modify)?

II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage

Après avoir chiffré votre disque dur, vérifier que vous avez tout ce qu’il faut pour vous préparer à d’éventuels soucis pour accéder à vos données sur le disque.

Garder en tête qu’une fois le disque dur est entièrement chiffré, il est impossible d’y accéder sans l’avoir préalablement déchiffré.

Il va de soi que la première chose à faire serait de sauvegader l’entête de la partition chiffrée. Je vous ai traduit un passage du manuel de cryptsetup.

If  the  header of a LUKS volume gets damaged, all data is 
permanently lost unless you have a header-backup.

Ce qui se traduit par,

Si l'en-tête d'un volume LUKS est endommagé, toutes les données 
[du disque] sont définitivement perdues sauf si vous avez une 
sauvegarde de l'en-tête.

 

I. Sauvegarder et restaurer l’en-tête du volume luks

Commencer par sauvegarde l’entête de LUKS.

$ sudo cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file luks-head_sda2.bak

Vous pouvez ensuite copier le fichier créé à un endroit où vous pouvez y accéder à tout moment, en cas de soucis.

Si vous êtes curieux, vous pouvez afficher les informations de l’entête de LUKS avec l’option luksDump.

$ sudo cryptsetup luksDump /dev/sda2


A comparer avec les informations du fichier de sauvegarde, on devrait avoir les mêmes informations.

$ sudo cryptsetup luksDump luks-head_sda2.bak

Noter que vous avez droit à 8 clés (passphrase) max. A chacune de ces clés sera associée un slot. Le slot zéro contient déjà une clé, celle qu’on a renseigné au moment où l’on a chiffré le disque.

 

Pour restaurer le header, c’est presque la même commande que pour le backup. Il suffit de remplacer « Backup » par « Restore ».

$ sudo cryptsetup luksHeaderRestore /dev/sda2 --header-backup-file luks-head_sda2.bak

 

II. Quelques manipulation sur le header

2.1 Ajout d’une nouvelle clé

J’ai mentionné qu’il vous est possible d’avoir jusqu’à 8 clés au total. Voici comment ajouter une nouvelle clé.

Par exemple, ajoutons une clé au niveau du slot numéro 4.

$ sudo cryptsetup luksAddKey --key-slot 4 /dev/sda2

 

Il vous sera demandé de rentrer la clé initialle (slot 0), si c’est la seule disponible, avant de pouvoir ajouter cette nouvelle clé.

2.2 Modification du mot de passe de la clé

Pour modifier une clé, on utilisera luksChangeKey avec l’option –key-slot (ou -S) suivit du numéro du Slot à modifier.

$ sudo cryptsetup luksChangeKey -S 4 /dev/sda2

2.3 Supprimer une clé

J’ai ajouté un mot de passe pour le slot 1, que je vais supprimer avec la commande,

$ sudo cryptsetup luksKillSlot /dev/sda2 1

 

Voyez bien que, si le slot n’est pas actif (slot 2), on ne peut rien y faire avec, à part l’activer.

Il ne faut surtout pas supprimer toutes les clés, sinon vous ne pourrez plus accéder à votre disque s’il n’y a pas eu sauvegarde du header auparavant.

 

III. Accès en mode sans-échec

Une dernière chose avant de clôturer ce chapitre. Vérifier que vous pouvez vous connecter sans problème en mode sans échec avec tous les mots de passe associés aux slots créés plus haut.

 

Il vous sera toujours demandé de déchiffrer la partition LUKS, même en mode sans échec.

 

J’ai utilisé deux mots de passe différent pour les deux slots, et j’arrive à me connecter sans problème avec les deux.

 

IV. Ré-installation

Si jamais vous avez à réinstaller Ubuntu, ou n’importe quel distribution linux avec une partition chiffrée, il vous suffit de monter la partition luks avec l’option luksOpen, puis de lancer l’installation comme normalement.

$ sudo cryptsetup luksOpen /dev/sda2 hdcrypt

 

Sources

LUKS: Add a Backup Key, Backup, Restore and Delete LUKS Volume Header
How to backup or restore LUKS header

 

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

Celà fait un moment que je me suis posé la question de comment utiliser Linux en entreprise. Il y a eu deux défis auquels j’ai du faire face.

  • Comment respecter les règles de sécurité informatique imposées par l’entreprise? Entre autre, comment protéger les données sensibles stockées sur un ordinateur tournant sour linux lorsque l’ordinateur se retrouve en dehors de l’entreprise?
  • Est-ce que les outils que j’utilise sous Windows vont être compatible avec Linux? Si ce n’est pas le cas, quelles sont les alternatives?

Je dois l’avouer que l’utilisation massive des outils dans cloud (outlook365, etc.) nous simplifie la vie dans un sens où, il n’est plus nécessaire d’avoir Windows pour les utiliser. Je vais en parler dans un prochain article.

 

Dans cette première partie, je vais vous donner les différentes étapes que j’ai suivit afin de pouvoir installer Ubuntu sur une partition chiffrée avec LUKS.

Ce post peut aussi intéresser des particuliers qui souhaitent sécuriser leurs ordinateurs tournant sous Linux.

 

Avant de faire quoi que ce soit comme manipulation sur votre ordinateur, je vous recommande vivement de faire plusieurs essais dans une machine virtuelle afin de vous familiariser avec les différentes étapes.

J’ai donc lancé une machine virtuelle avec les configurations suivantes:

OS : Xubuntu 18.10
RAM : 1Go
HDD : 20Go (disque vierge, non partitionné)

Mon plan est de configurer les différentes partitions comme suit:

/boot : 1Go – ext4
/root : 15Go – ext4
swap : 1Go
/home : le reste du disque – ext4

 

I. Preparation du disque avec GParted

Insérer l’ISO d’Ubuntu dans le lecteur de média de la VM (Virtual Machine en anglais, ou machine virtuelle), puis sélecter l’option Essayer Ubuntu sans l’installer.

GParted est compris dans l’ISO. Il n’y a plus besoin de le télécharger à part entière.

Quand vous sélectionnez votre partition, il vous sera demandé de choisir une table de partition. Sur les systèmes assez récent, GPT est un très bon choix.

 

Au niveau partition, il nous en faut deux. Celle utilisée pour  le boot, ne sera pas chiffré. La deuxième partition, dans laquelle on y mettra root, swap et home par le suite, sera entièrement chiffrée.

A la question, pourquoi ne pas chiffrer la partition boot, la réponse a été donnée ici.

 

II. Préparation de la partition chiffrée avec LUKS

Dans cette deuxième partie, je vais vous donner les étapes pour chiffrer la partition dans laquelle nous allons installer Ubuntu.

Cette partie se déroule en trois étapes:
– Initialiser la partition à chiffrer avec LUKS puis la formater
– Initialiser chaque disque associée à un volume physique
– Créer les différents volumes logiques

Je n’ai qu’un seul disque dur sur mon ordinateur, donc je ne vais pas m’embêter à expliquer comment faire dans le cas où vous avez plus d’un disque. Par contre, je vous renvoie à cet article qui traite le sujet.

 

Ne vous étonner pas si l’initialisation de la partition à chiffrer /dev/sda2, se déroule très vite.

$ sudo fdisk -l
$ sudo cryptsetup luksFormat /dev/sda2

C’est tout à fait normal, puisque l’option luksFormat, contrairement à ce que son nom nous fait croire, ne formate pas du tout le disque. Pour ce faire, nous allons utiliser la commande dd.

Commencer par accéder au conteneur LUKS, qu’on va nommer hdcrypt, et qui sera le chemin d’accès au disque déchiffré.

$ sudo cryptsetup luksOpen /dev/sda2 hdcrypt

Formatter le disque avec la commande dd. En mode parano, vous pouvez lancer la même commande plusieurs fois.

$ sudo dd if=/dev/zero of=/dev/mapper/hdcrypt bs=16M

En fonction de la taille de votre disque, cette commande risque de prendre du temps avant de se terminer. Il n’y a pas d’indication sur l’avancement de l’opération à l’écran.

Ne paniquez pas si vous ne voyez pas de progrès, laisser votre ordinateur le temps de terminer le processus, et n’oubliez surtout pas de brancher votre ordinateur à un secteur.

Le meilleur moment pour lancer cette commande, c’est durant la nuit. Au matin, il faut espérer que l’opération se termine.

 

Notre conteneur est presque prêt. Pour vous donner une idée de ce que l’on va faire par la suite,

La première étape serait d’associer un volume physique (PV, Physical Volume) à notre container.

$ sudo pvcreate /dev/mapper/hdcrypt


Créer ensuite un groupe « vgcrypt », dans lequel on regroupera tous les disques logiques.

$ sudo vgcreate vgcrypt /dev/mapper/hdcrypt

Et enfin, préparer nos disques logiques. Donnez leurs un nom qui vous donnera une indication sur la future utilisation du volume.

$ sudo lvcreate -n lvroot -L 15G vgcrypt
$ sudo lvcreate -n lvswap -L 1g vgcrypt
$ sudo lvcreate -n lvhome -l 100%FREE vgcrypt

Faites attention à la différence entre -l, qui demande à avoir une valeur en pourcentage, et -L qui s’attend à une quantité en Go, d’où le G ou g.

Nos différentes partitions (volumes logiques) sont maintenant créées. Il faut maintenant y associer les systèmes de fichier appropriés pour chaque partition.

Je ne vais pas me prendre la tête à choisir lequel utiliser. Si vous voulez utiliser autre chose que EXT4, libre à vous.

$ sudo mkfs.ext4 -L Root /dev/vgcrypt/lvroot
$ sudo mkfs.ext4 -L Home /dev/vgcrypt/lvhome
$ sudo mkswap -L Swap /dev/vgcrypt/lvswap

Ici, le label (-L <option>) n’est pas obligatoire. C’est une indication supplémentaire pour indiquer à quelle partition je vais associer le volume.

Vérifier les informations de vos partitions avec fdisk.


La partie déchiffrée du disque se situe dans /dev/mapper.

 

III. Installation d’Ubuntu dans une partition chiffrée

Je ne vais pas détailler le processus d’installation. Cependant, il y a quelques points auxquels j’aimerai qu’on discute.

Ubuntu a une option pour chiffrer tout le disque, par contre celà effacera entièrement le disque dur. Ce n’est pas une option pour moi, puisqu’il me faut toujours ma partition Windows. Si comme moi, vous souhaitez garder le double boot, faites attention à ne pas sélectionner cette option.

La dernière option est celle qui nous intéresse, puisqu’elle nous laisse le choix de manipuler les partitions à notre façon.

Pour chaque volume logique, nous allons lui associer les partitions correspondantes.

Par exemple, à la partition /home il lui faut associer au volume /dev/mapper/vgcrypt-lvhome (format de fichier ext4).

Aussi, faites attention quand vous choisissez le boot loader, sinon le système ne pourra pas être installé, ou encore l’OS ne peut pas démarrer par la suite.

Poursuivez l’installation,

Et ne redémarrer pas encore votre système puisqu’il n’est pas tout à fait prêt.

 

IV. GRUB et les partitions chiffrées

Le GRUB ne sait pas lire des partitions chiffrées, en tout cas au moment où j’écris cet article. Il va donc falloir lui donner manuellement toutes les informations nécessaire pour qu’il puisse démarrer le système d’exploitation qu’on vient d’installer.

Si, à un moment ou à un autre, le GRUB n’arrive pas à démarrer le système, suite à une mise-à-jour par exemple, il va falloir refaire toutes les étapes ci-dessous pour débloquer le situation.

Commencer par monter toutes les partitions dont en a besoin en mode chroot, en commençant par celle qui contient la partition root, suivit du boot, puis le reste.

$ sudo mount /dev/mapper/vgcrypt-lvroot /mnt
$ sudo mount /dev/sda1 /mnt/boot
$ sudo mount /dev/mapper/vgcrypt-lvhome /mnt/home
$ sudo mount --bind /dev /mnt/dev

Récupérer ensuite l’UUID du disque /dev/sda2 chiffré avec LUKS. On n’en aura besoin pour la suite.

Monter ensuite les systèmes de fichiers du noyau virtuels proc, sysfs et devpts une fois connecté avec chroot.

$ sudo chroot /mnt
# mount -t proc proc /proc
# mount -t sysfs sys /sys
# mount -t devpts devpts /dev/pts

Créer un fichier crypttab pour y ajouter les informations ci-dessous.

[chroot]# vi /etc/crypttab
# <target name> <source device>		<key file> <options>
hdcrypt         UUID=UUID_de_sda2		none		luks,retry=1,lvm=vgcrypt

 

Déclarer le disque chiffré.

[chroot]# vi /etc/initramfs-tools/conf.d/cryptroot
CRYPTROOT=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2

 

Regénérer les images de démarrage.

[chroot]# update-initramfs -k all -c

Indiquer au GRUB que la partition racine est chiffrée.

[chroot]# vi /etc/default/grub
 
GRUB_CMDLINE_LINUX="cryptopts=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2,lvm=vgcrypt"

Mettre à jour les informations du GRUB.

[chroot]# update-grub


Et voilà, on est arrivé au bout. Vous pouvez maintenant redémarrer votre système.

Sources

Pourquoi la partition Boot n’est pas Cryptable ?
How can I install Ubuntu encrypted with LUKS with dual-boot?
Installer un Ubuntu chiffré avec LUKS, LVM et un partitionnement personnalisé
LFCS: How to Manage and Create LVM Using vgcreate, lvcreate and lvextend Commands – Part 11
Setup Flexible Disk Storage with Logical Volume Management (LVM) in Linux – PART 1

Ubuntu Touch – Mise-à-jour de OTA-3 à OTA-4

Ayant en ma possession une phablette (Meizu MX4), j’en ai profité pour mettre à jour le système et de passer de la version installée d’origine en 15.04 à 16.04, grâce au super boulot fait par l’équipe d’Ubports qui continue de maintenir le système que Cannonical a délaissé.

Cette mise-à-jour devrait passer comme une lettre à la poste, mais ce n’est pas le cas. Sinon, je n’aurai pas été obligé d’écrire ce blog. Le problème que j’ai rencontré, c’est qu’une fois l’installeur Ubports lancé, le téléphone a redémarré en mode de récupération (recovery mode), puis y est resté figé jusqu’à ce que je redémarre le téléphone.


Si je lance le téléphone en mode recovery et qu’il est pas branché à quoi que ce soit, le même problème se présente.

Plusieurs solutions ont été présentées sur le forum de Uports, dont je vais détailler plus bas. D’ailleurs, j’ai copié la copie d’écran ci-dessus à partir du topic « [solved] Mx4 – Installer blocked at « waiting for recovery mode »

 

Je dois avouer que je ne sais pas à quel moment j’ai réussi à débloquer la situation, mais au final la mise-à-jour s’est bien passé après avoir essayé toutes les suggestions que j’ai trouvées sur internet. De plus, je n’ai pas le temps ni l’envie de m’amuser à flasher le téléphone pour installer la version originale de Ubuntu puis refaire la manipulation. Je vous laisse le soin de laisser des commentaires en précisant ce qui marche dans votre cas.

 

I. Mise-à-jour avec Ubports

La méthode pour mettre Ubntu touch à jour est décrite sur cette page « How to manually upgrade from OTA-3 to OTA-4« . J’ai effectué toutes les manipulations sur une machine qui tourne avec Debian, qui est le seul OS qui ne m’a pas posé de soucie durant toute l’étape de la mise-à-jour.

Tout comme M et Mme Michu, j’ai juste suivi la documentation sur les étapes à suivre pour la mise-à-jour.

J’ai donc commencé par télécharger l’installeur Ubports, puis le lancer et voir ce qu’il en est.

Mon appareil a bien été détecté. Par contre, la copie d’écran ci-dessous, je l’ai effectuée après la mise-à-jour.

Initialement, à la place du bouton « Install », j’avais l’option « Switch to Ubports« . Ce n’est qu’une fois que la mise-à-jour terminée que je n’ai eu droit au bouton Install après avoir reconnecté mon téléphone à Ubports.

Sur cette page, on vous rappelle qu’il faut activer le mode développeur (System Settings > About > Developer Mode) du téléphone si ce n’est pas encore fait.

Cliquer ensuite sur « Change options ».
Comme Channel, sélectionner 16.04/stable, et ne surtout pas cocher « wipe settings » pour ne pas effacer toutes les données du téléphone. A moins que c’est ce que vous souhaitez.

Ensuite, après avoir cliqué sur « Switch to Ubports« , j’ai l’impression que mon ordinateur n’arrive pas à communiquer avec le téléphone. Au niveau de l’installer j’ai un message « Waiting for recovery mode », par contre le téléphone a bien redémarré en mode recovery, mais affiche une barre qui ne progresse pas, comme sur l’image au début de ce topic.

Comme je ne savais pas vraiment quoi faire à ce niveau, j’ai fermé l’application Ubports, puis redémarré le téléphone.

Je ne pense pas que les manipulations que j’ai effectué ci-dessous contiennent la solution à ce problmème, mais à un moment donné, et après avoir effectué une énième tentative de mise-à-jour, j’ai juste redémarré le téléphone sans fermer l’application Ubports en ayant gardé le cable USB connecté. Puis « miracle », l’application Ubports sur mon ordinateur commence à envoyer des paquets de mise-à-jour vers le téléphone que je précise, qui a juste redémarré en mode normal.

 

II. Mise-à-jour via SSH

1. OpenSSH Client

Il est possible de mettre à jour le système en mode ligne de commande sans avoir à installer l’outil Ubports.

Pour celà, il nous faut installer plusieurs outils nécessaires à la gestion d’un téléphone android: openssh, adb et Android SDK.

Pour établir une connection SSH entre votre ordinateur (côté client) et le téléphone (côté serveur), il vous faut créer une paire de clés:

  • Une clé privée à ne jamais partager avec qui que ce soit et
  • Une clé publique qu’il faut ensuite copier dans le répertoire de téléphone

 

J’ai déjà expliqué comment créer une connection SSH dans l’article sur la sécurisation d’une Raspberry Pie, mais une piqûre de rappel ne fera pas de mal.

Sur votre ordinateur, vérifier que le paquet openssh-client est bien installé. Si ce n’est pas le cas, il faut le faire.

mon@ordi$ dpkg -l | grep ssh
mon@ordi$ sudo apt-get install openssh-client

Générer une paire de clés avec l'utilitaire SSH keygen.
mon@ordi$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/matakasi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

N’ommetez pas la passphrase, qui est une forme de sécurité supplémentaire.

Les clés générées devraient se trouver dans le répertoire ~/.ssh:
– clé privée: id_rsa (vous devez ne jamais fournir cette clé à personne)
– clé publique: id_rsa.pub.
Vérifier que vous avez bien les deux clés (id_rsa et id_rsa.pub) dans le répertoire de votre ordinateur.

~$ cd

~$ ls .ssh
config config.bak id_rsa id_rsa.pub known_hosts known_hosts.old

Une fois que vous avez les clés, il ne reste plus qu’à envoyer une copie de la clé publique vers le téléphone pour que l’ordinateur puisse se connecté à l’appareil.

 

2. ADB (Android Debug Bridge)

Avant de parler des différents outils, il faut comprendre comment un système Android fonctionne.

Il faut savoir que sur système Android les trois partitions suivantes sont présentes:

  • BootLoader (chargeur de démarrage)
    C’est un script qui se lance avant même que le système d’exploitation se lance. Je dois rajouter qu’il n’y a pas vraiment de bootloader type sur un système Android, puisque chaque fabriquant de téléphone fournit une version spécifique du bootloader pour chaque carte mère. Par sécurité, le bootloader sur chaque téléphone Android n’est pas accessible par défaut.Appuyer sur le bouton « Power » et sur la touche du volume vers le Bas pour accéder au mode Bootloader. En bas de l’écran du téléphone vous devrez avoir « FASTBOOT mode… ».L’installation de l’outil Android SDK est nécessaire pour pouvoir accéder au bootloader.
  • Recovery
    Le mode recovery est le mode utilisé manipuler et pour mettre à jour la partition Android ROM.A bootable program on an Android flash memory partition that is used to perform a factory reset or restore the original OS version. In order to install a different OS version (a different ROM), the stock recovery image must be replaced with a custom version such as ClockworkMod Recovery. After rooting the Android, utilities such as ROM Manager install the custom recovery, which is then used to install the custom ROM.Appuyer sur le bouton « Power » et sur la touche du volume vers le Haut pour accéder au mode Recovery. En bas de l’écran du téléphone vous devrez avoir « Recovery mode… ».L’installation de l’outil ADB est nécessaire pour pouvoir accéder au mode recovery.
  • Andoid ROM
    Partition dans laquelle est installée le système d’exploitation, dans notre cas Ubuntu Phone. Par contre, le système Android n’a pas entièrement disparu puisqu’il est placé dans un conteneur LXC pour que le système Ubuntu Touch puisse continuer à communiquer avec, afin de pouvoir bénéficier de tous les pilotes Android pour les différents matériels (carte réseau, caméra, etc.).

Maintenant qu’on a vu comment accéder aux différentes partitions ainsi que les différents outils nécessaire pour les manipulations, il est temps de voir ce que l’on peut faire avec.

Au fait nous n’avons besoin que de l’outil ADB pour la suite, par contre l’outil Android SDK sera automatiquement installé avec ADB.

Lancer l’installation de ADB.

~$ sudo apt install adb

Brancher votre appareil à l’ordinateur, puis vérifier qu’il est bien reconnu.

~$ adb devices
List of devices attached
75HXXXXXXXXX

Créer un dossier .ssh dans le dossier /home/phablet du téléphone.

~$ adb shell mkdir /home/phablet/.ssh

Envoyer une copie de votre clé publique de l’ordinateur vers le téléphone.

~$ adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys

Modifier les permissions et les groupes des dossiers et sous-dossiers de .ssh

~$ adb shell chown -R phablet.phablet /home/phablet/.ssh

~$ adb shell chmod 700 /home/phablet/.ssh

~$ adb shell chmod 600 /home/phablet/.ssh/authorized_keys

Récupérer l’adresse IP du téléphone à partir du System Settings>Wi-fi> »Votre_réseau_wifi »>IP address (dans mon cas, 192.168.1.6), puis connectez vous en SSH au téléphone.

~$ ssh phablet@192.168.1.6
Welcome to Ubuntu 15.04 (GNU/Linux 3.10.35+ armv7l)

* Documentation: https://help.ubuntu.com/

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

Pour avoir la liste des canaux disponible,

phablet@ubuntu-phablet:~$ sudo system-image-cli –list-channels
[sudo] password for phablet:
b'75HXXXXXXXXX\n'
Available channels:
15.04/devel
15.04/rc
15.04/stable
16.04/community/walid/devel
16.04/devel (alias for: ubports-touch/16.04/devel)
16.04/rc (alias for: ubports-touch/16.04/rc)
ubports-touch/15.04/devel
ubports-touch/15.04/rc
ubports-touch/15.04/stable
ubports-touch/16.04/devel
ubports-touch/16.04/rc
ubports-touch/16.04/stable
ubports-touch/legacy
ubuntu-touch/devel
ubuntu-touch/devel-proposed
ubuntu-touch/devel_rc-propoed
ubuntu-touch/devel_rc-proposed
ubuntu-touch/devel_stable
ubuntu-touch/rc-proposed
ubuntu-touch/stable
phablet@ubuntu-phablet:~$

 

Pour la mise-à-jour vers 16.04 en version stable, il faut utiliser le canal 16.04/stable au lieu de ubports-touch/16.04/stable. Apparement, la liste de canaux n’est pas vraiment à jour.

phablet@ubuntu-phablet:~$ sudo system-image-cli -vvvv --switch 16.04/stable

L’option -vvvv permet d’avoir la mise-à-jour en mode verbeux.

Et voilà, tout devrait être bon maintenant.

 

Sources

How to manually upgrade from OTA-3 to OTA-4
[ADB | FASTBOOT | LINUX COMMANDS] BootLoader, Kernel, Recovery, ROM, Root, Backup
[solved] Mx4 – Installer blocked at « waiting for recovery mode »