mises à jour kernel 6.14.8

This commit is contained in:
Olivier 2025-05-31 13:57:25 +02:00
parent 9630c82d47
commit b4701c970f
4 changed files with 11536 additions and 47 deletions

View File

@ -7,7 +7,7 @@ Récupération, décompression des sources du Kernel linux sur kernel.org, optim
- (Hyperviseur Proxmox)
- Machine hôte avec processeur Intel
- Système dexploitation sous Debian
- Disposer du fichier de configuration noyeau de type Cloud
- Disposer du fichier de configuration noyau de type Cloud
## Usage
@ -22,24 +22,30 @@ sudo bash kernel.sh [branch] [version] [compile]
Exemple :
```bash
sudo bash kernel.sh 6.x 6.14.3
sudo bash kernel.sh 6.x 6.14.8
```
## Résultats
- linux-headers-6.14.3-secure-clang-amd64_6.14.3-1_amd64.deb: 8.6 Mo
- linux-image-6.14.3-secure-clang-amd64-dbg_6.14.3-1_amd64.deb: 192 Mo
- linux-image-6.14.3-secure-clang-amd64_6.14.3-1_amd64.deb: 53 Mo
- linux-libc-dev_6.14.3-1_amd64.deb: 1.3 Mo
- linux-headers-6.14.8-secure-gcc-amd64_6.14.8-1_amd64.deb : 8.7 Mo
- linux-image-6.14.8-secure-gcc-amd64-dbg_6.14.8-1_amd64.deb : 255 Mo
- linux-image-6.14.8-secure-gcc-amd64_6.14.8-1_amd64.deb : 70 Mo
- linux-libc-dev_6.14.8-1_amd64.deb : 1.3 Mo
## TODO
- ~~voir s'il est possible d'optimiser encore plus les disable/enable en restant stable~~
- ~~trouver comment rendre compatible le kernel pour une VM avec drivers Nvidia~~
- ajouter le test de la signature du kernel après téléchargement
## CHANGELOG
### 2025-05-31
- Kernel: 6.14.8
- Mise à jour de la config cloud (config-6.12.30-cloud-amd64 / cloud-amd64)
- Ajout de la configuration standard (config-6.12.30-amd64 / standard-amd64)
- Ajout de l'option: CONFIGSTANDARD
- Ajout du paquet prérequis libdw-dev (à partir du Kernel 6.15)
### 2025-04-29
- try to enable 'kernel.sched_migration_cost_ns'

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.12.21 Kernel Configuration
# Linux/x86 6.12.30 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0"
CONFIG_CC_IS_GCC=y
@ -20,7 +20,8 @@ CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=129
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_PAHOLE_VERSION=130
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@ -565,6 +566,7 @@ CONFIG_MITIGATION_SPECTRE_V1=y
CONFIG_MITIGATION_SPECTRE_V2=y
CONFIG_MITIGATION_SRBDS=y
CONFIG_MITIGATION_SSB=y
CONFIG_MITIGATION_ITS=y
CONFIG_ARCH_HAS_ADD_PAGES=y
#
@ -747,7 +749,7 @@ CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_IRQ_BYPASS=m
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
@ -1920,8 +1922,6 @@ CONFIG_ETHTOOL_NETLINK=y
#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
@ -2886,7 +2886,7 @@ CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=m
CONFIG_TTY_PRINTK_LEVEL=6
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
@ -3550,7 +3550,7 @@ CONFIG_VFIO_PCI_IGD=y
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices
CONFIG_IRQ_BYPASS_MANAGER=y
CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
CONFIG_VMGENID=y
# CONFIG_VBOXGUEST is not set
@ -4745,16 +4745,19 @@ CONFIG_CRYPTO_LIB_AESCFB=y
CONFIG_CRYPTO_LIB_GF128MUL=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
CONFIG_CRYPTO_LIB_CHACHA_INTERNAL=m
CONFIG_CRYPTO_LIB_CHACHA=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
CONFIG_CRYPTO_LIB_CURVE25519_INTERNAL=m
CONFIG_CRYPTO_LIB_CURVE25519=m
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
CONFIG_CRYPTO_LIB_POLY1305_INTERNAL=m
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA1=y

11461
configs/standard-amd64 Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,55 +1,54 @@
#!/bin/bash
UPDATED="2025-05-15"
UPDATED="2025-05-31"
DISABLE=0 # disable options
ENABLE=1 # enable options
PATCHES=0 # enable/disable patch apply
UARCH=0 # apply more uarch patch
O3=1 # use -O3 vs -O2 (optimisation)
ARCH="native" # target architecture (uarch patch)
CONFIGCLOUD=0 # enable cloud 'from' config
CONFIGOLD=1 # enable old def config
CONFIGMOD=0 # enable all mod config
SCRATCH=0 # perform from scratch (remove preexisting content)
UNCOMPRESS=1 # perform uncompress if already exist
CLEANUP=1 # perform folder cleanup
SECURED=1 # enable/disable security
CLANG=0 # use Clang compiler (if not, use GCC)
TESTING=0 # add testing options
NVIDIA=1 # add support for nvidia
BARE=1 # compile kernel for bare-metal
DISABLE=0 # disable options
ENABLE=1 # enable options
PATCHES=0 # enable/disable patch apply
UARCH=0 # apply more uarch patch
O3=1 # use -O3 vs -O2 (optimisation)
ARCH="native" # target architecture (uarch patch)
CONFIGCLOUD=0 # enable cloud 'from' config
CONFIGSTANDARD=0 # enable standard 'from' config
CONFIGOLD=1 # enable old def config
CONFIGMOD=0 # enable all mod config
SCRATCH=0 # perform from scratch (remove preexisting content)
UNCOMPRESS=1 # perform uncompress if already exist
CLEANUP=1 # perform folder cleanup
SECURED=1 # enable/disable security
CLANG=0 # use Clang compiler (if not, use GCC)
TESTING=0 # add testing options
NVIDIA=1 # add support for nvidia
BARE=1 # compile kernel for bare-metal
#
# Sources:
# https://github.com/sn99/Optimizing-linux#compiling-your-kernel
# https://wiki.gentoo.org/wiki/Kernel/Optimization
#
# config-cloud-amd64:
# config/cloud-amd64:
# https://packages.debian.org/source/sid/linux
# linux-image-6.12.21-cloud-amd64-unsigned
# Go down to download section, select amd64 and download deb.
# Open .deb with archiver, browse to boot folder and grab 'config-6.12.21-cloud-amd64'.
#
# Open .deb with archiver, browse to boot folder and grab 'config-6.12.30-cloud-amd64'.
# config/standard-amd64:
# https://packages.debian.org/source/sid/linux
# linux-image-6.12.30-amd64-unsigned
# Go down to download section, select amd64 and download deb.
# Open .deb with archiver, browse to boot folder and grab 'config-6.12.30-amd64'.
# more-uarches-for-kernel.patch:
# https://github.com/graysky2/kernel_compiler_patch
# more-uarches-for-kernel.patch : more-uarches-for-kernel-6.8-rc4+.patch
#
#
# Prerequisites:
# sudo apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr libncurses-dev libelf-dev flex bison lsb-release rsync dwarves clang llvm lld debhelper
#
# sudo apt install build-essential fakeroot dpkg-dev perl libssl-dev bc gnupg dirmngr libncurses-dev libelf-dev flex bison lsb-release rsync dwarves clang llvm lld debhelper libdw-dev
#
# In case of usage of uninstall.sh, you must reinstall 'linux-libc-dev' with the version of used kernel
#
#
# To make a diff of different .config file:
# diff --side-by-side --suppress-common-lines --ignore-tab-expansion --ignore-trailing-space --ignore-space-change --ignore-blank-lines --text CONFIG1 CONFIG2
#
# Ubuntu:
# sudo apt-get install linux-source
@ -155,6 +154,7 @@ doTarget() {
UARCH=0
ARCH="native"
CONFIGCLOUD=0
CONFIGSTANDARD=0
CONFIGMOD=0
CONFIGOLD=1
SCRATCH=0
@ -335,6 +335,24 @@ doConfigCloud() {
fi
}
# Copy .config from standard kernel
doConfigStandard() {
if [ $CONFIGSTANDARD == 1 ]; then
cd $WORKDIR
doEchoStep "Copy standard kernel .config"
if [ -f .config ]; then
cp .config .config.standard.before
result=$? && doFail $result ">>> Error .config copy (before)!"
fi
cp $CONFIGS/standard-amd64 .config
result=$? && doFail $result ">>> Error .config copy!"
cp .config .config.standard.after
fi
}
# Generate .config from old kernel
doOldOne() {
if [ $CONFIGOLD == 1 ]; then
@ -811,6 +829,7 @@ doKernel() {
doCleanup > >(tee -a $LOGFILE) 2>&1
doConfigCloud > >(tee -a $LOGFILE) 2>&1
doConfigStandard > >(tee -a $LOGFILE) 2>&1
doOldOne > >(tee -a $LOGFILE) 2>&1
doAllMods > >(tee -a $LOGFILE) 2>&1
doDefaults > >(tee -a $LOGFILE) 2>&1