Jump to content

加藤惠的老公

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by 加藤惠的老公

  1. @Werner

     

    I re-checked all my patches and custom configurations and performed a clean rebuild. I found clear evidence in the logs that `CONFIG_ARM64_VA_BITS` is being explicitly overwritten during the build process:

     

    ### kernel_config_initialize.log 
    --> (9) INFO: Configuring kernel [ linux-rk35xx-vendor ]
    --> (9) INFO: Using kernel config provided by user [ userpatches/linux-rk35xx-vendor.config ]
    --> (9) COMMAND: cp -pv /armbian/userpatches/linux-rk35xx-vendor.config /armbian/cache/sources/linux-kernel-worktree/6.1__rk35xx__arm64/.config
       '/armbian/userpatches/linux-rk35xx-vendor.config' -> '/armbian/cache/sources/linux-kernel-worktree/6.1__rk35xx__arm64/.config'
    --> (9) INFO: Considering available RAM for BTF build [ 13082 MiB ]
    --> (9) INFO: Enabling eBPF and BTF info [ for fully BTF & CO-RE enabled kernel ]
    --> (9) COMMAND: ./scripts/config --disable SECURITY_LOCKDOWN_LSM
    ...
    --> (10) COMMAND: ./scripts/config --enable ARM64_VA_BITS_48
    ...
    --> (12) COMMAND: ./scripts/config --set-val ARM64_PA_BITS 48
    --> (12) COMMAND: env -i CCACHE_BASEDIR="/armbian/cache/sources/linux-kernel-worktree/6.1__rk35xx__arm64" CCACHE_TEMPDIR="/armbian/.tmp/work-907ace63-1eb7-43dc-ac17-503d457007a8/ccache_tmp" PATH="/usr/bin:/armbian/cache/pip/base/bin:/armbian/.tmp/work-907ace63-1eb7-43dc-ac17-503d457007a8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PYTHONPATH="/armbian/cache/pip/base/lib/python3.12/site-packages:" DPKG_COLORS=always XZ_OPT='--threads=0' TERM='xterm-256color' COLUMNS='248' COLORFGBG='' CCACHE_DIR='/armbian/cache/ccache' make '-j6' 'ARCH=arm64' 'LOCALVERSION=-vendor-rk35xx' 'CROSS_COMPILE=  aarch64-linux-gnu-' 'KCFLAGS=-fdiagnostics-color=always -Wno-error=misleading-indentation  ' 'SOURCE_DATE_EPOCH=1768563629' 'KBUILD_BUILD_TIMESTAMP=Fri Jan 16 11:40:29 UTC 2026' 'KBUILD_BUILD_USER=build' 'KBUILD_BUILD_HOST=armbian' 'KGZIP=pigz' 'KBZIP2=pbzip2' olddefconfig
         HOSTCC  scripts/basic/fixdep
         LEX     scripts/kconfig/lexer.lex.c
         YACC    scripts/kconfig/parser.tab.[ch]
         HOSTCC  scripts/kconfig/lexer.lex.o
         HOSTCC  scripts/kconfig/parser.tab.o
         HOSTLD  scripts/kconfig/conf
       .config:2755:warning: override: reassigning to symbol ARM64_VA_BITS_39
       .config:2789:warning: override: ARM64_VA_BITS_48 changes choice state
       #
       # configuration written to .config
       #
    --> (14) INFO: Kernel configuration [ linux-rk35xx-vendor ]

     

    I traced this behavior to the following function in `lib/functions/compilation/armbian-kernel.sh`:
     

    function armbian_kernel_config__force_pa_va_48_bits_on_arm64() {
    
        if [[ "${ARCH}" == "arm64" ]]; then
    
            opts_y+=("ARM64_VA_BITS_48")
    
            opts_val["ARM64_PA_BITS"]="48"
    
        fi
    
    }

     

    I manually modified this function (changing `48` to `39`), and the resulting kernel deb finally compiled with `CONFIG_ARM64_VA_BITS=39` successfully.

     

    Obviously, modifying the build framework source is not the proper solution.

     

    Is this enforcement intended for all arm64 builds? Is there a standard way to bypass this function?

  2. Description:

    Hello everyone, I am encountering an issue where kernel configuration changes do not take effect when building an image for the Rock 5B using the Armbian Build system.

     

    Environment:

    Board: Rock 5B

    Kernel: Vendor

    Release: Noble

    Build Mode: Mini

    Build Tag/Branch: v25.11

     

    Specific Issue:

    To ensure compatibility with Redroid containers, I need to change the kernel's CONFIG_ARM64_VA_BITS from the default 48-bit to 39-bit.

     

    What I have tried:

    I have attempted the following three methods, but none have worked:

    Ran the kernel configuration tool to change CONFIG_ARM64_VA_BITS, then copied the generated .config to userpatches/linux-rk35xx-vendor.config.

    Took the default config/kernel/linux-rk35xx-vendor.config, manually modified/added CONFIG_ARM64_VA_BITS=39 and CONFIG_ARM64_VA_BITS_39=y, and copied it to userpatches/linux-rk35xx-vendor.config.

    Created a kernel source patch in userpatches targeting arch/arm64/configs/rockchip_linux_defconfig and arch/arm64/configs/defconfig to force CONFIG_ARM64_VA_BITS=39 and CONFIG_ARM64_VA_BITS_39=y.

     

    Result:

    Regardless of the method used, the final Armbian-generated kernel remains at VA_BITS=48. It seems my configuration changes are being overwritten or ignored during the build process.

     

    Request:

    Is there specific logic in the Vendor/RK3588 build configuration that forcibly locks VA_BITS? What is the correct way to modify this parameter for this specific board/kernel combination?

    Thanks for your help!

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines