Noyau StackX Linux 6.12 pour Debian 10 (Buster) amd64 Version des paquets noyau : 6.12.115-1 Noyau attendu après démarrage : 6.12.115-stackx-buster-1 Dépôt : https://mirrors.scalarx.net/stackx-kernel/6.12/buster/ Ce canal apporte Linux 6.12 LTS à Buster en conservant son environnement utilisateur. Il ne constitue pas une reprise du support de toute Debian. Les lots historiques sx1 et les anciens noyaux restent distincts. Contenu ------- Quatre paquets amd64 : - stackx-linux-image-6.12.115-buster-1-amd64, version 6.12.115-1 ; - stackx-linux-headers-6.12.115-buster-1-amd64, version 6.12.115-1, avec les outils kbuild nécessaires aux modules externes ; - stackx-kernel-6.12-buster-amd64, métapaquet version 6.12.115-1 ; - stackx-toolchain-6.12-buster-amd64, version 12.4.0-1. GCC 12.4 est installé sous /opt/stackx-toolchain pour construire les modules avec les protections retenues. Le gcc global et ses alternatives restent inchangés. Les binutils natifs de Buster sont utilisés. Les paquets de ce lot ne remplacent ni glibc, ni linux-libc-dev, ni /usr/include. Les modules livrés utilisent XZ et l'image du noyau utilise gzip. L'initramfs est généré par les hooks Debian lors de l'installation ; il n'est pas contenu dans le paquet image. Validation et limites -------------------- Les quatre DEB ont passé la qualification native Buster : noms, versions, dépendances, format des modules et contrôle ELF face à glibc 2.28. Le pilote borné en VM Buster isolée a validé l'installation des quatre DEB, le démarrage et le retour à l'ancien noyau, puis un nouveau démarrage du candidat. Il a vérifié les modules externes et DKMS, AppArmor, le réseau en espaces de noms, le filtrage, un aller-retour ext4 et les contrôles perf retenus. Les essais fonctionnels, DKMS et AppArmor ont porté sur le premier démarrage candidat ; le second a répété démarrage, configuration, GRUB et perf. Les quatre démarrages ont utilisé des identifiants de boot distincts. Avec APT 1.8.2.3 natif, un essai distinct a vérifié l'ajout du dépôt signé, la réexécution idempotente de l'installateur inchangé, le refus d'un index fraîchement corrompu malgré un cache signé valide et le refus d'une mauvaise empreinte dans une copie de test séparée. Une simulation --no-remove a été suivie du téléchargement aux quatre empreintes attendues et de la réinstallation des quatre versions exactes. Aucun paquet n'a été retiré ou mis à niveau ; ancien noyau, libc, linux-libc-dev et préférences GRUB ont été préservés. Le test utilisait le nom HTTPS du dépôt résolu localement dans la VM isolée. Il ne valide ni le miroir en ligne ni une première installation sur une autre machine. Ce lot est préparé localement pour un essai matériel contrôlé. Sa présence sur le miroir et les en-têtes HTTP doivent être vérifiés après publication. Ces essais ne qualifient pas tous les matériels, systèmes de fichiers ou modules tiers. Les cgroups v1/hybrides ont été exercés avec une unité transitoire : placement du processus, quota CPU, limite mémoire, comptabilité et nettoyage. La limite n'a pas fait l'objet d'un essai sous pression. Ils ne reproduisent pas exhaustivement les courses mémoire ni les exploits. Le premier essai sur le matériel et les applications concernés reste nécessaire. Aucune validation physique n'est annoncée pour cette livraison. La configuration conserve le support compilé NFSv2/ACL et la capacité d'import de certificats UEFI par le trousseau platform, sans validation de la confiance effective d'une clé au démarrage. Des pilotes audio Intel, PMIC de portables et contrôleurs dépréciés de l'ancien noyau n'ont pas de couverture identique ; certaines variantes AF_ALG liées à l'API obsolète restent absentes par choix explicite. Cette livraison ne promet pas une équivalence matérielle générale avec le noyau 4.19. Signatures et sources --------------------- Empreinte primaire de la clé du dépôt APT : AF97ED98AACE4CE129A03B6E2C9736B593BABF7F Cette empreinte et les signatures InRelease et Release.gpg du canal Buster ont été vérifiées. La clé publique porte encore l'identité historique « StackX Bullseye Kernel Repository » ; c'est son empreinte complète qui est épinglée pour ce canal Buster. Le fichier stackx-kernel-6.12-buster.asc ne contient que la clé publique. Le trousseau est limité à ce dépôt par signed-by. L'installateur refuse une empreinte ou une signature différente. La signature APT authentifie le dépôt. L'image du noyau n'est pas signée pour Secure Boot. Aucun script ne désactive cette protection ni n'enrôle de clé. Un environnement qui impose des images signées exige une procédure de signature et d'approbation distincte avant l'essai. MANIFEST.txt et SHA256SUMS décrivent les fichiers livrés. Les sources exactes sont sous sources/ : archive Linux officielle intacte, patch perf séparé, configuration finale, archives GCC/GMP/MPFR/MPC et recette de reconstruction. Les licences originales accompagnent les archives. Il ne s'agit pas de paquets sources Debian : aucun .dsc, deb-src ou apt source n'est fourni. La recette précise les dépendances, étapes et limites de reproductibilité. Elle inclut le contrôle du rootfs et le driver GCC réellement utilisés sur Buster, ainsi qu'une adaptation explicite des chemins et du garde privé dans common.sh. Cette recette publique dérivée n'a pas été reconstruite de bout en bout ; aucune identité binaire d'une reconstruction future n'est promise. Une nouvelle construction doit recevoir ses propres essais. Fichiers de source et de reconstruction du canal : sources/linux-6.12.115.tar.xz sources/debian-perf-restrict-6.12.patch sources/config-6.12.115-stackx-buster-1 sources/gcc-12.4.0.tar.xz sources/gmp-6.2.1.tar.bz2 sources/mpfr-4.1.0.tar.bz2 sources/mpc-1.2.1.tar.gz sources/stackx-6.12-buster-build-recipe.tar.xz Ces chemins sont relatifs à l'URL du dépôt indiquée en tête. Leurs tailles et empreintes exactes figurent dans MANIFEST.txt. Les textes de licence et les exceptions restent dans les archives ; la recette contient LICENCES.txt. Aucune licence supplémentaire n'est attribuée ici aux scripts StackX. Ajouter le dépôt ---------------- Sur Debian 10 amd64, disposer de bash, coreutils, diffutils, grep, dpkg, apt, ca-certificates, gnupg et gpgv. Après publication et contrôle de l'empreinte APT ci-dessus par un canal de confiance, exécuter l'installateur téléchargé en root : ( f=$(mktemp) && trap 'rm -f "$f"' EXIT && /usr/lib/apt/apt-helper download-file \ https://mirrors.scalarx.net/stackx-kernel/6.12/buster/add-stackx-kernel-repo.sh "$f" && bash "$f" ) Ce script ajoute uniquement la source et son trousseau, contrôle l'InRelease fraîchement téléchargé et rafraîchit cet index. Il n'installe aucun paquet et n'effectue aucun redémarrage. Sa réexécution a conservé les mêmes fichiers de source et de trousseau lors du test Buster isolé. La signature APT couvre les index et les paquets qu'ils référencent ; SHA256SUMS permet aussi de vérifier les sources et les documents du lot, sans être lui-même une signature. SHA256 de l'installateur testé, livré inchangé : 86c3790b860e8b3405644b74bcad31a232ad2b1a825329dc218a28b4dbdbec20 Installer puis choisir le démarrage ---------------------------------- Examiner d'abord la simulation : apt-get --simulate --no-remove install stackx-kernel-6.12-buster-amd64=6.12.115-1 Vérifier qu'elle n'entraîne pas de retrait ni de mise à niveau inattendue de l'environnement utilisateur. Si elle convient, installer explicitement : apt-get --no-remove install stackx-kernel-6.12-buster-amd64=6.12.115-1 Conserver l'ancien noyau, son initramfs et le métapaquet linux-image-amd64. Ne pas lancer autoremove dans cette procédure. Prévoir une console de secours avant tout redémarrage d'essai. Les hooks Debian génèrent l'initramfs et mettent à jour le menu GRUB. Ni l'installateur du dépôt ni les scripts mainteneurs StackX ne réécrivent directement GRUB_DEFAULT ou grubenv. Cela ne garantit pas que le choix effectif reste le même : avec GRUB_DEFAULT=0, le tri peut placer 6.12 avant l'ancien noyau. Un noyau de numéro supérieur, ou un choix persistant explicite, peut au contraire rester prioritaire. Lire le menu avant de redémarrer : grep -E "^(submenu|[[:space:]]*menuentry) " /boot/grub/grub.cfg grub-editenv /boot/grub/grubenv list Avant d'employer grub-reboot, vérifier le chemin de /boot/grub : grub-probe --target=abstraction /boot/grub Si la commande échoue ou affiche diskfilter, lvm ou une autre abstraction, privilégier la sélection depuis la console et ne pas compter sur le retour automatique au noyau précédent. Prévoir une console de secours même si elle réussit sans afficher d'abstraction : un noyau bloqué peut nécessiter un redémarrage manuel. Pour que le démarrage suivant revienne à l'ancien noyau, le choix permanent doit d'abord désigner explicitement cet ancien noyau ; GRUB_DEFAULT=0 après installation peut déjà désigner 6.12. grub-reboot ne crée pas ce choix de secours. Si grub-probe a réussi sans afficher d'abstraction et si les libellés existent exactement, supprimer d'abord une éventuelle sélection temporaire antérieure puis sélectionner le candidat pour le prochain démarrage : grub-editenv /boot/grub/grubenv unset next_entry grep -Fq "submenu 'Advanced options for Debian GNU/Linux'" /boot/grub/grub.cfg && grep -Fq "menuentry 'Debian GNU/Linux, with Linux 6.12.115-stackx-buster-1'" /boot/grub/grub.cfg && grub-reboot 'Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 6.12.115-stackx-buster-1' && grub-editenv /boot/grub/grubenv list Si un contrôle échoue, utiliser les identifiants exacts du menu local avant de poursuivre. Les commandes ci-dessus ne redémarrent pas le serveur. Après le redémarrage choisi par l'opérateur : uname -r Résultat attendu : 6.12.115-stackx-buster-1. Vérifier ensuite stockage, réseau, filtrage, applications et modules externes sur la machine concernée. Retour à l'ancien noyau ---------------------- Noter son entrée GRUB exacte avant le premier essai. La sélectionner depuis la console de secours, ou avec grub-reboot seulement si le contrôle grub-probe ci-dessus le permet et si la machine reste accessible. Une entrée de sous-menu s'écrit 'identifiant-sous-menu>identifiant-du-noyau'. Vérifier next_entry, puis effectuer vous-même le redémarrage et contrôler uname -r. Ne supprimer aucun noyau pour réaliser cet aller-retour. Sur diskfilter, next_entry peut persister après un démarrage : aucun retour automatique n'est promis. Après avoir vérifié le noyau chargé, lire puis supprimer explicitement cette sélection temporaire si elle demeure : grub-editenv /boot/grub/grubenv list grub-editenv /boot/grub/grubenv unset next_entry Le choix permanent relève d'une décision explicite de l'administrateur. Pour retirer seulement la source APT, sans désinstaller les paquets : rm /etc/apt/sources.list.d/stackx-kernel-6.12-buster.list rm /usr/share/keyrings/stackx-kernel-6.12-buster.gpg Affichage du texte ------------------ Ce document est en UTF-8. HTTP-CHARSET.conf indique le type HTTP à servir pour les .txt et .sh de ce canal. Cet exemple est inactif et ne modifie pas le serveur web. Il ne s'applique ni aux paquets ni aux archives et index APT.