# Compilation noyau ARM64

**URL:** <https://www.debian-fr.org/t/compilation-noyau-arm64/91470>\
**Category:** Support Debian\
**Tags:** arm64\
**Created:** [Août 23, 2025, 1:49 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470 "2025-08-23T13:49:50Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 23, 2025, 1:49 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/1 "2025-08-23T13:49:50Z")

</div>

Bonjour à tous et bonne rentrée pour ceux qui reprennent.  
Je tente de compiler/installer un noyau 6.12.1 sur odroid.  
Jusq’à la création des paquests ça a l’air de fonctionner, c’est à l’installation que j’ai des erreurs:

```auto
odroid@G:~$ sudo dpkg -i linux-headers-6.16.1-perso_6.16.1-1_arm64.deb linux-image-6.16.1-perso_6.16.1-1_arm64.deb linux-libc-dev_6.16.1-1_arm64.deb 
Selecting previously unselected package linux-headers-6.16.1-perso.
(Reading database ... 64036 files and directories currently installed.)
Preparing to unpack linux-headers-6.16.1-perso_6.16.1-1_arm64.deb ...
Unpacking linux-headers-6.16.1-perso (6.16.1-1) ...
Selecting previously unselected package linux-image-6.16.1-perso.
Preparing to unpack linux-image-6.16.1-perso_6.16.1-1_arm64.deb ...
Unpacking linux-image-6.16.1-perso (6.16.1-1) ...
Preparing to unpack linux-libc-dev_6.16.1-1_arm64.deb ...
Unpacking linux-libc-dev:arm64 (6.16.1-1) over (6.12.38-2) ...
Setting up linux-headers-6.16.1-perso (6.16.1-1) ...
Setting up linux-image-6.16.1-perso (6.16.1-1) ...
dkms: running auto installation service for kernel 6.16.1-perso.
Sign command: /lib/modules/6.16.1-perso/build/scripts/sign-file
Binary /lib/modules/6.16.1-perso/build/scripts/sign-file not found, modules won't be signed

Building module:
Cleaning build area...
arch='aarch64' kernelver='6.16.1-perso' ./driverctl make all....(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.16.1-perso (aarch64)
Consult /var/lib/dkms/rtl8852bu/1.19.14/build/make.log for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.16.1-perso failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
update-initramfs: Generating /boot/initrd.img-6.16.1-perso
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
flash-kernel: deferring update (trigger activated)
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
flash-kernel: deferring update (trigger activated)
dpkg: error processing package linux-image-6.16.1-perso (--install):
 installed linux-image-6.16.1-perso package post-installation script subprocess returned error exit status 1
Setting up linux-libc-dev:arm64 (6.16.1-1) ...
Processing triggers for flash-kernel (5:3.99+202505211042) ...
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Kernel /boot/vmlinuz-6.16.1-perso does not match any of the expected flavors (arm64), therefore not writing it to flash.
Errors were encountered while processing:
 linux-image-6.16.1-perso
```

Dans la partie /boot, j’ai pourtant ceci d’installé:

```auto
odroid@G:~$ ll /boot
total 96520
-rw-r--r-- 1 root root 8331264 Jul 22 16:45 ODROIDBIOS.BIN
-rw-r--r-- 1 root root 3881630 Jun 10 02:33 System.map-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 4473513 Aug 22 2025 System.map-6.16.1-perso
-rw-rw-r-- 1 root root 41831 Dec 30 2019 boot-logo.bmp.gz
-rw-r--r-- 1 root root 3191 Aug 7 20:31 boot.scr
-rw-r--r-- 1 root root 3191 Aug 4 16:17 boot.scr.bak
-rw-r--r-- 1 root root 233114 Jun 10 02:33 config-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 253987 Aug 22 2025 config-6.16.1-perso
-rw-r--r-- 1 root root 184 May 27 07:07 config.ini
lrwxrwxrwx 1 root root 48 Aug 7 20:39 dtb -> dtbs/6.16.1-perso/rockchip/rk3566-odroid-m1s.dtb
lrwxrwxrwx 1 root root 54 Aug 7 20:31 dtb-6.1.0-odroid-arm64 -> dtbs/6.1.0-odroid-arm64/rockchip/rk3566-odroid-m1s.dtb
lrwxrwxrwx 1 root root 48 Aug 7 20:39 dtb-6.16.1-perso -> dtbs/6.16.1-perso/rockchip/rk3566-odroid-m1s.dtb
drwxr-xr-x 5 root root 4096 Aug 7 20:38 dtbs
drwxr-xr-x 2 root root 4096 May 27 07:05 grub
-rw-r--r-- 1 root root 13504625 Aug 4 16:17 initrd.img-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 13601109 Aug 7 20:38 initrd.img-6.16.1-perso
drwx------ 2 root root 16384 May 27 07:19 lost+found
lrwxrwxrwx 1 root root 35 Aug 7 20:39 overlays -> dtbs/6.16.1-perso/rockchip/overlays
-rw-r--r-- 1 root root 25352200 Jun 10 02:33 vmlinuz-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 28960776 Aug 22 2025 vmlinuz-6.16.1-perso
```

Pour la compilation, voila comment je m’y suis pris:  
tout le système est déjà installé sur carte SD et fonctionne, avec un noyau 6.1.0-arm64 (mais j’ai des soucis avec, d’ou la recompilation). Je mounte la carte sur sur mon portable, (amd64) et je monte en chroot.  
ensuite j’ai téléchargé les sources linux , copié /boot/.config dans ~/linux/.config , make menuconfig. Je n’ai rien touché sauf au niveau des modules net/wireless.  
La partie la plus longue:

```
make -j8 deb-pkg LOCALVERSION=-perso KDEB_PKGVERSION=$(make kernelversion)-1 

```

j’ai bien retrouvé mes paquets debian :

```
linux-headers-6.16.1-perso_6.16.1-1_arm64.deb
linux-image-6.16.1-perso_6.16.1-1_arm64.deb
linux-libc-dev_6.16.1-1_arm64.deb

```

Ce que je n’ai pas fait, c’est d’installer le moindre certificat , puisque je vois que dpkg signale des modules non signés.  
Et je ne comprends pas l’erreur

```
Kernel /boot/vmlinuz-6.16.1-perso does not match any of the expected flavors (arm64), therefore not writing it to flash.

```

Ou ai-je fait la boulette?  
Merci de votre aide.  
Rémi.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 24, 2025, 2:51 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/2 "2025-08-24T14:51:26Z")

</div>

je viens de compulser le handbook debian. J’ai corrigé l’erreur de certificat.  
reste mon problème de «&nbsp;flavors&nbsp;» .

---

<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:** [Août 24, 2025, 3:17 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/3 "2025-08-24T15:17:24Z")

</div>

> [@rsuinux](#):
>
> `KDEB_PKGVERSION=$(make kernelversion)-1 `

Bonjour,  
comment as-tu fait ton chroot?

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 27, 2025, 3:49 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/4 "2025-08-27T15:49:14Z")

</div>

Bonjour @Zargos  
Pour monter mon chroot, je fais ça:

```auto
MNT="/mnt/"
mount --bind /sys $MNT/sys
mount --bind /dev $MNT/dev
mount --bind /dev/pts $MNT/dev/pts
mount --bind /proc $MNT/proc
echo "nameserver 8.8.8.8" > $MNT/etc/resolv.conf
cd $MNT
chroot ./
```

sur ma machine AMD64, j’ai installé qemu-user et ses dépendances  
Puis j’ai copié bien avant sur la carte SD qemu-img /mnt/usr/bin/

Jusque là mon chroot fonctionne parfaitement.

---

<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:** [Août 27, 2025, 3:50 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/5 "2025-08-27T15:50:33Z")

</div>

Assure toi que les efivars soient montées.

en chroot tu fais  
`moutn -t efivarfs efivars /sys/firmware/efi/efivars`

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 27, 2025, 3:59 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/6 "2025-08-27T15:59:45Z")

</div>

🙂 [quote=«&nbsp;Zargos, post:5, topic:91470&nbsp;»]  
moutn -t efivarfs efivars /sys/firmware/efi/efivars  
[/quote]

Ah, je l’avais pas celui la

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 29, 2025, 7:58 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/7 "2025-08-29T07:58:22Z")

</div>

Résultat des opérations:  
Je viens de recommencer la compilation:  
efivarfs est mounté dans le chroot, ensuite:  
[code]  
$ sudo moutn -t efivarfs efivars /sys/firmware/efi/efivars  
$ cd linux  
$ make clean  
$ KDEB\_PKGVERSION=$(make kernelversion)-1  
$ make -j8 deb-pkg LOCALVERSION=-perso KDEB\_PKGVERSION=$(make kernelversion)-1  
[/code]

Au final, j’ai bien les paquets générés.  
Je les installe sur la carte même, pas en chroot. J’ai le même problème que plus haut.Ai-je mal déclaré KDEB\_PKGVERSION ?

```auto
sudo dpkg -i linux-headers-6.16.1-perso_6.16.1-1_arm64.deb linux-image-6.16.1-perso_6.16.1-1_arm64.deb linux-libc-dev_6.16.1-1_arm64.deb 
[sudo] password for odroid: 
Selecting previously unselected package linux-headers-6.16.1-perso.
(Reading database ... 66011 files and directories currently installed.)
Preparing to unpack linux-headers-6.16.1-perso_6.16.1-1_arm64.deb ...
Unpacking linux-headers-6.16.1-perso (6.16.1-1) ...
Selecting previously unselected package linux-image-6.16.1-perso.
Preparing to unpack linux-image-6.16.1-perso_6.16.1-1_arm64.deb ...
Unpacking linux-image-6.16.1-perso (6.16.1-1) ...
Preparing to unpack linux-libc-dev_6.16.1-1_arm64.deb ...
Unpacking linux-libc-dev:arm64 (6.16.1-1) over (6.16.1-1) ...
Setting up linux-headers-6.16.1-perso (6.16.1-1) ...
Setting up linux-image-6.16.1-perso (6.16.1-1) ...
dkms: running auto installation service for kernel 6.16.1-perso.
Sign command: /lib/modules/6.16.1-perso/build/scripts/sign-file
Binary /lib/modules/6.16.1-perso/build/scripts/sign-file not found, modules won't be signed

Building module:
Cleaning build area...
arch='aarch64' kernelver='6.16.1-perso' ./driverctl make all....(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.16.1-perso (aarch64)
Consult /var/lib/dkms/rtl8852bu/1.19.14/build/make.log for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.16.1-perso failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
update-initramfs: Generating /boot/initrd.img-6.16.1-perso
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
flash-kernel: deferring update (trigger activated)
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
flash-kernel: deferring update (trigger activated)
dpkg: error processing package linux-image-6.16.1-perso (--install):
 installed linux-image-6.16.1-perso package post-installation script subprocess returned error exit status 1
Setting up linux-libc-dev:arm64 (6.16.1-1) ...
Processing triggers for flash-kernel (5:3.99+202505211042) ...
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-perso/rockchip/
Kernel /boot/vmlinuz-6.16.1-perso does not match any of the expected flavors (arm64), therefore not writing it to flash.
Errors were encountered while processing:
 linux-image-6.16.1-perso
```

Ce qui m’étonne, c’est le  
arch=‹&nbsp;aarch64&nbsp;›  
Ce devrait être arm64 (ou arm tout court à la limite)  
Problème dans mon .config j’ai l’impression, pourtant, j’ai repris celui du noyau actuellement fonctionnel.

---

<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:** [Août 29, 2025, 8:16 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/8 "2025-08-29T08:16:56Z")

</div>

Je pense que ça devrait être

```auto
linux-image-6.16.1-arm64

```

Et non

```auto
 linux-image-6.16.1-perso

```

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 29, 2025, 9:10 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/9 "2025-08-29T09:10:21Z")

</div>

ok!  
je recommence alors. Réponse dans 4h 🙂  
Merci de ton aide en attendant.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Août 29, 2025, 12:20 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/10 "2025-08-29T12:20:32Z")

</div>

Fin de compilation:

```auto
.../...
  STRIP debian/linux-image-6.16.1-arm64/lib/modules/6.16.1-arm64/kernel/net/hsr/hsr.ko
  DEPMOD debian/linux-image-6.16.1-arm64/lib/modules/6.16.1-arm64
dpkg-deb: building package 'linux-image-6.16.1-arm64' in '../linux-image-6.16.1-arm64_6.16.1-1_arm64.deb'.
 dpkg-genbuildinfo --build=full -O../linux-upstream_6.16.1-1_arm64.buildinfo
 dpkg-genchanges --build=full -O../linux-upstream_6.16.1-1_arm64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --compression=gzip --after-build .
dpkg-source: info: using options from linux/debian/source/local-options: --diff-ignore --extend-diff-ignore=.*
dpkg-buildpackage: info: full upload (original source is included)
```

reste à installer.

Donc il y a du mieux:

```auto
dpkg -i linux-headers-6.16.1-arm64_6.16.1-1_arm64.deb linux-image-6.16.1-arm64_6.16.1-1_arm64.deb 
Selecting previously unselected package linux-headers-6.16.1-arm64.
(Reading database ... 66011 files and directories currently installed.)
Preparing to unpack linux-headers-6.16.1-arm64_6.16.1-1_arm64.deb ...
Unpacking linux-headers-6.16.1-arm64 (6.16.1-1) ...
Selecting previously unselected package linux-image-6.16.1-arm64.
Preparing to unpack linux-image-6.16.1-arm64_6.16.1-1_arm64.deb ...
Unpacking linux-image-6.16.1-arm64 (6.16.1-1) ...
Setting up linux-headers-6.16.1-arm64 (6.16.1-1) ...
Setting up linux-image-6.16.1-arm64 (6.16.1-1) ...
dkms: running auto installation service for kernel 6.16.1-arm64.
Sign command: /lib/modules/6.16.1-arm64/build/scripts/sign-file
Binary /lib/modules/6.16.1-arm64/build/scripts/sign-file not found, modules won't be signed

Building module:
Cleaning build area...
arch='aarch64' kernelver='6.16.1-arm64' ./driverctl make all....(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.16.1-arm64 (aarch64)
Consult /var/lib/dkms/rtl8852bu/1.19.14/build/make.log for more information.
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.16.1-arm64 failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
update-initramfs: Generating /boot/initrd.img-6.16.1-arm64
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-arm64/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-arm64/rockchip/
flash-kernel: deferring update (trigger activated)
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-arm64/rockchip/
Installing rockchip into /boot/dtbs/6.16.1-arm64/rockchip/
flash-kernel: deferring update (trigger activated)
dpkg: error processing package linux-image-6.16.1-arm64 (--install):
 installed linux-image-6.16.1-arm64 package post-installation script subprocess returned error exit status 1
Processing triggers for flash-kernel (5:3.99+202505211042) ...
Using DTB: rockchip/rk3566-odroid-m1s.dtb
Installing rockchip into /boot/dtbs/6.16.1-arm64/rockchip/
flash-kernel: installing version 6.16.1-arm64
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.
Errors were encountered while processing:
 linux-image-6.16.1-arm64

```

Mais je pense savoir pourquoi: avant de recompiler, j’ai fait ‹&nbsp;make clean&nbsp;› qui m’a, je pense supprimé le certificat debian.

---

<div class="post-metadata">

**Author:** ![rsuinux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/rsuinux/32/4554_2.png) [@rsuinux](https://www.debian-fr.org/u/rsuinux)\
**Post date:** [Septembre 10, 2025, 7:34 UTC](https://www.debian-fr.org/t/compilation-noyau-arm64/91470/11 "2025-09-10T07:34:51Z")

</div>

Bon.  
La compilation marche à tous les coups. L’installation aussi.  
Sauf que le boot ne boot pas…  
Le boot sur arm/odroid est vraiment particulier.
