Skip to content

Conversation

@iav
Copy link
Contributor

@iav iav commented Jan 22, 2026

Add a new extension hook point in run_kernel_make_internal() that allows extensions to modify kernel make parameters before compilation.

Extensions can now modify:

  • common_make_params_quoted - parameters passed to make
  • common_make_envs - environment variables for make

This enables features like CROSS_COMPILE_COMPAT for 32-bit compat vDSO on arm64 builds without modifying core build scripts.

#9216

How Has This Been Tested?

  • Build with extension=arm64-compat-vdso
  • Build with extension=arm64-compat-vdso KERNEL_COMPILER=clang
    Because of compilation error if clang used

Checklist:

Please delete options that are not relevant.

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

  • New Features
    • Added support for extending and customizing kernel build parameters and environment variables through a new extension hook, enabling greater flexibility in the kernel build process.

✏️ Tip: You can customize this high-level summary in your review settings.

Add a new extension hook point in run_kernel_make_internal() that allows
extensions to modify kernel make parameters before compilation.

Extensions can now modify:
- common_make_params_quoted - parameters passed to make
- common_make_envs - environment variables for make

This enables features like CROSS_COMPILE_COMPAT for 32-bit compat vDSO
on arm64 builds without modifying core build scripts.

Refs: armbian#9216

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@iav iav requested a review from a team as a code owner January 22, 2026 21:07
@github-actions github-actions bot added 02 Milestone: First quarter release size/small PR with less then 50 lines labels Jan 22, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

A kernel build script is enhanced with an extension hook mechanism that allows external extensions to customize kernel make parameters and environment variables before compilation begins, providing flexibility without modifying core build logic.

Changes

Cohort / File(s) Change Summary
Kernel Make Extension Hook
lib/functions/compilation/kernel-make.sh
Introduces call_extension_method "custom_kernel_make_params" hook after default parameters are assembled, allowing extensions to mutate common_make_params_quoted and common_make_envs before kernel compilation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A hook in the kernel, so clever and bright,
Extensions can dance in the build's morning light,
Parameters tweak'd with a custom flair,
Before make invokes with the utmost care! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a custom_kernel_make_params extension hook to the framework, which directly aligns with the PR's objective and the file modification summary.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added Needs review Seeking for review Framework Framework components labels Jan 22, 2026
@iav iav marked this pull request as draft January 22, 2026 21:08
Add extension that enables 32-bit compat vDSO for arm64 kernels.

Without vDSO, 32-bit applications using gettimeofday() syscall heavily
suffer significant performance penalty on arm64 systems.

The extension:
- Adds gcc-arm-linux-gnueabi as build dependency
- Sets CROSS_COMPILE_COMPAT for kernel make
- Enables CONFIG_COMPAT_VDSO in kernel config

Enable with: ENABLE_EXTENSIONS=arm64-compat-vdso

Refs: armbian#9216

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added size/medium PR with more then 50 and less then 250 lines and removed size/small PR with less then 50 lines labels Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First quarter release Framework Framework components Needs review Seeking for review size/medium PR with more then 50 and less then 250 lines

Development

Successfully merging this pull request may close these issues.

1 participant