mises à jour kernel 6.14.8
This commit is contained in:
parent
9630c82d47
commit
b4701c970f
22
README.md
22
README.md
@ -7,7 +7,7 @@ Récupération, décompression des sources du Kernel linux sur kernel.org, optim
|
|||||||
- (Hyperviseur Proxmox)
|
- (Hyperviseur Proxmox)
|
||||||
- Machine hôte avec processeur Intel
|
- Machine hôte avec processeur Intel
|
||||||
- Système d’exploitation sous Debian
|
- Système d’exploitation sous Debian
|
||||||
- Disposer du fichier de configuration noyeau de type Cloud
|
- Disposer du fichier de configuration noyau de type Cloud
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -22,24 +22,30 @@ sudo bash kernel.sh [branch] [version] [compile]
|
|||||||
Exemple :
|
Exemple :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo bash kernel.sh 6.x 6.14.3
|
sudo bash kernel.sh 6.x 6.14.8
|
||||||
```
|
```
|
||||||
|
|
||||||
## Résultats
|
## Résultats
|
||||||
|
|
||||||
- linux-headers-6.14.3-secure-clang-amd64_6.14.3-1_amd64.deb: 8.6 Mo
|
- linux-headers-6.14.8-secure-gcc-amd64_6.14.8-1_amd64.deb : 8.7 Mo
|
||||||
- linux-image-6.14.3-secure-clang-amd64-dbg_6.14.3-1_amd64.deb: 192 Mo
|
- linux-image-6.14.8-secure-gcc-amd64-dbg_6.14.8-1_amd64.deb : 255 Mo
|
||||||
- linux-image-6.14.3-secure-clang-amd64_6.14.3-1_amd64.deb: 53 Mo
|
- linux-image-6.14.8-secure-gcc-amd64_6.14.8-1_amd64.deb : 70 Mo
|
||||||
- linux-libc-dev_6.14.3-1_amd64.deb: 1.3 Mo
|
- linux-libc-dev_6.14.8-1_amd64.deb : 1.3 Mo
|
||||||
|
|
||||||
## TODO
|
## 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
|
- ajouter le test de la signature du kernel après téléchargement
|
||||||
|
|
||||||
## CHANGELOG
|
## 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
|
### 2025-04-29
|
||||||
|
|
||||||
- try to enable 'kernel.sched_migration_cost_ns'
|
- try to enable 'kernel.sched_migration_cost_ns'
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# 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_VERSION_TEXT="x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
@ -20,7 +20,8 @@ CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
|
|||||||
CONFIG_TOOLS_SUPPORT_RELR=y
|
CONFIG_TOOLS_SUPPORT_RELR=y
|
||||||
CONFIG_CC_HAS_ASM_INLINE=y
|
CONFIG_CC_HAS_ASM_INLINE=y
|
||||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=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_IRQ_WORK=y
|
||||||
CONFIG_BUILDTIME_TABLE_SORT=y
|
CONFIG_BUILDTIME_TABLE_SORT=y
|
||||||
CONFIG_THREAD_INFO_IN_TASK=y
|
CONFIG_THREAD_INFO_IN_TASK=y
|
||||||
@ -565,6 +566,7 @@ CONFIG_MITIGATION_SPECTRE_V1=y
|
|||||||
CONFIG_MITIGATION_SPECTRE_V2=y
|
CONFIG_MITIGATION_SPECTRE_V2=y
|
||||||
CONFIG_MITIGATION_SRBDS=y
|
CONFIG_MITIGATION_SRBDS=y
|
||||||
CONFIG_MITIGATION_SSB=y
|
CONFIG_MITIGATION_SSB=y
|
||||||
|
CONFIG_MITIGATION_ITS=y
|
||||||
CONFIG_ARCH_HAS_ADD_PAGES=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_DIRTYLOG_READ_PROTECT=y
|
||||||
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
|
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
|
||||||
CONFIG_KVM_COMPAT=y
|
CONFIG_KVM_COMPAT=y
|
||||||
CONFIG_HAVE_KVM_IRQ_BYPASS=y
|
CONFIG_HAVE_KVM_IRQ_BYPASS=m
|
||||||
CONFIG_HAVE_KVM_NO_POLL=y
|
CONFIG_HAVE_KVM_NO_POLL=y
|
||||||
CONFIG_KVM_XFER_TO_GUEST_WORK=y
|
CONFIG_KVM_XFER_TO_GUEST_WORK=y
|
||||||
CONFIG_HAVE_KVM_PM_NOTIFIER=y
|
CONFIG_HAVE_KVM_PM_NOTIFIER=y
|
||||||
@ -1920,8 +1922,6 @@ CONFIG_ETHTOOL_NETLINK=y
|
|||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
#
|
#
|
||||||
CONFIG_HAVE_EISA=y
|
|
||||||
# CONFIG_EISA is not set
|
|
||||||
CONFIG_HAVE_PCI=y
|
CONFIG_HAVE_PCI=y
|
||||||
CONFIG_GENERIC_PCI_IOMAP=y
|
CONFIG_GENERIC_PCI_IOMAP=y
|
||||||
CONFIG_PCI=y
|
CONFIG_PCI=y
|
||||||
@ -2886,7 +2886,7 @@ CONFIG_SERIAL_DEV_BUS=y
|
|||||||
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
|
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
|
||||||
CONFIG_TTY_PRINTK=m
|
CONFIG_TTY_PRINTK=m
|
||||||
CONFIG_TTY_PRINTK_LEVEL=6
|
CONFIG_TTY_PRINTK_LEVEL=6
|
||||||
CONFIG_VIRTIO_CONSOLE=m
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
# CONFIG_IPMI_HANDLER is not set
|
# CONFIG_IPMI_HANDLER is not set
|
||||||
CONFIG_HW_RANDOM=y
|
CONFIG_HW_RANDOM=y
|
||||||
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
||||||
@ -3550,7 +3550,7 @@ CONFIG_VFIO_PCI_IGD=y
|
|||||||
# CONFIG_VIRTIO_VFIO_PCI is not set
|
# CONFIG_VIRTIO_VFIO_PCI is not set
|
||||||
# end of VFIO support for PCI devices
|
# end of VFIO support for PCI devices
|
||||||
|
|
||||||
CONFIG_IRQ_BYPASS_MANAGER=y
|
CONFIG_IRQ_BYPASS_MANAGER=m
|
||||||
CONFIG_VIRT_DRIVERS=y
|
CONFIG_VIRT_DRIVERS=y
|
||||||
CONFIG_VMGENID=y
|
CONFIG_VMGENID=y
|
||||||
# CONFIG_VBOXGUEST is not set
|
# CONFIG_VBOXGUEST is not set
|
||||||
@ -4745,16 +4745,19 @@ CONFIG_CRYPTO_LIB_AESCFB=y
|
|||||||
CONFIG_CRYPTO_LIB_GF128MUL=m
|
CONFIG_CRYPTO_LIB_GF128MUL=m
|
||||||
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
|
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
|
||||||
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=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_GENERIC=m
|
||||||
|
CONFIG_CRYPTO_LIB_CHACHA_INTERNAL=m
|
||||||
CONFIG_CRYPTO_LIB_CHACHA=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_GENERIC=m
|
||||||
|
CONFIG_CRYPTO_LIB_CURVE25519_INTERNAL=m
|
||||||
CONFIG_CRYPTO_LIB_CURVE25519=m
|
CONFIG_CRYPTO_LIB_CURVE25519=m
|
||||||
CONFIG_CRYPTO_LIB_DES=m
|
CONFIG_CRYPTO_LIB_DES=m
|
||||||
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
|
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_GENERIC=m
|
||||||
|
CONFIG_CRYPTO_LIB_POLY1305_INTERNAL=m
|
||||||
CONFIG_CRYPTO_LIB_POLY1305=m
|
CONFIG_CRYPTO_LIB_POLY1305=m
|
||||||
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_LIB_SHA1=y
|
CONFIG_CRYPTO_LIB_SHA1=y
|
||||||
|
11461
configs/standard-amd64
Normal file
11461
configs/standard-amd64
Normal file
File diff suppressed because it is too large
Load Diff
77
kernel.sh
77
kernel.sh
@ -1,55 +1,54 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
UPDATED="2025-05-15"
|
UPDATED="2025-05-31"
|
||||||
|
|
||||||
DISABLE=0 # disable options
|
DISABLE=0 # disable options
|
||||||
ENABLE=1 # enable options
|
ENABLE=1 # enable options
|
||||||
PATCHES=0 # enable/disable patch apply
|
PATCHES=0 # enable/disable patch apply
|
||||||
UARCH=0 # apply more uarch patch
|
UARCH=0 # apply more uarch patch
|
||||||
O3=1 # use -O3 vs -O2 (optimisation)
|
O3=1 # use -O3 vs -O2 (optimisation)
|
||||||
ARCH="native" # target architecture (uarch patch)
|
ARCH="native" # target architecture (uarch patch)
|
||||||
CONFIGCLOUD=0 # enable cloud 'from' config
|
CONFIGCLOUD=0 # enable cloud 'from' config
|
||||||
CONFIGOLD=1 # enable old def config
|
CONFIGSTANDARD=0 # enable standard 'from' config
|
||||||
CONFIGMOD=0 # enable all mod config
|
CONFIGOLD=1 # enable old def config
|
||||||
SCRATCH=0 # perform from scratch (remove preexisting content)
|
CONFIGMOD=0 # enable all mod config
|
||||||
UNCOMPRESS=1 # perform uncompress if already exist
|
SCRATCH=0 # perform from scratch (remove preexisting content)
|
||||||
CLEANUP=1 # perform folder cleanup
|
UNCOMPRESS=1 # perform uncompress if already exist
|
||||||
SECURED=1 # enable/disable security
|
CLEANUP=1 # perform folder cleanup
|
||||||
CLANG=0 # use Clang compiler (if not, use GCC)
|
SECURED=1 # enable/disable security
|
||||||
TESTING=0 # add testing options
|
CLANG=0 # use Clang compiler (if not, use GCC)
|
||||||
NVIDIA=1 # add support for nvidia
|
TESTING=0 # add testing options
|
||||||
BARE=1 # compile kernel for bare-metal
|
NVIDIA=1 # add support for nvidia
|
||||||
|
BARE=1 # compile kernel for bare-metal
|
||||||
|
|
||||||
#
|
|
||||||
# Sources:
|
# Sources:
|
||||||
# https://github.com/sn99/Optimizing-linux#compiling-your-kernel
|
# https://github.com/sn99/Optimizing-linux#compiling-your-kernel
|
||||||
# https://wiki.gentoo.org/wiki/Kernel/Optimization
|
# https://wiki.gentoo.org/wiki/Kernel/Optimization
|
||||||
#
|
|
||||||
|
|
||||||
# config-cloud-amd64:
|
# config/cloud-amd64:
|
||||||
# https://packages.debian.org/source/sid/linux
|
# https://packages.debian.org/source/sid/linux
|
||||||
# linux-image-6.12.21-cloud-amd64-unsigned
|
# linux-image-6.12.21-cloud-amd64-unsigned
|
||||||
# Go down to download section, select amd64 and download deb.
|
# 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:
|
# more-uarches-for-kernel.patch:
|
||||||
# https://github.com/graysky2/kernel_compiler_patch
|
# https://github.com/graysky2/kernel_compiler_patch
|
||||||
# more-uarches-for-kernel.patch : more-uarches-for-kernel-6.8-rc4+.patch
|
# more-uarches-for-kernel.patch : more-uarches-for-kernel-6.8-rc4+.patch
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Prerequisites:
|
# 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
|
# 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:
|
# 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
|
# diff --side-by-side --suppress-common-lines --ignore-tab-expansion --ignore-trailing-space --ignore-space-change --ignore-blank-lines --text CONFIG1 CONFIG2
|
||||||
#
|
|
||||||
|
|
||||||
# Ubuntu:
|
# Ubuntu:
|
||||||
# sudo apt-get install linux-source
|
# sudo apt-get install linux-source
|
||||||
@ -155,6 +154,7 @@ doTarget() {
|
|||||||
UARCH=0
|
UARCH=0
|
||||||
ARCH="native"
|
ARCH="native"
|
||||||
CONFIGCLOUD=0
|
CONFIGCLOUD=0
|
||||||
|
CONFIGSTANDARD=0
|
||||||
CONFIGMOD=0
|
CONFIGMOD=0
|
||||||
CONFIGOLD=1
|
CONFIGOLD=1
|
||||||
SCRATCH=0
|
SCRATCH=0
|
||||||
@ -335,6 +335,24 @@ doConfigCloud() {
|
|||||||
fi
|
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
|
# Generate .config from old kernel
|
||||||
doOldOne() {
|
doOldOne() {
|
||||||
if [ $CONFIGOLD == 1 ]; then
|
if [ $CONFIGOLD == 1 ]; then
|
||||||
@ -811,6 +829,7 @@ doKernel() {
|
|||||||
|
|
||||||
doCleanup > >(tee -a $LOGFILE) 2>&1
|
doCleanup > >(tee -a $LOGFILE) 2>&1
|
||||||
doConfigCloud > >(tee -a $LOGFILE) 2>&1
|
doConfigCloud > >(tee -a $LOGFILE) 2>&1
|
||||||
|
doConfigStandard > >(tee -a $LOGFILE) 2>&1
|
||||||
doOldOne > >(tee -a $LOGFILE) 2>&1
|
doOldOne > >(tee -a $LOGFILE) 2>&1
|
||||||
doAllMods > >(tee -a $LOGFILE) 2>&1
|
doAllMods > >(tee -a $LOGFILE) 2>&1
|
||||||
doDefaults > >(tee -a $LOGFILE) 2>&1
|
doDefaults > >(tee -a $LOGFILE) 2>&1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user