# Tentative pour installer les Additions Invité de VirtualBox

**URL:** <https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153>\
**Category:** Support Debian\
**Created:** [Février 19, 2022, 6:05 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153 "2022-02-19T18:05:12Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 19, 2022, 6:05 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/1 "2022-02-19T18:05:12Z")

</div>

dans une machine récente (Debian 10) hostée par un vieux coucou toujours fidèle (Debian 7 Wheezy 32 bits)

Bonsoir,

Et ça coince à l’exécution du script `sh VBoxLinuxAdditions.run` avec un message m’engageant à jeter un œil au log `/var/lib/dkms/vboxguest/4.2.8/build/make.log`, ce qui donne (un poil allégé) :

```auto
DKMS make.log for vboxguest-4.2.8 for kernel 4.19.0-18-686 (i686)
samedi 19 février 2022, 13:18:36 (UTC+0100)
make : on entre dans le répertoire « /usr/src/linux-headers-4.19.0-18-686 »
  CC [M] /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.o
In file included from /usr/src/linux-headers-4.19.0-18-common/include/linux/module.h:18,
                 from /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/r0drv/linux/the-linux-kernel.h:78,
                 from /var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:26:
6 fois cette erreur
/usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h:233:24: note: in definition of macro ‘module_param_call’
   { .flags = 0, .set = _set, .get = _get }; \
                        ^~~~
6 fois celle-ci
/usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h:233:37: note: in definition of macro ‘module_param_call’
   { .flags = 0, .set = _set, .get = _get }; \
                                     ^~~~
6 fois celle-là
/var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:1059:35: error: initialization of ‘int (*)(const char *, const struct kernel_param *)’ from incompatible pointer type ‘int (*)(const char *, struct kernel_param *)’ [-Werror=incompatible-pointer-types]
 module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);
                                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
et 6 fois ça
/var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c:1059:67: error: initialization of ‘int (*)(char *, const struct kernel_param *)’ from incompatible pointer type ‘int (*)(char *, struct kernel_param *)’ [-Werror=incompatible-pointer-types]
 module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);
                                                                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~

```

J’avoue que je donne ma langue au chat, et je ne sais absolument pas quoi (= avec quels mots-clé) chercher sur le web…

La ligne 1059 de `/var/lib/dkms/vboxguest/4.2.8/build/vboxguest/VBoxGuest-linux.c` dans son contexte :

```auto
/*
 * Define module parameters.
 */
module_param_call(log, vboxguestLinuxParamLogGrpSet, vboxguestLinuxParamLogGrpGet, NULL, 0664);

```

et la ligne 233 de `/usr/src/linux-headers-4.19.0-18-common/include/linux/moduleparam.h` :

```auto
/* Obsolete - use module_param_cb() */
#define module_param_call(name, _set, _get, arg, perm) \
	static const struct kernel_param_ops __param_ops_##name =	\
		{ .flags = 0, .set = _set, .get = _get }; \

```

Face à ça je suis comme une poule qui aurait trouvé un couteau, alors grand merci pour le coup de main.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Février 19, 2022, 7:13 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/2 "2022-02-19T19:13:09Z")

</div>

Bonjour,  
il faut installer le package linux-headers correspondant au noyau.  
Accessoirement il faut aussi faire: `apt install build-essential`

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 19, 2022, 10:24 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/3 "2022-02-19T22:24:37Z")

</div>

> [@Zargos](#):
>
> il faut installer le package linux-headers correspondant au noyau.  
> Accessoirement il faut aussi faire: `apt install build-essential`

Merci pour le retour, mais j’avais déjà les deux.

En fait, je suspecte une incohérence entre la version VBox du host qui est un pur i386 et le kernel du guest qui doit être un truc bâtard entre le i386 et l’amd64, j’ai nommé le 686.

Parce que quand je regarde bien avec synaptic les paquets installés dans le guest, tout est correct et correspond à `uname -r`. À partir de là, je ne vois pas ce que je peux faire de plus.  
EDIT : La phrase qui tue, pendant l’exécution du script (que j’ai fait tourner un nombre incalculable de fois depuis 8 ans), c’est «&nbsp;The headers for the current running kernel were not found.&nbsp;»

```auto
$ uname -r
4.19.0-18-686
$ dpkg -l linux-headers*
ii linux-headers-4.19.0-18-686 4.19.208-1 i386 Header files for Linux 4.19.0-18-686
ii linux-headers-4.19.0-18-common 4.19.208-1 all Common header files for Linux 4.19.0-18

```

les autres lignes de la liste sont inintéressantes et de toute façon elles sont «&nbsp;un = Unknown-Not installed&nbsp;»

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 20, 2022, 11:33 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/4 "2022-02-20T11:33:30Z")

</div>

Bonjour,

j’ai fait des recherches dans le script `VBoxLinuxAdditions.run`, j’y ai découvert ce test, ligne 2036 :

```auto
test_sane_kernel_dir()
{
    KERN_VER=`uname -r`
    KERN_DIR="/lib/modules/$KERN_VER/build"
    if [-d "$KERN_DIR"]; then
        KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
        if [-z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER"]; then
            return 0
        fi
    fi
    printf "\nThe headers for the current running kernel were not found. If the following\nmodule compilation fails
 then this could be the reason.\n"

```

et ça tombait bien car ce message, je l’ai, je le vois dans la sortie de l’exécution.

Donc le `if [ -z... return 0` échoue.  
Étant entendu que je fais un test local avec la combinaison des 3 premières lignes de ce test :

```auto
$ KERN_VER=`uname -r` && KERN_DIR="/lib/modules/$KERN_VER/build" && if [-d "$KERN_DIR"]; then echo $KERN_DIR; fi
/lib/modules/4.19.0-18-686/build

```

que la ligne suivante avec son make silencieux doit être une espèce de génération de kernelrelease,  
j’ai un peu de mal à comprendre ce que fait le test de la ligne d’après :  
`if [-z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER"]`.  
`-z` c’est «&nbsp;_true if string is empty_&nbsp;», `-o OPTION` c’est «&nbsp;_true if the shell option OPTION is enabled_&nbsp;», en français ça donne quoi, avec ce «&nbsp;x&nbsp;» devant le $ ?  
Parce que c’est ce test qui fait que le `return 0` ne s’exécute pas et que je vois le message ensuite.

Merci et bon dimanche,

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 20, 2022, 11:57 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/5 "2022-02-20T11:57:52Z")

</div>

Bon, j’ai fait une bidouille sordide : j’ai extrait le test de son contexte, l’ai collé dans un nouveau fichier Bash, et lui ai rajouté 4 lignes facilement repérables, au milieu, alignées au fer à gauche :

```auto
#!/bin/sh
    KERN_VER=`uname -r`
    KERN_DIR="/lib/modules/$KERN_VER/build"
    if [-d "$KERN_DIR"]; then
        KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
echo "$KERN_REL"
echo "x$KERN_REL"
echo "x$KERN_VER"
if [-z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER"]; then echo "test"; fi
        if [-z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER"]; then
            return 0
        fi
    fi
    printf "\nThe headers for the current running kernel were not found. If the following\nmodule compilation fails then this could be the reason.\n"

```

puis je l’ai fait exécuter, et le résultat est sans appel :

```auto
$ ./LinuxAdditionsmod 
4.19.208
x4.19.208
x4.19.0-18-686

The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.

```

Pour ne pas mourir idiot, j’ai ensuite tapé

```auto
$ uname -r
4.19.0-18-686

```

En résumé,

```auto
echo "$KERN_REL" --> 4.19.208 généré par make
echo "x$KERN_REL" --> x4.19.208 idem
echo "x$KERN_VER" --> x4.19.0-18-686 

```

donc normal que le test échoue, normal du coup que les additions ne s’installent pas.

Comment corriger ça ? (je n’ai pas trouvé de `Makefile`…)

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Février 20, 2022, 4:48 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/6 "2022-02-20T16:48:18Z")

</div>

Si ça ne marche pas c’est que tu t’es violement planté, car ça marche facilement.

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 20, 2022, 6:02 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/7 "2022-02-20T18:02:03Z")

</div>

Où peut-on bien se planter dans ce genre de manip où il y a mille tutos qui disent tous la même chose ?  
Je suis tout prêt à admettre que je me suis planté, mais qu’on me dise où ça coince car moi, le nez sur le guidon, je ne vois pas le paysage…

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Février 20, 2022, 6:41 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/8 "2022-02-20T18:41:45Z")

</div>

Tu as un kernel compilé à la main actif dans ta configuration?

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 20, 2022, 7:52 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/9 "2022-02-20T19:52:41Z")

</div>

C’est possible, pour cette machine.  
Me souviens plus précisément, et la machine en question dort, tout comme le host dont elle dépend.  
On verra ça domani !

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 21, 2022, 6:46 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/10 "2022-02-21T18:46:13Z")

</div>

> [@Zargos](#):
>
> Tu as un kernel compilé à la main actif dans ta configuration?

Et la réponse est «&nbsp;non&nbsp;». Kernel pur jus du paquet Debian.  
Pour les machines virtuelles de test, j’essaie de rester au plus près des fichiers originaux.

On est donc pas plus avancé : tout vient des paquets, et le script se vautre…  
Mais j’ai une piste, pifométrique : en examinant les paquets installés avec le mot-clé «&nbsp;kernel&nbsp;» dans synaptic, je remarque un paquet `linux-config-4.19` dont la colonne «&nbsp; **Version installée** &nbsp;» me montre la valeur `4.19.208-1`, valeur qui a fait échouer le test du script que j’ai signalé et donc l’install des GA.  
Ai-je besoin de ce paquet ? L’avez-vous dans vos machines ? En tout cas, je ne l’ai pas dans une autre machine, qui va bien (mais ce n’est pas le même host).  
Et sa suppression risque de ne pas régler le problème, puisque mon script de test échoue tout autant…  
Merci,

EDIT : une install ça va vite, et un échec sur une install encore plus vite, donc voilà : ça a échoué.  
Il me resterait une option, mais je la sens mal : désinstaller les paquets` -686` et prendre les paquets `-pae`. Possible ou catastrophe à venir ?

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 23, 2022, 10:38 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/11 "2022-02-23T10:38:59Z")

</div>

Bonjour,

comme j’ai du temps à perdre et que j’aime perdre mon temps, j’ai pris un dd virtuel qui avait déjà une `buster` depuis un iso de chez [debian.org](http://debian.org), et j’ai fait ça :  
— install de `mc`  
— edit de `/etc/apt/sources.list`  
— `apt update`  
— `apt dist-upgrade`  
— `apt install wget`  
— `wget` de la clé VBox  
— `apt install make gcc dkms linux-source linux-headers-$(uname -r)`  
— aucune erreur alors un reboot pour marquer le coup et la prise en compte de tout ça, puis  
— menu Périphériques de la mv, «&nbsp;Installer les additions…&nbsp;»  
— ` cd /media/...` puis  
— `sh VBoxLinuxAdditions.run`, des lignes Verifying Copying Installing Removing Building… et bim !,  
— `The headers for the current running kernel were not found.`

Y a qqchse de pourri au royaume de l’informatique…

Je recommencerai, mais pas aujourd’hui, plus le temps.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Février 23, 2022, 12:18 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/12 "2022-02-23T12:18:01Z")

</div>

il te faut les headers pour TOUS les linux-images installés sur ta machine.

Donc si tu as plusieurs versions, soit tu fais le menage soit tu installe TOUS les linux-headers de TOUS les linux-images.

Il n’y a rien de pourri dans le royaume, c’est juste le roi qui n’a pas tout compris.

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 23, 2022, 12:27 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/13 "2022-02-23T12:27:01Z")

</div>

> [@Zargos](#):
>
> Donc **si** tu as plusieurs versions, soit tu fais le ménage soit tu installes TOUS les linux-headers de TOUS les linux-images.

Mais je n’ai qu’ **une** version, la dernière, après `apt update` puis `apt dist-upgrade`, et ensuite je fais un peu le ménage mais des fois je tremble car l’aide, euh…

> [@Zargos](#):
>
> Il n’y a rien de pourri dans le royaume, c’est juste le roi qui n’a pas tout compris.

Le roi il suit les **tutos** de VirtualBox et les **man** de Debian…

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Février 23, 2022, 1:02 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/14 "2022-02-23T13:02:18Z")

</div>

que donne :

`dpkg --list | grep -i 'linux-'`

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 24, 2022, 10:33 UTC](https://www.debian-fr.org/t/tentative-pour-installer-les-additions-invite-de-virtualbox/86153/15 "2022-02-24T10:33:41Z")

</div>

Bonjour,

Désolé pour le retard à répondre mais j’ai dû m’absenter depuis le début d’après-midi hier.

> [@Zargos](#):
>
> que donne :
> 
> `dpkg --list | grep -i 'linux-'`

J’avais déjà fait ce genre de vérif’, et ça donne ça (un poil édité pour une meilleure lisibilité) :

```auto
# dpkg --list | grep -i 'linux-'
ii binutils-i686-linux-gnu 2.31.1-16 i386 GNU binary utilities, for i686-linux-gnu target
ii util-linux-locales 2.33.1-0.1 all locales files for util-linux
ii firmware-linux-free 3.4 all Binary firmware for various drivers in the Linux kernel
ii linux-base 4.6 all Linux image base package
ii linux-compiler-gcc-8-x86 4.19.208-1 i386 Compiler for Linux on x86 (meta-package)
ii linux-config-4.19:i386 4.19.208-1 i386 Debian kernel configurations for Linux 4.19
ii linux-headers-4.19.0-18-686 4.19.208-1 i386 Header files for Linux 4.19.0-18-686
ii linux-headers-4.19.0-18-686-pae 4.19.208-1 i386 Header files for Linux 4.19.0-18-686-pae
ii linux-headers-4.19.0-18-common 4.19.208-1 all Common header files for Linux 4.19.0-18
ii linux-image-4.19.0-18-686 4.19.208-1 i386 Linux 4.19 for older PCs (signed)
ii linux-kbuild-4.19 4.19.208-1 i386 Kbuild infrastructure for Linux 4.19
ii linux-libc-dev:i386 4.19.208-1 i386 Linux support headers for userspace development
ii linux-source-4.19 4.19.208-1 all Linux kernel source for version 4.19 with Debian patches

```

Merci…
