From 0c11b9633cedb44a7b9fb825b76e99c9bdaf6a78 Mon Sep 17 00:00:00 2001 From: kraoc Date: Sat, 10 Feb 2024 21:23:59 +0100 Subject: [PATCH] Update 6.7.4 + tuning --- README.md | 53 ++++---- config-cloud-amd64 | 219 ++++++++++++++++++------------ kernel.sh | 327 ++++++++++++++++++++++++++++++++++----------- 3 files changed, 409 insertions(+), 190 deletions(-) diff --git a/README.md b/README.md index 4f5d105..0f2ef8b 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ Récupération, décompression des sources du Kernel linux sur kernel.org, optim ## Prérequis -* Hyperviseur Proxmox -* Machine hôte avec processeur Intel -* Système d’exploitation pour VM sous Debian -* Disposer du fichier de configuration noyeau de type Cloud +- Hyperviseur Proxmox +- Machine hôte avec processeur Intel +- Système d’exploitation pour VM sous Debian +- Disposer du fichier de configuration noyeau de type Cloud ## Usage @@ -15,9 +15,9 @@ Récupération, décompression des sources du Kernel linux sur kernel.org, optim sudo bash kernel.sh [branch] [version] [compile] ``` -* branch : la branche majeur du kernel -* version : la version du kernel à utiliser -* compile : **optionnel**, utilisé pour passer la récupération des sources et leur décompression +- branch : la branche majeur du kernel +- version : la version du kernel à utiliser +- compile : **optionnel**, utilisé pour passer la récupération des sources et leur décompression Exemple : @@ -27,36 +27,43 @@ sudo bash kernel.sh 6.x 6.6.10 ## Résultats -* linux-headers-6.6.10-zogg-amd64_6.6.10-1_amd64.deb : 8.4 Mo -* linux-image-6.6.10-zogg-amd64_6.6.10-1_amd64.deb : 20 Mo -* linux-image-6.6.10-zogg-amd64-dbg_6.6.10-1_amd64.deb : 151 Mo -* linux-libc-dev_6.6.10-1_amd64.deb : 1.3 Mo +- linux-headers-6.6.10-zogg-amd64_6.6.10-1_amd64.deb : 8.4 Mo +- linux-image-6.6.10-zogg-amd64_6.6.10-1_amd64.deb : 20 Mo +- linux-image-6.6.10-zogg-amd64-dbg_6.6.10-1_amd64.deb : 151 Mo +- linux-libc-dev_6.6.10-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 +- ~~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 +### 2024-02-10 + +- Mise à jour de la configuration cloud du kernel (config-cloud-amd64 v6.6.9) +- Retour au compilateur GCC par défaut (compatibilité) +- Correction de bugs liés aux **\_ACL** et **\_XATTR** (réactivation des options) +- Intégration des _crypto_ dans le kernel + ### 2024-01-07 -* Mise à jour de la configuration cloud du kernel (config-cloud-amd64 v6.5.13) -* Mise à jour du patch pour ajouter des configurations processeurs (more-uarches-for-kernel.patch) -* Mise à jour et optimisation du script (kernel.sh) -* Passage de GCC à CLang pour les compilations +- Mise à jour de la configuration cloud du kernel (config-cloud-amd64 v6.5.13) +- Mise à jour du patch pour ajouter des configurations processeurs (more-uarches-for-kernel.patch) +- Mise à jour et optimisation du script (kernel.sh) +- Passage de GCC à CLang pour les compilations ### 2023-11-30 -* Amélioration des sélections dans les options (enable/disable) -* Ajout d'un flag TESTING conditionnant l'appel de la fonction doDefaultsTesting _(pour tester d'autres options...)_ +- Amélioration des sélections dans les options (enable/disable) +- Ajout d'un flag TESTING conditionnant l'appel de la fonction doDefaultsTesting _(pour tester d'autres options...)_ ### 2023-11-24 -* Correction de bugs liés aux disable/enable _(options du .config)_ -* Test ok avec v6.6.1 et v6.6.2 du kernel sur VM Debian sous Proxmox +- Correction de bugs liés aux disable/enable _(options du .config)_ +- Test ok avec v6.6.1 et v6.6.2 du kernel sur VM Debian sous Proxmox ### 2023-11-22 -* Commit initial +- Commit initial diff --git a/config-cloud-amd64 b/config-cloud-amd64 index 884346b..3ada79e 100644 --- a/config-cloud-amd64 +++ b/config-cloud-amd64 @@ -1,15 +1,15 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.5.13 Kernel Configuration +# Linux/x86 6.6.9 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc-13 (Debian 13.2.0-7) 13.2.0" +CONFIG_CC_VERSION_TEXT="gcc-13 (Debian 13.2.0-9) 13.2.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=130200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24100 +CONFIG_AS_VERSION=24150 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24100 +CONFIG_LD_VERSION=24150 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y @@ -278,7 +278,6 @@ CONFIG_KCMP=y CONFIG_RSEQ=y CONFIG_CACHESTAT_SYSCALL=y # CONFIG_DEBUG_RSEQ is not set -# CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y CONFIG_GUEST_PERF_EVENTS=y # CONFIG_PC104 is not set @@ -293,6 +292,23 @@ CONFIG_PERF_EVENTS=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y + +# +# Kexec and crash features +# +CONFIG_CRASH_CORE=y +CONFIG_KEXEC_CORE=y +CONFIG_HAVE_IMA_KEXEC=y +CONFIG_KEXEC=y +CONFIG_KEXEC_FILE=y +CONFIG_KEXEC_SIG=y +# CONFIG_KEXEC_SIG_FORCE is not set +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y +# CONFIG_KEXEC_JUMP is not set +CONFIG_CRASH_DUMP=y +CONFIG_CRASH_HOTPLUG=y +CONFIG_CRASH_MAX_MEMORY_RANGES=8192 +# end of Kexec and crash features # end of General setup CONFIG_64BIT=y @@ -421,7 +437,8 @@ CONFIG_PERF_EVENTS_AMD_UNCORE=y # CONFIG_X86_16BIT is not set CONFIG_X86_VSYSCALL_EMULATION=y CONFIG_X86_IOPL_IOPERM=y -# CONFIG_MICROCODE is not set +CONFIG_MICROCODE=y +# CONFIG_MICROCODE_LATE_LOADING is not set CONFIG_X86_MSR=m CONFIG_X86_CPUID=m CONFIG_X86_5LEVEL=y @@ -451,12 +468,14 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_X86_UMIP=y CONFIG_CC_HAS_IBT=y +CONFIG_X86_CET=y CONFIG_X86_KERNEL_IBT=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_X86_INTEL_TSX_MODE_OFF=y # CONFIG_X86_INTEL_TSX_MODE_ON is not set # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set CONFIG_X86_SGX=y +# CONFIG_X86_USER_SHADOW_STACK is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_HANDOVER_PROTOCOL=y @@ -469,14 +488,16 @@ CONFIG_HZ_250=y # CONFIG_HZ_1000 is not set CONFIG_HZ=250 CONFIG_SCHED_HRTICK=y -CONFIG_KEXEC=y -CONFIG_KEXEC_FILE=y -CONFIG_ARCH_HAS_KEXEC_PURGATORY=y -CONFIG_KEXEC_SIG=y -# CONFIG_KEXEC_SIG_FORCE is not set -CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y -CONFIG_CRASH_DUMP=y -# CONFIG_KEXEC_JUMP is not set +CONFIG_ARCH_SUPPORTS_KEXEC=y +CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y +CONFIG_ARCH_SELECTS_KEXEC_FILE=y +CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y +CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y +CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y +CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y +CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y +CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y +CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y @@ -519,7 +540,6 @@ CONFIG_CPU_SRSO=y CONFIG_SLS=y # CONFIG_GDS_FORCE_MITIGATION is not set CONFIG_ARCH_HAS_ADD_PAGES=y -CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y # # Power management and ACPI options @@ -709,18 +729,17 @@ CONFIG_X86_SGX_KVM=y CONFIG_KVM_AMD=m CONFIG_KVM_SMM=y # CONFIG_KVM_XEN is not set +# CONFIG_KVM_PROVE_MMU is not set CONFIG_AS_AVX512=y CONFIG_AS_SHA1_NI=y CONFIG_AS_SHA256_NI=y CONFIG_AS_TPAUSE=y CONFIG_AS_GFNI=y +CONFIG_AS_WRUSS=y # # General architecture-dependent options # -CONFIG_CRASH_CORE=y -CONFIG_KEXEC_CORE=y -CONFIG_HAVE_IMA_KEXEC=y CONFIG_HOTPLUG_SMT=y CONFIG_HOTPLUG_CORE_SYNC=y CONFIG_HOTPLUG_CORE_SYNC_DEAD=y @@ -810,6 +829,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_HUGE_VMALLOC=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_PMD_MKWRITE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y @@ -896,10 +916,11 @@ CONFIG_MODULE_SIG_SHA256=y # CONFIG_MODULE_SIG_SHA384 is not set # CONFIG_MODULE_SIG_SHA512 is not set CONFIG_MODULE_SIG_HASH="sha256" -CONFIG_MODULE_COMPRESS_NONE=y +# CONFIG_MODULE_COMPRESS_NONE is not set # CONFIG_MODULE_COMPRESS_GZIP is not set -# CONFIG_MODULE_COMPRESS_XZ is not set +CONFIG_MODULE_COMPRESS_XZ=y # CONFIG_MODULE_COMPRESS_ZSTD is not set +# CONFIG_MODULE_DECOMPRESS is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set CONFIG_MODPROBE_PATH="/sbin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set @@ -1001,6 +1022,7 @@ CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_FREELIST_HARDENED=y # CONFIG_SLUB_STATS is not set CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_RANDOM_KMALLOC_CACHES is not set # end of SLAB allocator options CONFIG_SHUFFLE_PAGE_ALLOCATOR=y @@ -1009,7 +1031,8 @@ CONFIG_SPARSEMEM=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_ARCH_WANT_OPTIMIZE_VMEMMAP=y +CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y +CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y CONFIG_HAVE_FAST_GUP=y CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_MEMORY_ISOLATION=y @@ -1021,6 +1044,7 @@ CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_MHP_MEMMAP_ON_MEMORY=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y @@ -1073,6 +1097,7 @@ CONFIG_VM_EVENT_COUNTERS=y # CONFIG_GUP_TEST is not set # CONFIG_DMAPOOL_TEST is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_MEMFD_CREATE=y CONFIG_SECRETMEM=y # CONFIG_ANON_VMA_NAME is not set CONFIG_USERFAULTFD=y @@ -1096,6 +1121,7 @@ CONFIG_LOCK_MM_AND_FIND_VMA=y CONFIG_NET=y CONFIG_NET_INGRESS=y CONFIG_NET_EGRESS=y +CONFIG_NET_XGRESS=y CONFIG_NET_REDIRECT=y CONFIG_SKB_EXTENSIONS=y @@ -1964,6 +1990,11 @@ CONFIG_MHI_BUS_PCI_GENERIC=m # CONFIG_MHI_BUS_EP is not set # end of Bus devices +# +# Cache Drivers +# +# end of Cache Drivers + CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y @@ -2070,7 +2101,8 @@ CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m -# CONFIG_BLK_DEV_UBLK is not set +CONFIG_BLK_DEV_UBLK=m +CONFIG_BLKDEV_UBLK_LEGACY_OPCODES=y # # NVME Support @@ -2338,6 +2370,7 @@ CONFIG_ATA_GENERIC=m CONFIG_PATA_LEGACY=m CONFIG_MD=y CONFIG_BLK_DEV_MD=m +CONFIG_MD_BITMAP_FILE=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m @@ -2434,6 +2467,7 @@ CONFIG_GENEVE=m CONFIG_MACSEC=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y +# CONFIG_NETCONSOLE_EXTENDED_LOG is not set CONFIG_NETPOLL=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_TUN=m @@ -2512,7 +2546,7 @@ CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y -# CONFIG_MLX5_EN_MACSEC is not set +# CONFIG_MLX5_MACSEC is not set # CONFIG_MLX5_EN_IPSEC is not set # CONFIG_MLX5_EN_TLS is not set # CONFIG_MLX5_SF is not set @@ -2594,7 +2628,7 @@ CONFIG_WWAN_DEBUGFS=y CONFIG_MHI_WWAN_CTRL=m CONFIG_MHI_WWAN_MBIM=m CONFIG_IOSM=m -# CONFIG_MTK_T7XX is not set +CONFIG_MTK_T7XX=m # end of Wireless WAN CONFIG_XEN_NETDEV_FRONTEND=m @@ -2813,6 +2847,7 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # CONFIG_PTP_1588_CLOCK_KVM=m +# CONFIG_PTP_1588_CLOCK_MOCK is not set CONFIG_PTP_1588_CLOCK_VMW=m # end of PTP clock support @@ -2954,6 +2989,7 @@ CONFIG_BCMA_POSSIBLE=y # Multifunction device drivers # CONFIG_MFD_CORE=m +# CONFIG_MFD_CS42L43_SDW is not set # CONFIG_MFD_MADERA is not set # CONFIG_LPC_ICH is not set # CONFIG_LPC_SCH is not set @@ -2992,39 +3028,17 @@ CONFIG_CEC_SECO=m CONFIG_APERTURE_HELPERS=y CONFIG_VIDEO_CMDLINE=y CONFIG_VIDEO_NOMODESET=y +# CONFIG_AUXDISPLAY is not set # CONFIG_AGP is not set # CONFIG_VGA_SWITCHEROO is not set # CONFIG_DRM is not set # CONFIG_DRM_DEBUG_MODESET_LOCK is not set - -# -# ARM devices -# -# end of ARM devices - CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # # Frame buffer Devices # -CONFIG_FB_NOTIFY=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_IMAGEBLIT=y -# CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_TILEBLITTING=y - -# -# Frame buffer hardware drivers -# # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set @@ -3065,6 +3079,24 @@ CONFIG_XEN_FBDEV_FRONTEND=y CONFIG_FB_HYPERV=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SM712 is not set +CONFIG_FB_CORE=y +CONFIG_FB_NOTIFY=y +CONFIG_FIRMWARE_EDID=y +CONFIG_FB_DEVICE=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_IOMEM_HELPERS=y +CONFIG_FB_SYSMEM_HELPERS=y +CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y # end of Frame buffer Devices # @@ -3123,6 +3155,7 @@ CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m CONFIG_HID_GLORIOUS=m CONFIG_HID_VIVALDI_COMMON=m +# CONFIG_HID_GOOGLE_STADIA_FF is not set CONFIG_HID_VIVALDI=m CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m @@ -3167,7 +3200,6 @@ CONFIG_HID_SEMITEK=m CONFIG_HID_SPEEDLINK=m CONFIG_HID_STEAM=m # CONFIG_STEAM_FF is not set -CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m # CONFIG_HID_RMI is not set CONFIG_HID_GREENASIA=m @@ -3354,7 +3386,6 @@ CONFIG_RTC_DRV_CMOS=y # CONFIG_RTC_DRV_M48T35 is not set # CONFIG_RTC_DRV_M48T59 is not set # CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set # @@ -3380,7 +3411,6 @@ CONFIG_RTC_DRV_CMOS=y # CONFIG_DMABUF_SYSFS_STATS is not set # end of DMABUF options -# CONFIG_AUXDISPLAY is not set CONFIG_UIO=m CONFIG_UIO_CIF=m # CONFIG_UIO_PDRV_GENIRQ is not set @@ -3393,6 +3423,7 @@ CONFIG_UIO_NETX=m CONFIG_UIO_MF624=m CONFIG_UIO_HV_GENERIC=m CONFIG_VFIO=m +CONFIG_VFIO_GROUP=y CONFIG_VFIO_CONTAINER=y CONFIG_VFIO_IOMMU_TYPE1=m # CONFIG_VFIO_NOIOMMU is not set @@ -3413,19 +3444,28 @@ CONFIG_VFIO_PCI_IGD=y CONFIG_IRQ_BYPASS_MANAGER=m # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_ANCHOR=y -CONFIG_VIRTIO=m -CONFIG_VIRTIO_PCI_LIB=m -CONFIG_VIRTIO_PCI_LIB_LEGACY=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y CONFIG_VIRTIO_MENU=y -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_VDPA=m CONFIG_VIRTIO_PMEM=m CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_MEM=m CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=m # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set -# CONFIG_VDPA is not set +CONFIG_VDPA=m +# CONFIG_VDPA_SIM is not set +CONFIG_VDPA_USER=m +# CONFIG_IFCVF is not set +# CONFIG_MLX5_VDPA_NET is not set +# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set +# CONFIG_VP_VDPA is not set +# CONFIG_ALIBABA_ENI_VDPA is not set +# CONFIG_SNET_VDPA is not set CONFIG_VHOST_IOTLB=m CONFIG_VHOST_TASK=y CONFIG_VHOST=m @@ -3433,6 +3473,7 @@ CONFIG_VHOST_MENU=y CONFIG_VHOST_NET=m CONFIG_VHOST_SCSI=m CONFIG_VHOST_VSOCK=m +CONFIG_VHOST_VDPA=m # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set # @@ -3571,7 +3612,6 @@ CONFIG_SURFACE_PRO3_BUTTON=m CONFIG_SURFACE_AGGREGATOR=m CONFIG_SURFACE_AGGREGATOR_BUS=y # CONFIG_X86_PLATFORM_DEVICES is not set -# CONFIG_P2SB is not set # CONFIG_COMMON_CLK is not set # CONFIG_HWSPINLOCK is not set @@ -3760,7 +3800,13 @@ CONFIG_DEV_DAX_KMEM=m # # HW tracing support # -# CONFIG_STM is not set +CONFIG_STM=m +CONFIG_STM_PROTO_BASIC=m +CONFIG_STM_PROTO_SYS_T=m +CONFIG_STM_DUMMY=m +CONFIG_STM_SOURCE_CONSOLE=m +CONFIG_STM_SOURCE_HEARTBEAT=m +CONFIG_STM_SOURCE_FTRACE=m # CONFIG_INTEL_TH is not set # end of HW tracing support @@ -3781,6 +3827,7 @@ CONFIG_DEV_DAX_KMEM=m CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_VALIDATE_FS_PARSER is not set CONFIG_FS_IOMAP=y +CONFIG_BUFFER_HEAD=y CONFIG_LEGACY_DIRECT_IO=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set @@ -3838,9 +3885,9 @@ CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS_FS=m -CONFIG_FUSE_FS=m +CONFIG_FUSE_FS=y CONFIG_CUSE=m -CONFIG_VIRTIO_FS=m +CONFIG_VIRTIO_FS=y CONFIG_FUSE_DAX=y CONFIG_OVERLAY_FS=m # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set @@ -3848,6 +3895,7 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # CONFIG_OVERLAY_FS_INDEX is not set # CONFIG_OVERLAY_FS_XINO_AUTO is not set # CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_OVERLAY_FS_DEBUG is not set # # Caches @@ -3904,11 +3952,11 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_TMPFS_INODE64=y +# CONFIG_TMPFS_QUOTA is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y # CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set -CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_EFIVAR_FS=m @@ -3953,15 +4001,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y CONFIG_ROMFS_ON_BLOCK=y CONFIG_PSTORE=y CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 -CONFIG_PSTORE_DEFLATE_COMPRESS=y -# CONFIG_PSTORE_LZO_COMPRESS is not set -# CONFIG_PSTORE_LZ4_COMPRESS is not set -# CONFIG_PSTORE_LZ4HC_COMPRESS is not set -# CONFIG_PSTORE_842_COMPRESS is not set -# CONFIG_PSTORE_ZSTD_COMPRESS is not set CONFIG_PSTORE_COMPRESS=y -CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y -CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" # CONFIG_PSTORE_CONSOLE is not set # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set @@ -3980,6 +4020,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y CONFIG_EROFS_FS_SECURITY=y CONFIG_EROFS_FS_ZIP=y # CONFIG_EROFS_FS_ZIP_LZMA is not set +# CONFIG_EROFS_FS_ZIP_DEFLATE is not set # CONFIG_EROFS_FS_PCPU_KTHREAD is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m @@ -4001,7 +4042,7 @@ CONFIG_NFS_FSCACHE=y CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DEBUG=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y -# CONFIG_NFS_V4_2_READ_PLUS is not set +CONFIG_NFS_V4_2_READ_PLUS=y CONFIG_NFSD=m # CONFIG_NFSD_V2 is not set CONFIG_NFSD_V3_ACL=y @@ -4023,8 +4064,6 @@ CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y CONFIG_SUNRPC_SWAP=y CONFIG_RPCSEC_GSS_KRB5=m -CONFIG_RPCSEC_GSS_KRB5_CRYPTOSYSTEM=y -# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DES is not set CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y # CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set # CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set @@ -4105,6 +4144,7 @@ CONFIG_NLS_MAC_INUIT=m CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m +CONFIG_NLS_UCS2_UTILS=m # CONFIG_DLM is not set CONFIG_UNICODE=y # CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set @@ -4140,6 +4180,7 @@ CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +# CONFIG_SECURITY_SELINUX_DEBUG is not set # CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 @@ -4183,6 +4224,7 @@ CONFIG_IMA_SIG_TEMPLATE=y CONFIG_IMA_DEFAULT_TEMPLATE="ima-sig" # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_DEFAULT_HASH="sha256" # CONFIG_IMA_WRITE_POLICY is not set # CONFIG_IMA_READ_POLICY is not set @@ -4224,6 +4266,13 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y # CONFIG_ZERO_CALL_USED_REGS is not set # end of Memory initialization +# +# Hardening of kernel data structures +# +CONFIG_LIST_HARDENED=y +CONFIG_BUG_ON_DATA_CORRUPTION=y +# end of Hardening of kernel data structures + CONFIG_RANDSTRUCT_NONE=y # end of Kernel hardening options # end of Security options @@ -4253,7 +4302,7 @@ CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y @@ -4279,9 +4328,9 @@ CONFIG_CRYPTO_SIMD=m CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y # CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set -CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECC=y CONFIG_CRYPTO_ECDH=m -# CONFIG_CRYPTO_ECDSA is not set +CONFIG_CRYPTO_ECDSA=y CONFIG_CRYPTO_ECRDSA=m # CONFIG_CRYPTO_SM2 is not set CONFIG_CRYPTO_CURVE25519=m @@ -4314,7 +4363,7 @@ CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CFB=m -CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m # CONFIG_CRYPTO_HCTR2 is not set @@ -4353,8 +4402,8 @@ CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA3=y # CONFIG_CRYPTO_SM3_GENERIC is not set CONFIG_CRYPTO_STREEBOG=m CONFIG_CRYPTO_VMAC=m @@ -4375,7 +4424,7 @@ CONFIG_CRYPTO_CRC64_ROCKSOFT=y # # Compression # -CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_LZO=m # CONFIG_CRYPTO_842 is not set CONFIG_CRYPTO_LZ4=m @@ -4387,12 +4436,12 @@ CONFIG_CRYPTO_ZSTD=m # Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set CONFIG_CRYPTO_KDF800108_CTR=y # end of Random number generation @@ -4465,8 +4514,8 @@ CONFIG_SIGNED_PE_FILE_VERIFICATION=y # # Certificates for signature checking # -CONFIG_MODULE_SIG_KEY_TYPE_RSA=y -# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set +# CONFIG_MODULE_SIG_KEY_TYPE_RSA is not set +CONFIG_MODULE_SIG_KEY_TYPE_ECDSA=y CONFIG_SYSTEM_TRUSTED_KEYRING=y # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set CONFIG_SECONDARY_TRUSTED_KEYRING=y @@ -4588,6 +4637,7 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y CONFIG_SWIOTLB=y +# CONFIG_SWIOTLB_DYNAMIC is not set CONFIG_DMA_COHERENT_POOL=y # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_MAP_BENCHMARK is not set @@ -4838,12 +4888,9 @@ CONFIG_DEBUG_LIST=y # CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_BUG_ON_DATA_CORRUPTION=y # CONFIG_DEBUG_MAPLE_TREE is not set # end of Debug kernel data structures -# CONFIG_DEBUG_CREDENTIALS is not set - # # RCU Debugging # diff --git a/kernel.sh b/kernel.sh index 401e416..45823b5 100644 --- a/kernel.sh +++ b/kernel.sh @@ -1,7 +1,8 @@ #!/bin/bash -UPDATED="2024-01-07" +UPDATED="2024-02-10" TESTING=0 +CLANG=0 # # Sources: @@ -23,39 +24,39 @@ TESTING=0 # # 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 +# 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 # doBuildSystem() { - echo "v$UPDATED" + echo "v$UPDATED" } # Display introduction doIntro() { - echo + echo if [ $TESTING == 1 ]; then echo "Debian Kernel Builder: $HOSTNAME [TEST]" else echo "Debian Kernel Builder: $HOSTNAME" fi - doBuildSystem - echo + doBuildSystem + echo } # Show date/time header doHeader() { - NOW=`date +"%Y/%m/%d %H:%M:%S"` - echo "- $NOW" - echo "" + NOW=$(date +"%Y/%m/%d %H:%M:%S") + echo "- $NOW" + echo "" } if [ "$(id -u)" != "0" ]; then - doIntro - doHeader - echo - echo "This script must be run as root" 1>&2 - echo - exit 1 + doIntro + doHeader + echo + echo "This script must be run as root" 1>&2 + echo + exit 1 fi KERNEL=/opt/kernel @@ -83,33 +84,33 @@ cd $CURRENT # Force sync & flush doSync() { - sync - echo 3 > /proc/sys/vm/drop_caches + sync + echo 3 >/proc/sys/vm/drop_caches } doHead() { - doIntro - doHeader + doIntro + doHeader } # Display help doHelp() { - doIntro - doHeader + doIntro + doHeader - if [ $BRANCH != "help" ]; then - echo ">>> Unspecified, unknown or invalid option specified !" - echo - fi - echo "Usage: $SCRIPT 'branch' 'version'" - echo - echo "branch : Main branch (eg. 6.x)" - echo "version: Full version tag (eg. 6.6.1)" - echo + if [ $BRANCH != "help" ]; then + echo ">>> Unspecified, unknown or invalid option specified !" + echo + fi + echo "Usage: $SCRIPT 'branch' 'version'" + echo + echo "branch : Main branch (eg. 6.x)" + echo "version: Full version tag (eg. 6.6.1)" + echo } doEchoStep() { - NOW=`date +"%Y/%m/%d %H:%M:%S"` + NOW=$(date +"%Y/%m/%d %H:%M:%S") echo "### $NOW - $1" } @@ -154,8 +155,11 @@ doCleanup() { cd $WORKDIR doEchoStep "Cleanup" - # make -j$(nproc) CC="ccache gcc" mrproper - make -j$(nproc) LLVM=1 CC="ccache clang" mrproper + if [ "$CLANG" == "1" ]; then + make -j$(nproc) LLVM=1 CC="ccache clang" mrproper + else + make -j$(nproc) CC="ccache gcc" mrproper + fi result=$? if [ ! result==0 ]; then echo ">>> Error in cleanup !" @@ -183,8 +187,11 @@ doOldOne() { cd $WORKDIR doEchoStep "Generate config from old kernel .config" - # make -j$(nproc) CC="ccache gcc" olddefconfig - make -j$(nproc) LLVM=1 CC="ccache clang" olddefconfig + if [ "$CLANG" == "1" ]; then + make -j$(nproc) LLVM=1 CC="ccache clang" olddefconfig + else + make -j$(nproc) CC="ccache gcc" olddefconfig + fi result=$? if [ ! result==0 ]; then echo ">>> Error in generate .config !" @@ -198,8 +205,11 @@ doAllMods() { cd $WORKDIR doEchoStep "Set all modules to be 'module'" - # make -j$(nproc) CC="ccache gcc" allmodconfig - make -j$(nproc) LLVM=1 CC="ccache clang" allmodconfig + if [ "$CLANG" == "1" ]; then + make -j$(nproc) LLVM=1 CC="ccache clang" allmodconfig + else + make -j$(nproc) CC="ccache gcc" allmodconfig + fi result=$? if [ ! result==0 ]; then echo ">>> Error in set all modules not in kernel !" @@ -290,7 +300,6 @@ doDefaultsDisable() { ./scripts/config --disable CONFIG_BTRFS_DEBUG ./scripts/config --disable CONFIG_BTRFS_FS ./scripts/config --disable CONFIG_BTRFS_FS_CHECK_INTEGRITY - ./scripts/config --disable CONFIG_BTRFS_FS_POSIX_ACL ./scripts/config --disable CONFIG_BTRFS_FS_REF_VERIFY ./scripts/config --disable CONFIG_BTRFS_FS_RUN_SANITY_TESTS ./scripts/config --disable CONFIG_CACHEFILES_DEBUG @@ -357,8 +366,6 @@ doDefaultsDisable() { ./scripts/config --disable CONFIG_EXT2_FS ./scripts/config --disable CONFIG_EXT3_FS ./scripts/config --disable CONFIG_EXT4_DEBUG - ./scripts/config --disable CONFIG_EXT4_FS_POSIX_ACL - ./scripts/config --disable CONFIG_EXT4_FS_SECURITY ./scripts/config --disable CONFIG_EXT4_KUNIT_TESTS ./scripts/config --disable CONFIG_F2FS_FS ./scripts/config --disable CONFIG_FAT_KUNIT_TEST @@ -427,7 +434,6 @@ doDefaultsDisable() { ./scripts/config --disable CONFIG_NO_HZ ./scripts/config --disable CONFIG_NTFS_DEBUG ./scripts/config --disable CONFIG_NTFS3_64BIT_CLUSTER - ./scripts/config --disable CONFIG_NTFS3_FS_POSIX_ACL ./scripts/config --disable CONFIG_OCFS2_FS ./scripts/config --disable CONFIG_OSF_PARTITION ./scripts/config --disable CONFIG_PAGE_POOL_STATS @@ -513,7 +519,6 @@ doDefaultsDisable() { ./scripts/config --disable CONFIG_XFS_ONLINE_REPAIR ./scripts/config --disable CONFIG_XFS_ONLINE_SCRUB ./scripts/config --disable CONFIG_XFS_ONLINE_SCRUB_STATS - ./scripts/config --disable CONFIG_XFS_POSIX_ACL ./scripts/config --disable CONFIG_XFS_QUOTA ./scripts/config --disable CONFIG_XFS_RT ./scripts/config --disable CONFIG_XFS_SUPPORT_ASCII_CI @@ -565,6 +570,28 @@ doDefaultsDisable() { ./scripts/config --disable CONFIG_CPU_IBRS_ENTRY ./scripts/config --disable CONFIG_GDS_FORCE_MITIGATION ./scripts/config --disable CONFIG_SPECULATION_MITIGATIONS + ./scripts/config --disable CONFIG_VIRT_CPU_ACCOUNTING_GEN + ./scripts/config --disable CONFIG_IRQ_TIME_ACCOUNTING + ./scripts/config --disable CONFIG_TASKSTATS + ./scripts/config --disable CONFIG_PSI + ./scripts/config --disable CONFIG_RCU_NOCB_CPU + ./scripts/config --disable CONFIG_KALLSYMS + ./scripts/config --disable CONFIG_KALLSYMS_ALL + ./scripts/config --disable CONFIG_SCHED_MC + ./scripts/config --disable CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS + ./scripts/config --disable CONFIG_SPECULATION_MITIGATIONS + ./scripts/config --disable CONFIG_PAGE_TABLE_ISOLATION + ./scripts/config --disable CONFIG_RETPOLINE + ./scripts/config --disable CONFIG_CPU_IBRS_ENTRY + ./scripts/config --disable CONFIG_GDS_FORCE_MITIGATION + ./scripts/config --disable CONFIG_INIT_ON_ALLOC_DEFAULT_ON + ./scripts/config --disable CONFIG_LIST_HARDENED + ./scripts/config --disable CONFIG_BUG_ON_DATA_CORRUPTION + ./scripts/config --disable CONFIG_CALL_THUNKS_DEBUG + ./scripts/config --disable CONFIG_KPROBES + ./scripts/config --disable CONFIG_IPV6 + ./scripts/config --disable WIRELESS + ./scripts/config --disable CONFIG_SLUB_DEBUG } doDefaultsEnable() { doEchoStep "Options: enable" @@ -583,7 +610,6 @@ doDefaultsEnable() { ./scripts/config --enable CONFIG_BPF_SYSCALL ./scripts/config --enable CONFIG_BSD_PROCESS_ACCT ./scripts/config --enable CONFIG_CALL_DEPTH_TRACKING - ./scripts/config --enable CONFIG_CALL_THUNKS_DEBUG ./scripts/config --enable CONFIG_CGROUP_CPUACCT ./scripts/config --enable CONFIG_CGROUP_DEVICE ./scripts/config --enable CONFIG_CGROUP_MISC @@ -598,7 +624,6 @@ doDefaultsEnable() { ./scripts/config --enable CONFIG_CIFS_DFS_UPCALL ./scripts/config --enable CONFIG_CIFS_STATS2 ./scripts/config --enable CONFIG_CIFS_SWN_UPCALL - ./scripts/config --enable CONFIG_CIFS_XATTR ./scripts/config --enable CONFIG_COMPAT_32BIT_TIME ./scripts/config --enable CONFIG_CONFIGFS_FS ./scripts/config --enable CONFIG_CPU_FREQ @@ -818,9 +843,141 @@ doDefaultsEnable() { ./scripts/config --enable CONFIG_CRYPTO_LZO ./scripts/config --enable CONFIG_CRYPTO_LZ4 ./scripts/config --enable CONFIG_CRYPTO_ZSTD - ./scripts/config --enable CONFIG_GENERIC_CPU4 ./scripts/config --enable CONFIG_HZ_100 ./scripts/config --enable CONFIG_PREEMPT_NONE + ./scripts/config --enable CONFIG_INTEL_TDX_HOST + ./scripts/config --enable CONFIG_MODULE_COMPRESS_NONE + ./scripts/config --enable CONFIG_ZSWAP + ./scripts/config --enable CONFIG_ZSWAP_DEFAULT_ON + ./scripts/config --enable CONFIG_TRANSPARENT_HUGEPAGE_MADVISE + ./scripts/config --enable CONFIG_BTRFS_FS_POSIX_ACL + ./scripts/config --enable CONFIG_XFS_POSIX_ACL + ./scripts/config --enable CONFIG_CEPH_FS_POSIX_ACL + ./scripts/config --enable CONFIG_EROFS_FS_POSIX_ACL + ./scripts/config --enable CONFIG_NFS_V3_ACL + ./scripts/config --enable CONFIG_NFSD_V3_ACL + ./scripts/config --enable CONFIG_NTFS3_FS_POSIX_ACL + ./scripts/config --enable CONFIG_TMPFS_POSIX_ACL + ./scripts/config --enable CONFIG_EXT4_FS_POSIX_ACL + ./scripts/config --enable CONFIG_FS_POSIX_ACL + ./scripts/config --enable CONFIG_EXT2_FS_POSIX_ACL + ./scripts/config --enable CONFIG_REISERFS_FS_POSIX_ACL + ./scripts/config --enable CONFIG_JFS_POSIX_ACL + ./scripts/config --enable CONFIG_F2FS_FS_POSIX_ACL + ./scripts/config --enable CONFIG_JFFS2_FS_POSIX_ACL + ./scripts/config --enable CONFIG_NFSD_V2_ACL + ./scripts/config --enable CONFIG_9P_FS_POSIX_ACL + ./scripts/config --enable CONFIG_EROFS_FS_XATTR + ./scripts/config --enable CONFIG_EVM_ADD_XATTRS + ./scripts/config --enable CONFIG_SQUASHFS_XATTR + ./scripts/config --enable CONFIG_CIFS_XATTR + ./scripts/config --enable CONFIG_TMPFS_XATTR + ./scripts/config --enable CONFIG_EXT2_FS_XATTR + ./scripts/config --enable CONFIG_EXT4_FS_XATTR + ./scripts/config --enable CONFIG_REISERFS_FS_XATTR + ./scripts/config --enable CONFIG_F2FS_FS_XATTR + ./scripts/config --enable CONFIG_JFFS2_FS_XATTR + ./scripts/config --enable CONFIG_UBIFS_FS_XATTR + ./scripts/config --enable CONFIG_EXT4_FS_SECURITY + ./scripts/config --enable CONFIG_EXT2_FS_SECURITY + ./scripts/config --enable CONFIG_REISERFS_FS_SECURITY + ./scripts/config --enable CONFIG_JFS_SECURITY + ./scripts/config --enable CONFIG_F2FS_FS_SECURITY + ./scripts/config --enable CONFIG_JFFS2_FS_SECURITY + ./scripts/config --enable CONFIG_UBIFS_FS_SECURITY + ./scripts/config --enable CONFIG_EROFS_FS_SECURITY + ./scripts/config --enable CONFIG_SECURITYFS + ./scripts/config --enable CONFIG_KEYS_REQUEST_CACHE + ./scripts/config --enable CONFIG_IMA_READ_POLICY + ./scripts/config --enable CONFIG_CRYPTO_ECDH + ./scripts/config --enable CONFIG_CRYPTO_ECRDSA + ./scripts/config --enable CONFIG_CRYPTO_SM2 + ./scripts/config --enable CONFIG_CRYPTO_CURVE25519 + ./scripts/config --enable CONFIG_CRYPTO_AES_TI + ./scripts/config --enable CONFIG_CRYPTO_ARIA + ./scripts/config --enable CONFIG_CRYPTO_BLOWFISH + ./scripts/config --enable CONFIG_CRYPTO_CAMELLIA + ./scripts/config --enable CONFIG_CRYPTO_CAST5 + ./scripts/config --enable CONFIG_CRYPTO_CAST6 + ./scripts/config --enable CONFIG_CRYPTO_DES + ./scripts/config --enable CONFIG_CRYPTO_FCRYPT + ./scripts/config --enable CONFIG_CRYPTO_SERPENT + ./scripts/config --enable CONFIG_CRYPTO_SM4_GENERIC + ./scripts/config --enable CONFIG_CRYPTO_TWOFISH + ./scripts/config --enable CONFIG_CRYPTO_ADIANTUM + ./scripts/config --enable CONFIG_CRYPTO_CHACHA20 + ./scripts/config --enable CONFIG_CRYPTO_CFB + ./scripts/config --enable CONFIG_CRYPTO_CTS + ./scripts/config --enable CONFIG_CRYPTO_HCTR2 + ./scripts/config --enable CONFIG_CRYPTO_KEYWRAP + ./scripts/config --enable CONFIG_CRYPTO_LRW + ./scripts/config --enable CONFIG_CRYPTO_OFB + ./scripts/config --enable CONFIG_CRYPTO_PCBC + ./scripts/config --enable CONFIG_CRYPTO_XTS + ./scripts/config --enable CONFIG_CRYPTO_AEGIS128 + ./scripts/config --enable CONFIG_CRYPTO_CHACHA20POLY1305 + ./scripts/config --enable CONFIG_CRYPTO_ESSIV + ./scripts/config --enable CONFIG_CRYPTO_BLAKE2B + ./scripts/config --enable CONFIG_CRYPTO_MD4 + ./scripts/config --enable CONFIG_CRYPTO_MICHAEL_MIC + ./scripts/config --enable CONFIG_CRYPTO_POLY1305 + ./scripts/config --enable CONFIG_CRYPTO_RMD160 + ./scripts/config --enable CONFIG_CRYPTO_SM3_GENERIC + ./scripts/config --enable CONFIG_CRYPTO_STREEBOG + ./scripts/config --enable CONFIG_CRYPTO_VMAC + ./scripts/config --enable CONFIG_CRYPTO_WP512 + ./scripts/config --enable CONFIG_CRYPTO_XCBC + ./scripts/config --enable CONFIG_CRYPTO_XXHASH + ./scripts/config --enable CONFIG_CRYPTO_CRC32 + ./scripts/config --enable CONFIG_CRYPTO_LZ4HC + ./scripts/config --enable CONFIG_CRYPTO_ANSI_CPRNG + ./scripts/config --enable CONFIG_CRYPTO_USER_API_HASH + ./scripts/config --enable CONFIG_CRYPTO_USER_API_SKCIPHER + ./scripts/config --enable CONFIG_CRYPTO_USER_API_RNG + ./scripts/config --enable CONFIG_CRYPTO_USER_API_AEAD + ./scripts/config --enable CONFIG_CRYPTO_AES_NI_INTEL + ./scripts/config --enable CONFIG_CRYPTO_SHA1_SSSE3 + ./scripts/config --enable CONFIG_CRYPTO_SHA256_SSSE3 + ./scripts/config --enable CONFIG_CRYPTO_SHA512_SSSE3 + ./scripts/config --enable CONFIG_CRYPTO_CRC32C_INTEL + ./scripts/config --enable CONFIG_CRYPTO_CRC32_PCLMUL + ./scripts/config --enable CONFIG_CRYPTO_LIB_CHACHA + ./scripts/config --enable CONFIG_CRYPTO_LIB_CURVE25519 + ./scripts/config --enable CONFIG_CRYPTO_LIB_POLY1305 + ./scripts/config --enable CRYPTO_LIB_CHACHA20POLY1305 + ./scripts/config --enable CONFIG_CRC4 + ./scripts/config --enable CONFIG_NO_HZ_IDLE + ./scripts/config --enable CONFIG_PSI + ./scripts/config --enable CONFIG_PARAVIRT_SPINLOCKS + ./scripts/config --enable CONFIG_PERF_EVENTS_INTEL_UNCORE + ./scripts/config --enable CONFIG_PERF_EVENTS_INTEL_RAPL + ./scripts/config --enable CONFIG_PERF_EVENTS_INTEL_CSTATE + ./scripts/config --enable CONFIG_X86_CPA_STATISTICS + ./scripts/config --enable CONFIG_X86_USER_SHADOW_STACK + ./scripts/config --enable CONFIG_LEGACY_VSYSCALL_XONLY + ./scripts/config --enable CONFIG_ACPI_FPDT + ./scripts/config --enable CONFIG_ACPI_BGRT + ./scripts/config --enable CONFIG_ACPI_NFIT + ./scripts/config --enable CONFIG_ACPI_DPTF + ./scripts/config --enable CONFIG_ACPI_FFH + ./scripts/config --enable CONFIG_ACPI_PFRUT + ./scripts/config --enable CONFIG_DEVTMPFS_MOUNT + ./scripts/config --enable CONFIG_FW_LOADER_COMPRESS_ZSTD + ./scripts/config --enable CONFIG_FW_CFG_SYSFS + ./scripts/config --enable CONFIG_EFI_COCO_SECRET + ./scripts/config --enable CONFIG_VIRTIO_NET + ./scripts/config --enable CONFIG_MEDIA_PLATFORM_SUPPORT + ./scripts/config --enable CONFIG_FB_VESA + ./scripts/config --enable CONFIG_FB_NVIDIA + ./scripts/config --enable CONFIG_FB_RIVA + ./scripts/config --enable CONFIG_FB_SIMPLE + ./scripts/config --enable CONFIG_DMADEVICES + ./scripts/config --enable CONFIG_INTEL_IDMA64 + ./scripts/config --enable CONFIG_INTEL_IDXD + ./scripts/config --enable CONFIG_INTEL_IOATDMA + ./scripts/config --enable CONFIG_VFIO_PCI_VGA + ./scripts/config --enable CONFIG_NFS_FS + ./scripts/config --enable CONFIG_GENERIC_CPU4 } doDefaultsTesting() { doEchoStep "Options: testings activated..." @@ -831,7 +988,7 @@ doDefaults() { cd $WORKDIR doEchoStep "Apply 'uarches' patch" - patch -p1 < ../../../more-uarches-for-kernel.patch + patch -p1 <../../../more-uarches-for-kernel.patch doEchoStep "Define options" ./scripts/config --set-str CONFIG_LOCALVERSION '-zogg' @@ -851,8 +1008,11 @@ doEditSettings() { cd $WORKDIR doEchoStep "Settings tuning !" - # make -j$(nproc) CC="ccache gcc" menuconfig - make -j$(nproc) LLVM=1 CC="ccache clang" menuconfig + if [ "$CLANG" == "1" ]; then + make -j$(nproc) LLVM=1 CC="ccache clang" menuconfig + else + make -j$(nproc) CC="ccache gcc" menuconfig + fi result=$? if [ ! result==0 ]; then echo ">>> Error in settings edit !" @@ -869,7 +1029,7 @@ doGenerateUninstall() { mkdir -p $READY rm -rf $READY/*.* - if ls $WORKDIR/../*.deb 1> /dev/null 2>&1; then + if ls $WORKDIR/../*.deb 1>/dev/null 2>&1; then # find .deb packages and generate # uninstall commands @@ -877,21 +1037,20 @@ doGenerateUninstall() { PACKAGES= TAG="_$VERSION-1_amd64.deb" search_dir=$WORKDIR/../ - for entry in "$search_dir"/*.deb - do + for entry in "$search_dir"/*.deb; do name="${entry##*/}" pname=${name//$TAG/} if [ ! "$pname" == "linux-libc-dev" ]; then PACKAGES="$PACKAGES $pname" fi - echo "$name" >> $READY/packages.log + echo "$name" >>$READY/packages.log done # move files to destination folder - mv -f $WORKDIR/../*.deb $READY/ + mv -f $WORKDIR/../*.deb $READY/ # prepare uninstall script - cat < $READY/uninstall.sh + cat <$READY/uninstall.sh #!/bin/bash # ${UPDATED} apt remove --purge ${PACKAGES} @@ -900,10 +1059,10 @@ exit 0 EOF # generate install script - cat < $READY/install.sh + cat <$READY/install.sh #!/bin/bash # ${UPDATED} -echo 'blacklist pcspkr' > /etc/modprobe.d/blacklist-pcspkr.conf +echo 'blacklist pcspkr' > /etc/modprobe.d/pcspkr.conf sudo dpkg -i *.deb sudo sync exit 0 @@ -943,7 +1102,7 @@ doCompile() { doEchoStep "Compilation time... Be patient!" NB_CORES=$(grep -c '^processor' /proc/cpuinfo) - export MAKEFLAGS="-j$((NB_CORES+1)) -l${NB_CORES} -Werror=maybe-uninitialized -Werror=nonnull -Wno-maybe-uninitialized -Wno-uninitialized -Wno-free-nonheap-object -Wno-nonnull" + export MAKEFLAGS="-j$((NB_CORES + 1)) -l${NB_CORES} -Werror=maybe-uninitialized -Werror=nonnull -Wno-maybe-uninitialized -Wno-uninitialized -Wno-free-nonheap-object -Wno-nonnull" export CFLAGS='-march=x86-64-v4 -O2 -flto -pipe' export CXXFLAGS='-march=x86-64-v4 -O2 -flto -pipe' export KCFLAGS=' -march=x86-64-v4 -O2' @@ -952,19 +1111,22 @@ doCompile() { set DEB_BUILD_OPTIONS=nocheck doEchoStep "make bindeb-pkg" - # make \ - # -j$(nproc) \ - # CC='ccache gcc' \ - # bindeb-pkg \ - # LOCALVERSION=-"$(dpkg --print-architecture)" \ - # KDEB_PKGVERSION="$(make kernelversion)-1" - make \ - -j$(nproc) \ - LLVM=1 \ - CC='ccache clang' \ - bindeb-pkg \ - LOCALVERSION=-"$(dpkg --print-architecture)" \ - KDEB_PKGVERSION="$(make kernelversion)-1" + if [ "$CLANG" == "1" ]; then + make \ + -j$(nproc) \ + LLVM=1 \ + CC='ccache clang' \ + bindeb-pkg \ + LOCALVERSION=-"$(dpkg --print-architecture)" \ + KDEB_PKGVERSION="$(make kernelversion)-1" + else + make \ + -j$(nproc) \ + CC='ccache gcc' \ + bindeb-pkg \ + LOCALVERSION=-"$(dpkg --print-architecture)" \ + KDEB_PKGVERSION="$(make kernelversion)-1" + fi result=$? doEchoStep "make bindeb-pkg: $result" @@ -987,25 +1149,28 @@ doKernel() { touch $LOGFILE if [ "$STEPS" != "compile" ]; then - doDownload > >(tee -a $LOGFILE) 2>&1 - doUncompress > >(tee -a $LOGFILE) 2>&1 + doDownload > >(tee -a $LOGFILE) 2>&1 + doUncompress > >(tee -a $LOGFILE) 2>&1 fi WORKDIR=$WORKDIR/linux-$VERSION - doCleanup > >(tee -a $LOGFILE) 2>&1 - doConfigCloud > >(tee -a $LOGFILE) 2>&1 - doOldOne > >(tee -a $LOGFILE) 2>&1 + doCleanup > >(tee -a $LOGFILE) 2>&1 + doConfigCloud > >(tee -a $LOGFILE) 2>&1 + doOldOne > >(tee -a $LOGFILE) 2>&1 # doAllMods > >(tee -a $LOGFILE) 2>&1 # doStripDebug > >(tee -a $LOGFILE) 2>&1 - doDefaults > >(tee -a $LOGFILE) 2>&1 - doPermissions > >(tee -a $LOGFILE) 2>&1 + doDefaults > >(tee -a $LOGFILE) 2>&1 + doPermissions > >(tee -a $LOGFILE) 2>&1 doEditSettings while true; do read -p "Do you wish to run compile? " yn case $yn in - [Yy]* ) doCompile > >(tee -a $LOGFILE) 2>&1; break;; - [Nn]* ) exit;; - * ) echo "Please answer yes or no.";; + [Yy]*) + doCompile > >(tee -a $LOGFILE) 2>&1 + break + ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; esac done } @@ -1020,4 +1185,4 @@ else doKernel fi -exit 0 \ No newline at end of file +exit 0