Compile kernel using LLVM and enable rust support

This commit is contained in:
2025-08-22 20:59:58 +03:00
parent ff8a13b4e8
commit 5bf89601c1
3 changed files with 39 additions and 29 deletions
+2 -1
View File
@@ -1,8 +1,9 @@
name: linux-stable name: linux-stable
description: The stable version of the linux kernel description: The stable version of the linux kernel
version: 6.16.2 version: 6.16.2
revision: 2
url: https://www.kernel.org/ url: https://www.kernel.org/
license: GPL2-only license: GPL2-only
architecture: any architecture: any
make_depends: ["bash","bc","binutils","coreutils","diffutils","findutils","gcc","glibc","grep","gzip","kmod","libelf","make","ncurses","openssl","perl","sed"] make_depends: ["bc","clang","cpio","gettext","libelf","lld","perl","rustc","rust-bindgen","rust-src"]
type: source type: source
+34 -25
View File
@@ -2,16 +2,17 @@
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/x86 6.12.43 Kernel Configuration # Linux/x86 6.12.43 Kernel Configuration
# #
CONFIG_CC_VERSION_TEXT="gcc (GCC) 15.1.0" CONFIG_CC_VERSION_TEXT="clang version 20.1.7"
CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=0
CONFIG_GCC_VERSION=150100 CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=0 CONFIG_CLANG_VERSION=200107
CONFIG_AS_IS_GNU=y CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=24500 CONFIG_AS_VERSION=200107
CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=0
CONFIG_LD_VERSION=24500 CONFIG_LD_IS_LLD=y
CONFIG_LLD_VERSION=0 CONFIG_LLD_VERSION=200107
CONFIG_RUSTC_VERSION=108800 CONFIG_RUSTC_VERSION=108900
CONFIG_RUST_IS_AVAILABLE=y
CONFIG_RUSTC_LLVM_VERSION=200107 CONFIG_RUSTC_LLVM_VERSION=200107
CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_CAN_LINK_STATIC=y
@@ -21,7 +22,6 @@ 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_CC_HAS_COUNTED_BY=y CONFIG_CC_HAS_COUNTED_BY=y
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
CONFIG_PAHOLE_VERSION=0 CONFIG_PAHOLE_VERSION=0
CONFIG_IRQ_WORK=y CONFIG_IRQ_WORK=y
@@ -183,11 +183,9 @@ CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_ARCH_SUPPORTS_INT128=y
# CONFIG_NUMA_BALANCING is not set # CONFIG_NUMA_BALANCING is not set
CONFIG_SLAB_OBJ_EXT=y CONFIG_SLAB_OBJ_EXT=y
@@ -289,6 +287,9 @@ CONFIG_PERF_EVENTS=y
CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y CONFIG_PROFILING=y
CONFIG_RUST=y
CONFIG_RUSTC_VERSION_TEXT="rustc 1.89.0 (29483883e 2025-08-04) (for Tide Linux)"
CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.71.1"
CONFIG_TRACEPOINTS=y CONFIG_TRACEPOINTS=y
# #
@@ -502,9 +503,7 @@ CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_HAVE_LIVEPATCH=y CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features # end of Processor type and features
CONFIG_CC_HAS_NAMED_AS=y
CONFIG_CC_HAS_NAMED_AS_FIXED_SANITIZERS=y CONFIG_CC_HAS_NAMED_AS_FIXED_SANITIZERS=y
CONFIG_USE_X86_SEG_SUPPORT=y
CONFIG_CC_HAS_SLS=y CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y CONFIG_CC_HAS_ENTRY_PADDING=y
@@ -688,7 +687,6 @@ CONFIG_AMD_NB=y
# #
CONFIG_IA32_EMULATION=y CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set # CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
# CONFIG_X86_X32_ABI is not set
CONFIG_COMPAT_32=y CONFIG_COMPAT_32=y
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
@@ -815,8 +813,14 @@ CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_HAS_LTO_CLANG=y
CONFIG_LTO_NONE=y CONFIG_LTO_NONE=y
# CONFIG_LTO_CLANG_FULL is not set
# CONFIG_LTO_CLANG_THIN is not set
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
# CONFIG_CFI_CLANG is not set
CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG=y
CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
@@ -893,12 +897,9 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling # end of GCOV-based kernel profiling
CONFIG_HAVE_GCC_PLUGINS=y CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
CONFIG_FUNCTION_ALIGNMENT_4B=y CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16 CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options # end of General architecture-dependent options
@@ -1864,6 +1865,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# Firmware loader # Firmware loader
# #
CONFIG_FW_LOADER=y CONFIG_FW_LOADER=y
# CONFIG_RUST_FW_LOADER_ABSTRACTIONS is not set
CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_EXTRA_FIRMWARE="" CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set # CONFIG_FW_LOADER_USER_HELPER is not set
@@ -2007,6 +2009,7 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set # CONFIG_ATA_OVER_ETH is not set
CONFIG_VIRTIO_BLK=y CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RUST_NULL is not set
# CONFIG_BLK_DEV_RBD is not set # CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set # CONFIG_BLK_DEV_UBLK is not set
@@ -2586,6 +2589,7 @@ CONFIG_PHYLIB=y
CONFIG_SWPHY=y CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set # CONFIG_LED_TRIGGER_PHY is not set
CONFIG_FIXED_PHY=y CONFIG_FIXED_PHY=y
# CONFIG_RUST_PHYLIB_ABSTRACTIONS is not set
# CONFIG_SFP is not set # CONFIG_SFP is not set
# #
@@ -4014,7 +4018,10 @@ CONFIG_DRM_PANIC=y
CONFIG_DRM_PANIC_FOREGROUND_COLOR=0xffffff CONFIG_DRM_PANIC_FOREGROUND_COLOR=0xffffff
CONFIG_DRM_PANIC_BACKGROUND_COLOR=0x000000 CONFIG_DRM_PANIC_BACKGROUND_COLOR=0x000000
# CONFIG_DRM_PANIC_DEBUG is not set # CONFIG_DRM_PANIC_DEBUG is not set
CONFIG_DRM_PANIC_SCREEN="kmsg" CONFIG_DRM_PANIC_SCREEN="qr_code"
CONFIG_DRM_PANIC_SCREEN_QR_CODE=y
CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL=""
CONFIG_DRM_PANIC_SCREEN_QR_VERSION=40
CONFIG_DRM_CLIENT_SELECTION=y CONFIG_DRM_CLIENT_SELECTION=y
CONFIG_DRM_CLIENT_SETUP=y CONFIG_DRM_CLIENT_SETUP=y
CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_EMULATION=y
@@ -5989,7 +5996,6 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
# CONFIG_INIT_STACK_NONE is not set # CONFIG_INIT_STACK_NONE is not set
# CONFIG_INIT_STACK_ALL_PATTERN is not set # CONFIG_INIT_STACK_ALL_PATTERN is not set
CONFIG_INIT_STACK_ALL_ZERO=y CONFIG_INIT_STACK_ALL_ZERO=y
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
@@ -6003,9 +6009,9 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set
# end of Hardening of kernel data structures # end of Hardening of kernel data structures
CONFIG_CC_HAS_RANDSTRUCT=y
CONFIG_RANDSTRUCT_NONE=y CONFIG_RANDSTRUCT_NONE=y
# CONFIG_RANDSTRUCT_FULL is not set # CONFIG_RANDSTRUCT_FULL is not set
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
# end of Kernel hardening options # end of Kernel hardening options
# end of Security options # end of Security options
@@ -6436,9 +6442,7 @@ CONFIG_DEBUG_INFO_NONE=y
# CONFIG_DEBUG_INFO_DWARF5 is not set # CONFIG_DEBUG_INFO_DWARF5 is not set
CONFIG_FRAME_WARN=2048 CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set # CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_OBJTOOL=y CONFIG_OBJTOOL=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -6515,6 +6519,8 @@ CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_HAVE_ARCH_KFENCE=y CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set # CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# CONFIG_KMSAN is not set
# end of Memory Debugging # end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set # CONFIG_DEBUG_SHIRQ is not set
@@ -6748,5 +6754,8 @@ CONFIG_ARCH_USE_MEMTEST=y
# #
# Rust hacking # Rust hacking
# #
# CONFIG_RUST_DEBUG_ASSERTIONS is not set
CONFIG_RUST_OVERFLOW_CHECKS=y
# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
# end of Rust hacking # end of Rust hacking
# end of Kernel hacking # end of Kernel hacking
+3 -3
View File
@@ -18,9 +18,9 @@ prepare() {
# The build function is executed in the source directory # The build function is executed in the source directory
# This function is used to compile the source code # This function is used to compile the source code
build() { build() {
make olddefconfig make LLVM=1 olddefconfig
make make LLVM=1
make headers make LLVM=1 headers
} }
# The package function is executed in the source directory # The package function is executed in the source directory