Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: linux-kdevops/kdevops
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: linux-kdevops/kdevops
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b4/kernel-fragment-support
Choose a head ref
  • 5 commits
  • 56 files changed
  • 1 contributor

Commits on Sep 19, 2025

  1. workflows: bootlinux: enhance kernel configuration fragment support

    This patch series enhances the previously introduced kernel
    configuration fragment support with: ccache support to speed up builds,
    reproducile kernel builds, and broader architecture support (ARM64 and
    x86_64) for these features.
    
    # Describe the purpose of this series. The information you put here
    # will be used by the project maintainer to make a decision whether
    # your patches should be reviewed, and in what priority order. Please be
    # very detailed and link to any relevant discussions or sites that the
    # maintainer can review to better understand your proposed changes. If you
    # only have a single patch in your series, the contents of the cover
    # letter will be appended to the "under-the-cut" portion of the patch.
    
    # Lines starting with # will be removed from the cover letter. You can
    # use them to add notes or reminders to yourself. If you want to use
    # markdown headers in your cover letter, start the line with ">#".
    
    # You can add trailers to the cover letter. Any email addresses found in
    # these trailers will be added to the addresses specified/generated
    # during the b4 send stage. You can also run "b4 prep --auto-to-cc" to
    # auto-populate the To: and Cc: trailers based on the code being
    # modified.
    
    To: Luis Chamberlain <[email protected]>
    To: Chuck Lever <[email protected]>
    Cc: [email protected]
    Signed-off-by: Daniel Gomez <[email protected]>
    
    ---
    Changes in v2:
    - Reproducible builds support: Deterministic kernel builds via
    standardized environment variables (KBUILD_BUILD_*), compatible with
    both GCC and Clang toolchains
    
    - ccache integration: Compiler cache support with both system-wide and
    kdevops-managed configurations, automatic package installation across
    all supported distributions
    
    - Enhanced fragment system: Extended architecture support from
    ARM64-only to include x86_64
    
    - Clean build options: Move the mrproper execution task to a configurable option
    available for both fragment and monolithic configurations, enabling
    deterministic builds when needed while preserving incremental build
    performance by default
    
    - Link to v1: https://lore.kernel.org/r/[email protected]
    
    --- b4-submit-tracking ---
    # This section is used internally by b4 prep for tracking purposes.
    {
      "series": {
        "revision": 2,
        "change-id": "20250916-kernel-fragment-support-1207a7352473",
        "prefixes": [],
        "prerequisites": [
          "base-commit: 7d094b5",
          "change-id: 20250916-sysbench-ab-dut-d29b07bb37b5:v1"
        ],
        "history": {
          "v1": [
            "[email protected]"
          ]
        }
      }
    }
    dkruces committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    c8ceffd View commit details
    Browse the repository at this point in the history
  2. workflows: bootlinux: add reproducible builds support

    Restructure bootlinux build parameters to use modular dictionary
    approach for make module parameters and environment variables. This
    prepares the codebase for extensible build features like ccache and
    reproducible builds.
    
    Add CONFIG_BOOTLINUX_REPRODUCIBLE_BUILDS option to enable deterministic
    kernel builds by setting hardcoded environment variables. When enabled,
    injects KBUILD_BUILD_TIMESTAMP='', KBUILD_BUILD_USER=kdevops, and
    KBUILD_BUILD_HOST=kdevops during compilation.
    
    Uses empty timestamp as recommended by LLVM documentation for optimal
    compatibility with ccache and build reproducibility across different
    development environments.
    
    Features:
    - Configurable via Kconfig with clear documentation
    - Integrates with modular environment/params infrastructure
    - Applied to both make module parameters and shell task environments
    - Compatible with both GCC and Clang toolchains
    
    Generated-by: Claude AI
    Signed-off-by: Daniel Gomez <[email protected]>
    dkruces committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    22ca212 View commit details
    Browse the repository at this point in the history
  3. workflows: bootlinux: add comprehensive ccache support

    Add ccache (compiler cache) support to accelerate kernel builds with
    both GCC and Clang toolchains. Implementation provides flexible
    configuration options while maintaining simplicity for common use cases.
    
    Key features:
    - System-wide ccache configuration (default) for immediate use
    - kdevops-managed configuration for project isolation
    - Automatic package installation across all supported distros
    - Modular environment variable composition for clean integration
    - LLVM documentation compliance (CC="ccache clang")
    - Seamless integration with reproducible builds and existing features
    
    Configuration:
    - Cache size specified in GiB (digits only, e.g., 10 = 10 GiB)
    - Uses automatic Kconfig→Ansible integration via .extra_vars_auto.yaml
    - Template-based configuration management with TOPDIR_PATH isolation
    - Organized in dedicated ccache submenu for clean UI
    
    Technical implementation:
    - Uses modular bootlinux_make_params for community.general.make module
    - Uses modular bootlinux_build_environment for shell tasks
    - Automatic compiler detection (ccache gcc vs ccache clang)
    - Enhanced debug output for build command validation
    
    Generated-by: Claude AI
    Signed-off-by: Daniel Gomez <[email protected]>
    dkruces committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    47fa71b View commit details
    Browse the repository at this point in the history
  4. workflows: bootlinux: add kernel configuration fragments support

    Add comprehensive kernel configuration fragment system that enables
    building kernels using merge_config.sh with focused configuration
    fragments instead of monolithic config files.
    
    Key features:
    - Modular Kconfig organization split into logical categories
    - Support for both x86_64 and ARM64 architectures
    - Architecture-specific fragment visibility (ARM64 page sizes)
    - Module dependency management for advanced features
    - New fragments for extended modversions, kmemleak, and module testing
    
    Fragment categories:
    - Essential: Core system requirements (64bit, systemd, distro, storage)
    - Security: Hardening and security features
    - Architecture: Platform-specific optimizations
    - Development: Debugging and diagnostic tools
    - Memory: NUMA and memory management features
    - Modules: Kernel module system configuration
    - Advanced: eBPF, XArray, and specialized features
    - Container: Virtualization and container support
    - Specialized: Minimal kernels, power management, Rust support
    - Legacy: Compatibility and legacy feature support
    
    Technical implementation:
    - Uses merge_config.sh for robust fragment composition
    - Complete integration with kdevops build workflow
    - Supports both 9P and target build modes
    - Pre-built configurations for common setups
    - Template-based fragment management
    
    Configuration fragments origin:
    https://github.com/dkruces/linux-config-fragments
    
    Generated-by: Claude AI
    Signed-off-by: Daniel Gomez <[email protected]>
    Reviewed-by: Luis Chamberlain <[email protected]>
    dkruces committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    1ba6341 View commit details
    Browse the repository at this point in the history
  5. workflows: bootlinux: add clean builds configuration option

    Add CONFIG_BOOTLINUX_CLEAN_BEFORE_BUILD option to enable clean builds
    for both fragment and monolithic configurations via configurable
    mrproper execution.
    
    Changes:
    - Add CONFIG_BOOTLINUX_CLEAN_BEFORE_BUILD Kconfig option (default: n)
    - Add global mrproper task in config.yml for non-9P builds
    - Add mrproper task in 9P build workflow for localhost builds
    - Conditional execution based on bootlinux_clean_before_build variable
    
    This provides deterministic builds when needed while preserving
    incremental build performance by default. The mrproper task runs
    before configuration to ensure pristine source state.
    
    Features:
    - Works with both monolithic and fragment configurations
    - Separate handling for 9P vs target builds
    - Clear documentation of trade-offs (clean vs incremental builds)
    - Maintains existing workflow compatibility
    
    Generated-by: Claude AI
    Signed-off-by: Daniel Gomez <[email protected]>
    dkruces committed Sep 19, 2025
    Configuration menu
    Copy the full SHA
    a8c2926 View commit details
    Browse the repository at this point in the history
Loading