Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux 6.12 patches #3767

Draft
wants to merge 11 commits into
base: dev
Choose a base branch
from
Draft

Conversation

nijave
Copy link

@nijave nijave commented Dec 28, 2024

6.6 was missing drivers for the Beelink EQ14 Intel N150

Not sure I got everything/applied patches correctly here

Requires home-assistant/buildroot#63

For package updates, I did not thoroughly review the changelogs or perform any package-specific testing. I only checked that the build completed successfully

Summary by CodeRabbit

Based on the comprehensive changes, here are the release notes:

  • Kernel Updates

    • Upgraded Linux kernel from version 6.6.66 to 6.12.6 across multiple platforms
    • Added support for additional ZRAM compression backends (LZO, LZ4, ZSTD)
  • Package Updates

    • Updated various kernel module packages
    • Modified driver compatibility for Linux 6.12 kernel
  • Configuration Changes

    • Updated kernel configuration files for multiple device configurations
    • Removed deprecated kernel function calls
    • Added new IPv6 reachability probing configuration option
  • Build System

    • Updated buildroot configurations for various hardware platforms
    • Modified ZRAM initialization script
    • Updated hash values for several packages to ensure integrity verification

TODO

- finish zram updates so only lz4 is compiled in
- finish upstream buildroot & home-assistant/buildroot changes

Copy link

coderabbitai bot commented Dec 28, 2024

📝 Walkthrough

Walkthrough

This pull request introduces a comprehensive update across multiple configuration files and system components, primarily focusing on upgrading the Linux kernel from version 6.6.66 to 6.12.6. The changes span various buildroot configurations for different hardware platforms, kernel patches, and system utilities. Key modifications include updating kernel configuration paths, removing deprecated kernel functions, and adding new kernel configuration options for ZRAM compression backends.

Changes

File/Path Change Summary
Dockerfile Added build tools: automake, texinfo, help2man
Documentation/kernel.md Updated kernel version to 6.12.6 for multiple boards
buildroot Updated subproject commit reference
buildroot-external/busybox.config Disabled CONFIG_TC (Traffic Control)
Multiple buildroot-external/configs/*_defconfig Updated Linux kernel version from 6.6.66 to 6.12.6
buildroot-external/kernel/v6.12.y/hassos.config Added ZRAM backend compression options for LZO, LZ4, and ZSTD
Various kernel patches Removed llseek functions, updated GPIO chip initialization methods
Package version updates Updated versions for generic_raw_uart, gasket, rtl88x2bu
buildroot-external/rootfs-overlay/usr/libexec/hassos-zram Removed -a lz4 option from zramctl command

Sequence Diagram

sequenceDiagram
    participant Build System
    participant Kernel Config
    participant Buildroot
    participant Package Manager

    Build System->>Kernel Config: Update kernel version to 6.12.6
    Kernel Config-->>Build System: Configuration updated
    Build System->>Buildroot: Update configuration files
    Buildroot-->>Build System: Configurations synchronized
    Build System->>Package Manager: Update package versions
    Package Manager-->>Build System: Packages updated
    Build System->>Kernel Config: Add ZRAM compression backends
    Kernel Config-->>Build System: Compression options configured
Loading

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 34c2748 and b294b4a.

📒 Files selected for processing (3)
  • buildroot-external/configs/generic_aarch64_defconfig (2 hunks)
  • buildroot-external/configs/generic_x86_64_defconfig (2 hunks)
  • buildroot-external/configs/ova_defconfig (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • buildroot-external/configs/generic_aarch64_defconfig
  • buildroot-external/configs/ova_defconfig
  • buildroot-external/configs/generic_x86_64_defconfig

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch (1)

Line range hint 1-9: Add a prompt or dependency check for backward compatibility.

While adding the IPV6_REACHABILITY_PROBE config option, consider clarifying in the Kconfig prompt whether enabling it requires any particular IPv6 stack feature or kernel version. This helps prevent confusion for users on older kernels or distributions that might not support the new option.

buildroot-external/rootfs-overlay/usr/libexec/hassos-zram (1)

60-60: Ensure compression algorithm is set if desired.

By default, zramctl might pick a default compression algorithm, which varies by distribution or kernel config. If you intended a specific algorithm like LZ4 or ZSTD, explicitly specify it. Otherwise, confirm the default suffices.

Dockerfile (1)

50-52: Assess necessity of new build tools.
Adding automake, texinfo, and help2man can increase the image size. Ensure these are essential for building kernel 6.12.6 or related tools. If they are only occasionally needed, consider installing them temporarily or using build caches to minimize the final image footprint.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 29c8cf8 and 34c2748.

📒 Files selected for processing (35)
  • Dockerfile (1 hunks)
  • Documentation/kernel.md (1 hunks)
  • buildroot (1 hunks)
  • buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch (0 hunks)
  • buildroot-external/busybox.config (1 hunks)
  • buildroot-external/configs/generic_aarch64_defconfig (1 hunks)
  • buildroot-external/configs/generic_x86_64_defconfig (1 hunks)
  • buildroot-external/configs/green_defconfig (1 hunks)
  • buildroot-external/configs/khadas_vim3_defconfig (1 hunks)
  • buildroot-external/configs/odroid_c2_defconfig (1 hunks)
  • buildroot-external/configs/odroid_c4_defconfig (1 hunks)
  • buildroot-external/configs/odroid_m1_defconfig (1 hunks)
  • buildroot-external/configs/odroid_m1s_defconfig (1 hunks)
  • buildroot-external/configs/odroid_n2_defconfig (1 hunks)
  • buildroot-external/configs/odroid_xu4_defconfig (1 hunks)
  • buildroot-external/configs/ova_defconfig (1 hunks)
  • buildroot-external/configs/rpi2_defconfig (1 hunks)
  • buildroot-external/configs/rpi3_64_defconfig (1 hunks)
  • buildroot-external/configs/rpi3_defconfig (1 hunks)
  • buildroot-external/configs/rpi4_64_defconfig (1 hunks)
  • buildroot-external/configs/rpi4_defconfig (1 hunks)
  • buildroot-external/configs/rpi5_64_defconfig (1 hunks)
  • buildroot-external/configs/tinker_defconfig (1 hunks)
  • buildroot-external/configs/yellow_defconfig (1 hunks)
  • buildroot-external/kernel/v6.12.y/hassos.config (1 hunks)
  • buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch (1 hunks)
  • buildroot-external/package/gasket/0001-linux-6.x.patch (1 hunks)
  • buildroot-external/package/gasket/gasket.mk (1 hunks)
  • buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch (1 hunks)
  • buildroot-external/package/generic_raw_uart/0003-Linux-6.12-gpio-data.patch (1 hunks)
  • buildroot-external/package/generic_raw_uart/generic_raw_uart.hash (1 hunks)
  • buildroot-external/package/generic_raw_uart/generic_raw_uart.mk (1 hunks)
  • buildroot-external/package/rtl88x2bu/rtl88x2bu.mk (1 hunks)
  • buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch (1 hunks)
  • buildroot-external/rootfs-overlay/usr/libexec/hassos-zram (1 hunks)
💤 Files with no reviewable changes (1)
  • buildroot-external/board/pc/patches/linux/0001-iwlwifi-Make-missed-beacon-timeout-configurable.patch
✅ Files skipped from review due to trivial changes (5)
  • buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch
  • buildroot
  • buildroot-external/package/rtl88x2bu/rtl88x2bu.mk
  • buildroot-external/package/gasket/gasket.mk
  • Documentation/kernel.md
🧰 Additional context used
📓 Path-based instructions (1)
buildroot-external/busybox.config (6)

Pattern */**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

Pattern */**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

Pattern */**(html|markdown|md): - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"


Pattern */**(html|markdown|md): - Use sentence-style capitalization also in headings.


Pattern */**(html|markdown|md): do not comment on HTML used for icons


Pattern */**(html|markdown|md): Avoid flagging inline HTML for embedding videos in future reviews for this repository.

🔇 Additional comments (35)
buildroot-external/package/generic_raw_uart/generic_raw_uart.hash (1)

3-3: Ensure the updated SHA256 hash matches the new tarball.

Please verify that the new tarball is correctly sourced and matches the updated hash in this file. A mismatch can break the build or introduce security risks.

As a follow-up, you can run this script to confirm that the computed checksum from the tarball matches the one specified:

buildroot-external/package/generic_raw_uart/generic_raw_uart.mk (1)

16-16: Double-check the updated version for new dependencies or backward incompatibilities.

Upgrading to commit 26b6aa161d69bd8dc6900f144b74b4ac884e9dab can introduce new features or require additional kernel configs. Verify that the rest of the system aligns with this new version and confirm no new configuration or patches are needed.

buildroot-external/patches/linux/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch (1)

47-48: Verify potential side effects for router configurations.

By enabling reachability probes even when forwarding is on, you might introduce additional packet handling overhead on router interfaces. Ensure this feature doesn't degrade routing performance, especially in high-throughput scenarios.

✅ Verification successful

Reachability probes are configurable and safe for router configurations

The code changes introduce a new compile-time configuration option CONFIG_IPV6_REACHABILITY_PROBE that explicitly enables reachability probing. This is a controlled feature that:

  1. Is disabled by default ("If unsure, say N" in Kconfig)
  2. Must be explicitly enabled at compile time
  3. Only adds the RT6_LOOKUP_F_REACHABLE flag when enabled

The performance impact is minimal since:

  • It's not enabled by default for router configurations
  • When enabled, it only adds a flag check during route lookups
  • The actual probing mechanism already exists in the kernel
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Searching references to IP6 forwarding and verifying no performance regressions
rg 'forwarding' -A 15

Length of output: 5058

buildroot-external/package/generic_raw_uart/0003-Linux-6.12-gpio-data.patch (1)

9-10: Confirm that no additional data structure is required for gpiochip.

Switching from gpiochip_add to gpiochip_add_data implies you can attach context data to the GPIO chip. Passing NULL is valid, but confirm that you do not need to store driver-specific data for future expansions. If future patches require additional data, this signature change is beneficial.

buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch (1)

9-10: Removing llseek might break certain user-space tools.

While removing .llseek is consistent with newer kernels, confirm no user-space utilities rely on seeking if they treat this driver as a regular file. If so, document the change clearly or provide an alternate method.

buildroot-external/package/gasket/0001-linux-6.x.patch (1)

29-31: Preserve compatibility with older kernels carefully.

Wrapping no_llseek in a version check is valid, but ensure that other kernel versions between 6.0.x and 6.12.x (e.g., 6.1, 6.2, etc.) also handle this gracefully. Verify that your build environment doesn't produce warnings when bridging minor revisions.

buildroot-external/configs/rpi5_64_defconfig (1)

22-22: Looks good. Consider verifying kernel build success for kernel 6.12.

These changes appear correct, but it's important to confirm that the updated kernel config fragments exist and build successfully with kernel v6.12.y.

Use this script to ensure the fragment files exist:

buildroot-external/configs/khadas_vim3_defconfig (2)

19-19: Kernel version update from 6.6.66 to 6.12.6.
Ensure 6.12.6 is stable for your hardware scenario and that any required patches are included.


22-22: Config fragments changed to v6.12.y.
Double-check these fragment files exist and are valid, particularly for the Khadas Vim3 platform.

buildroot-external/configs/odroid_c4_defconfig (2)

19-19: Kernel version increment to 6.12.6.
This is a substantial jump. Confirm that all essential out-of-tree drivers for Odroid C4 remain compatible.


22-22: Switched kernel config fragments to v6.12.y.
Make sure to test the wireless config fragments for the Odroid C4 board, as out-of-tree modules may require special patches.

buildroot-external/configs/odroid_c2_defconfig (2)

19-19: Upgrading kernel version to 6.12.6.
Verify that no new dependencies or regressions arise on the Odroid C2 platform.


22-22: Using v6.12.y config fragments.
Cross-check for any board-specific changes needed in the configuration to maintain stability on the Odroid C2.

buildroot-external/configs/tinker_defconfig (2)

24-24: Verify the presence of the new configuration fragments.
These updated fragment file paths must exist and apply cleanly to the kernel. Consider verifying each fragment for correctness and compatibility with the 6.12.x kernel series.

✅ Verification successful

Let me verify the contents of these config files to ensure they are valid kernel configuration fragments.


All kernel configuration fragments are present and valid

The verification confirms that:

  • All four configuration fragments exist in the correct location under buildroot-external/kernel/v6.12.y/
  • Each file contains valid kernel configuration directives in the correct format (CONFIG_* entries)
  • The fragments are appropriately specialized:
    • hassos.config: Base configuration with HassOS specifics
    • docker.config: Container-related kernel features
    • device-support.config: USB and device support options
    • device-support-wireless.config: WiFi connectivity support
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify each listed config fragment is present
fd 'hassos.config' | xargs ls -l
fd 'docker.config' | xargs ls -l
fd 'device-support.config' | xargs ls -l
fd 'device-support-wireless.config' | xargs ls -l

Length of output: 803


Script:

#!/bin/bash
# Check the content format of config files
echo "=== hassos.config ==="
head -n 5 buildroot-external/kernel/v6.12.y/hassos.config
echo -e "\n=== docker.config ==="
head -n 5 buildroot-external/kernel/v6.12.y/docker.config
echo -e "\n=== device-support.config ==="
head -n 5 buildroot-external/kernel/v6.12.y/device-support.config
echo -e "\n=== device-support-wireless.config ==="
head -n 5 buildroot-external/kernel/v6.12.y/device-support-wireless.config

Length of output: 1158


21-21: Confirm that the selected kernel release meets your needs.
Upgrading to kernel 6.12.6 is a notable jump from 6.6.66. Ensure that all necessary hardware patches are present in this release or any custom patch set is properly applied.

✅ Verification successful

Let me search for kernel version references and patch files to verify the kernel upgrade implications. The previous command had syntax issues, so I've modified it to use more reliable search patterns.


The previous search revealed that kernel 6.12.6 is being used across multiple device configurations. Let's check the kernel configuration files and patches to ensure proper support.


Kernel 6.12.6 appears to be properly supported across the system

Based on the verification results:

  1. The kernel version 6.12.6 is consistently used across all device configurations in the system, as documented in Documentation/kernel.md
  2. All necessary kernel configuration files are present in buildroot-external/kernel/v6.12.y/, including:
    • Base system config (hassos.config)
    • Device support configs for various hardware types
    • Docker support
    • Platform-specific configs (e.g., arm64-rockchip)

The upgrade appears to be a coordinated effort across all supported platforms with proper configuration files in place.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify if references to the new kernel version exist across the repository
# and check if relevant patch files are present under v6.12.y

fd 'v6.12.y' --glob --regex '(\.config)$' | sort

Length of output: 147


Script:

#!/bin/bash
# Let's check for any kernel version references and patch files
rg -g '!{.git,node_modules}' "6.12" 

# Check for kernel patch files
fd -e patch . buildroot-external/patches/kernel/

Length of output: 11293


Script:

#!/bin/bash
# Let's check for kernel configuration files and patches in the v6.12.y directory
fd . buildroot-external/kernel/v6.12.y/

# Let's also check if there are any kernel patches specific to this version
fd . buildroot-external/patches/kernel/

Length of output: 614

buildroot-external/configs/odroid_xu4_defconfig (2)

22-22: Check the new config fragments for the Odroid XU4.
Ensure these files are suitable for Exynos-based systems and confirm that none of the engaged modules conflict.

✅ Verification successful

All kernel config fragments are present and compatible with Odroid XU4

The verification shows that all kernel configuration fragments exist and are properly structured:

  1. The generic fragments in buildroot-external/kernel/v6.12.y/ contain:

    • hassos.config: Base system configurations
    • docker.config: Container-related settings
    • device-support.config: General device support (USB, BT, multimedia)
    • device-support-wireless.config: WiFi/wireless drivers
  2. The Odroid XU4-specific fragment in buildroot-external/board/hardkernel/odroid-xu4/kernel.config contains minimal platform-specific settings:

    • LZ4 kernel compression
    • Watchdog configuration
    • Locking proof settings

The configurations are compatible with Exynos-based systems, and there are no conflicting module configurations. The board-specific config is appropriately minimal, letting the generic fragments handle most functionality while only overriding platform-specific requirements.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Confirm each fragment listed under v6.12.y is present for Odroid XU4
fd 'v6.12.y' --regex 'hassos|docker|device-support|wireless.config' | sort

Length of output: 206


Script:

#!/bin/bash
# Let's check if the kernel config fragments exist in the repository
fd -t f "hassos.config|docker.config|device-support.config|device-support-wireless.config" buildroot-external/kernel/v6.12.y/

# Also check the board-specific kernel config
fd -t f "kernel.config" buildroot-external/board/hardkernel/odroid-xu4/

# If files exist, let's examine their content for Exynos-specific configurations
for file in $(fd -t f "hassos.config|docker.config|device-support.config|device-support-wireless.config" buildroot-external/kernel/v6.12.y/); do
    echo "=== Content of $file ==="
    cat "$file"
    echo -e "\n"
done

# Check board-specific kernel config
for file in $(fd -t f "kernel.config" buildroot-external/board/hardkernel/odroid-xu4/); do
    echo "=== Content of $file ==="
    cat "$file"
    echo -e "\n"
done

Length of output: 14376


20-20: Confirm kernel release stability and patch coverage.
This custom kernel version update to 6.12.6 should be validated alongside any hardware drivers requiring specific patches for Odroid XU4.

✅ Verification successful

Kernel version 6.12.6 is properly supported with necessary hardware patches

The verification shows that:

  • The kernel version 6.12.6 is officially documented for ODROID-XU4 in Documentation/kernel.md
  • The critical hardware-specific patch for ethernet functionality is present and maintained
  • The patch addresses a known hardware issue with ethernet detection during warm boot by implementing proper power reset routines through the PMIC
  • The board-specific kernel configuration is properly maintained
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# List all custom patches or config references for Odroid XU4 to ensure coverage
fd 'odroid-xu4' --regex '(\.patch|\.config)$' | sort

Length of output: 159


Script:

#!/bin/bash
# Search for any kernel patches or configs related to Odroid XU4
fd -e patch -e config | rg -i "odroid.*xu4|xu4"

# Look for kernel-related files mentioning Odroid XU4
rg -i "odroid.*xu4|xu4" -g "*kernel*"

# Check for any board-specific configurations
fd -e defconfig | xargs cat | rg -i "odroid.*xu4|xu4"

Length of output: 557


Script:

#!/bin/bash
# Check the content of the kernel patch to understand its purpose
cat buildroot-external/board/hardkernel/odroid-xu4/patches/linux/0001-ODROID-XU4-regulator-s2mps11-add-ethernet-power-rese.patch

# Check kernel config for any critical hardware-specific settings
cat buildroot-external/board/hardkernel/odroid-xu4/kernel.config

# Look for any additional board-specific configurations or documentation
rg -i "6\.12\.[0-9]+" --type txt --type md

Length of output: 3805

buildroot-external/configs/odroid_n2_defconfig (2)

19-19: Ensure the updated kernel is compatible with N2’s Amlogic SoC.
Switching to kernel 6.12.6 might require verifying additional SoC-specific mainline patches or drivers.

✅ Verification successful

Let me search for Amlogic/Meson related configurations and patches to verify kernel compatibility. The previous command had syntax issues, so I've modified it to search more broadly.


Kernel 6.12.6 is compatible with Odroid N2's Amlogic SoC

The verification shows that proper Amlogic/Meson support is maintained:

  • Dedicated Amlogic kernel config at buildroot-external/board/hardkernel/kernel-amlogic.config with necessary Meson drivers
  • Board-specific kernel patches for Amlogic G12B SoC (N2's chipset):
    • Power button support
    • GPIO fan control
    • UART and I2C configurations
  • Correct device tree specifications for both N2 and N2+ variants: meson-g12b-odroid-n2 and meson-g12b-odroid-n2-plus
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# For Odroid N2, confirm references to Amlogic or meson patches
fd 'odroid-n2' --regex '(\.patch|\.config)$' | sort

Length of output: 158


Script:

#!/bin/bash
# Search for Amlogic/Meson related kernel configs and patches
fd -e patch -e config | rg -i "amlogic|meson|odroid"

# Check kernel config for Amlogic/Meson related settings
rg -i "amlogic|meson|odroid" buildroot-external/configs/odroid_n2_defconfig

# Look for any board-specific patches or configs
rg -i "CONFIG_MESON|CONFIG_AMLOGIC" buildroot-external/board/

Length of output: 4800


22-22: Validate references to new v6.12.y config fragments.
Confirm that the device-support and device-support-wireless configs still enable all hardware for Odroid N2.

buildroot-external/configs/rpi2_defconfig (1)

23-23: Confirm alignment of the new RPi2 kernel configs.
Switching from v6.6.y to v6.12.y requires validating the Pi-specific configs and ensuring no Pi 2 regression is introduced.

✅ Verification successful

All kernel configs for v6.12.y and RPi2 are properly aligned

The verification shows that:

  1. All required kernel config files for v6.12.y exist and contain appropriate configurations:
    • hassos.config (base system configs)
    • docker.config (container support)
    • device-support.config (hardware support)
    • device-support-wireless.config (wireless connectivity)
  2. RPi-specific configs are present and properly configured:
    • kernel.config (Raspberry Pi base configs)
    • kernel-armv7.config (32-bit ARM specific settings)
  3. The configs maintain compatibility with RPi2's ARMv7 architecture through:
    • Proper ARM-specific kernel compression (LZ4)
    • Appropriate CPU frequency governor settings
    • Required LED and hardware support
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for Raspberry Pi 2 references. Confirm new v6.12.y configs exist and are updated properly
fd 'rpi2' --regex '(\.patch|\.config)$' | sort
fd 'v6.12.y' --regex 'hassos|docker|device-support|wireless.config' | sort

Length of output: 360


Script:

#!/bin/bash
# Check for Raspberry Pi 2 configs and patches
fd -e config -e patch . | grep -i "rpi2"

# Verify existence and content of kernel configs for v6.12.y
ls -la buildroot-external/kernel/v6.12.y/
cat buildroot-external/kernel/v6.12.y/hassos.config
cat buildroot-external/kernel/v6.12.y/docker.config
cat buildroot-external/kernel/v6.12.y/device-support.config
cat buildroot-external/kernel/v6.12.y/device-support-wireless.config

# Check RPi specific kernel configs
ls -la buildroot-external/board/raspberrypi/
cat buildroot-external/board/raspberrypi/kernel.config
cat buildroot-external/board/raspberrypi/kernel-armv7.config

Length of output: 14486

buildroot-external/configs/rpi3_64_defconfig (1)

22-22: Confirm the new kernel fragment references and check for any missing driver patches.

Switching from v6.6.y to v6.12.y is straightforward, but since this PR aims to include missing drivers (such as for the Beelink EQ14 Intel N150), please verify that all required patches are correctly present within the new kernel fragment directory.

Below is a script that searches the repository for references to the old kernel version (v6.6) and to potential EQ14/Beelink references, helping ensure all relevant patches are indeed included:

✅ Verification successful

Let me try a different approach to verify the kernel fragments and patches.


Let me check one more thing to verify the PCI device support that would be relevant for the Beelink EQ14.


Kernel configuration appears sufficient for Intel-based hardware support

Based on the verification of kernel configurations in v6.12.y, I can confirm that:

  • Essential Intel hardware support is present through various config files:
    • Intel HDA audio support (CONFIG_SND_HDA_INTEL=m)
    • Intel network drivers (CONFIG_IGB=y, CONFIG_IGC=m)
    • NVMe storage support (CONFIG_NVME_CORE=y)
    • Intel Bluetooth support (CONFIG_BT_HCIUART_INTEL=y)
    • Intel WiFi support (via device-support-wireless.config)
  • PCI device support is properly configured with necessary drivers for modern Intel-based systems
  • No specific patches directory exists, but the kernel config fragments contain the necessary driver configurations

The transition from v6.6.y to v6.12.y appears complete with all necessary driver support in place for Intel-based systems including the Beelink EQ14.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Searching for any leftover references to old kernel version 6.6
rg 'v6\.6'

# Searching for references to eq14 or beelink in the codebase
rg -i 'eq14|beelink'

Length of output: 35


Script:

#!/bin/bash
# Check the contents of the kernel directory for v6.12.y
ls -la buildroot-external/kernel/v6.12.y/

# Check if there are any new patches or configs specifically for device support
cat buildroot-external/kernel/v6.12.y/device-support.config

# Look for any Intel-related configurations or patches that might be relevant for Beelink EQ14
rg -i "intel|n150" buildroot-external/kernel/v6.12.y/

Length of output: 6236


Script:

#!/bin/bash
# Check PCI-related configurations that might be relevant for Intel N150
cat buildroot-external/kernel/v6.12.y/device-support-pci.config

# Also check if there are any specific Intel-related patches
ls -la buildroot-external/kernel/v6.12.y/patches/

Length of output: 882

buildroot-external/configs/rpi4_64_defconfig (1)

22-22: Check that the fragment files in v6.12.y properly reflect any new device requirements.

The updated kernel version line looks correct. If you are incorporating additional drivers for Intel N150 or other hardware, please confirm they are included in the v6.12.y fragments.

Below is a script to verify whether references exist for the old kernel (v6.6) or potential EQ14/Beelink drivers:

✅ Verification successful

Let me gather more information about the kernel configuration fragments to verify the device requirements.


Let me check the wireless PCI config fragment since it wasn't included in the previous output.


The kernel configuration fragments in v6.12.y provide comprehensive device support

After reviewing all the kernel configuration fragments in the v6.12.y directory, I can confirm that they include extensive support for various hardware components:

  • PCI/PCIe network adapters (Intel IGB/IGC, Aquantia, Atheros, Broadcom)
  • Wide range of USB devices (serial, network adapters, webcams)
  • Comprehensive wireless support including:
    • Intel WiFi drivers (both legacy and modern)
    • Realtek WiFi chipsets
    • Mediatek WiFi modules
    • Broadcom WiFi drivers
  • NVMe storage support
  • Sound drivers (USB and PCI-based)
  • Various other peripherals (CAN bus, 1-wire, GPIO)

The configuration appears to be well-maintained and includes support for both common and newer hardware components that might be present in modern systems.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Searching for any old kernel references
rg 'v6\.6'

# Searching for eq14 or beelink references
rg -i 'eq14|beelink'

Length of output: 35


Script:

#!/bin/bash
# Check contents of kernel config fragments for device support
echo "=== Checking device-support.config ==="
cat "$(fd 'device-support.config' buildroot-external/kernel/v6.12.y)"

echo -e "\n=== Checking device-support-pci.config ==="
cat "$(fd 'device-support-pci.config' buildroot-external/kernel/v6.12.y)"

echo -e "\n=== Checking device-support-wireless.config ==="
cat "$(fd 'device-support-wireless.config' buildroot-external/kernel/v6.12.y)"

# List all config fragments in v6.12.y directory
echo -e "\n=== Listing all kernel config fragments ==="
fd . buildroot-external/kernel/v6.12.y -t f

Length of output: 7865


Script:

#!/bin/bash
# Check contents of wireless PCI config
echo "=== Checking device-support-wireless-pci.config ==="
cat "$(fd 'device-support-wireless-pci.config' buildroot-external/kernel/v6.12.y)"

Length of output: 1315

buildroot-external/configs/rpi4_defconfig (1)

23-23: Verify updated kernel fragment paths and confirm U-Boot version alignment.

Updating to v6.12.y and setting BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2024.01" can impact certain boot flows. Ensure that any newly required drivers (e.g. for Beelink EQ14) are indeed enabled in these fragments and that the U-Boot version is aligned with the rest of your kernel changes.

Below is a script to check leftover kernel references and potential missing devices:

✅ Verification successful

Kernel config fragments and U-Boot version are properly aligned

The verification shows that:

  1. All kernel config fragments exist in the correct v6.12.y directory and contain appropriate device support:
    • Comprehensive USB device support (serial, network, video)
    • PCI network device drivers for various vendors
    • Wireless device support
  2. U-Boot version 2024.01 is consistently set across all Raspberry Pi configs (rpi2, rpi3, rpi4)
  3. Kernel version 6.12.6 is consistently used across the board configurations
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Checking for references to older kernel versions
rg 'v6\.6'

# Checking for eq14 or beelink references
rg -i 'eq14|beelink'

Length of output: 35


Script:

#!/bin/bash
# Check kernel config fragments for v6.12.y
fd 'hassos.config|docker.config|device-support.config|device-support-pci.config|device-support-wireless.config' kernel/v6.12.y/

# Check U-Boot version in other board configs
rg "BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE" buildroot-external/configs/

# Check kernel version in other board configs
rg "BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE" buildroot-external/configs/

# Check for any remaining v6.6 kernel configs
fd . kernel/ -t d

Length of output: 3019


Script:

#!/bin/bash
# Check if kernel config fragments exist in the correct location
fd -t f "hassos.config|docker.config|device-support.config|device-support-pci.config|device-support-wireless.config" buildroot-external/

# Check kernel config content for PCI and device support
rg -A 5 "CONFIG_PCI|CONFIG_USB|CONFIG_NET" buildroot-external/kernel/v6.12.y/device-support-pci.config buildroot-external/kernel/v6.12.y/device-support.config 2>/dev/null

# Check if the kernel fragments directory exists and list its contents
ls -la buildroot-external/kernel/v6.12.y/ 2>/dev/null

# Check for any kernel version references in board configs
rg "BR2_LINUX_KERNEL.*6\." buildroot-external/board/raspberrypi/

Length of output: 11212

buildroot-external/configs/odroid_m1_defconfig (1)

19-22: Confirm the new kernel version references for Odroid M1

You have bumped the kernel version and updated paths to v6.12.y. This looks correct and consistent with the rest of the PR. However, please verify that:

  1. All referenced config files under v6.12.y are indeed present in the repository.
  2. Any patches or device drivers needed for Odroid M1 remain compatible with the new kernel version.

Below is a script to confirm the existence of the v6.12.y directory and its relevant config files:

✅ Verification successful

All kernel configuration files are present and properly structured

The verification confirms that:

  1. All referenced kernel config files under v6.12.y/ are present:
    • kernel-arm64-rockchip.config
    • hassos.config
    • docker.config
    • device-support.config
    • device-support-wireless.config
  2. The board-specific kernel config for Odroid M1 exists at the correct location.
  3. No kernel patches are present for Odroid M1, which suggests the board is supported by the mainline kernel without requiring additional patches.

The kernel configuration structure is consistent and complete for the v6.12.y upgrade.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify presence of v6.12.y kernel config files.
fd --regex 'v6\.12\.y.*(\.config)$' \
   --exec ls -l

Length of output: 50


Script:

#!/bin/bash
# Let's try a different approach to verify the config files
# First, check if the kernel directory exists and list its contents
ls -la buildroot-external/kernel/

# Then specifically check for v6.12.y directory
ls -la buildroot-external/kernel/v6.12.y/ 2>/dev/null || echo "v6.12.y directory not found"

# Also check the board-specific kernel config
ls -la buildroot-external/board/hardkernel/odroid-m1/kernel.config 2>/dev/null || echo "odroid-m1 kernel config not found"

# Let's also check for any kernel-related patches for Odroid M1
ls -la buildroot-external/board/hardkernel/odroid-m1/*.patch 2>/dev/null || echo "No kernel patches found"

Length of output: 1191

buildroot-external/configs/odroid_m1s_defconfig (1)

19-22: Verify updated kernel references for Odroid M1S

Like Odroid M1, these lines switch the kernel version and config file paths to v6.12.y. This aligns well with the overall kernel upgrade, but ensure the new references match the availability of the config files for M1S. If extra patches or drivers are required, confirm they are properly applied.

Consider running the same search script to confirm the existence of the v6.12.y config fragments and to verify that any M1S-specific patches remain intact.

buildroot-external/configs/green_defconfig (1)

19-22: Confirm kernel version upgrade for Green

Switching to kernel version 6.12.6 and adjusting config paths to v6.12.y appears consistent with the other boards. Double-check that the Rockchip config and any board-specific patches have not regressed. If you have a QA flow, ensure that the Green board still boots and runs all required modules post-upgrade.

buildroot-external/configs/yellow_defconfig (1)

22-22: Validate the kernel fragment file paths for Yellow

Updating the kernel fragment files to point to v6.12.y is aligned with the other platforms. Please ensure that the Raspberry Pi-specific config fragments are included and that no critical references were dropped as part of the version jump.

buildroot-external/configs/generic_aarch64_defconfig (2)

19-19: Verify kernel version stability.
Upgrading to kernel version 6.12.6 is significant. Make sure this version is stable for your target hardware (aarch64 platforms) and that all required patches exist to support your hardware (especially BeeLink EQ14 Intel N150 mentioned in your PR).


21-21: Confirm config fragment paths.
Ensure that each referenced v6.12.y kernel fragment file exists in your repository and fully covers all the required module options and device driver support.

buildroot-external/configs/generic_x86_64_defconfig (2)

19-19: Cross-check kernel version for x86_64.
The update to 6.12.6 should be validated on x86_64 hardware to confirm the needed drivers are enabled and stable for your platform.


21-21: Validate fragment ordering & presence.
Make sure the device-support-pci.config and all other .config fragments are correctly applied in the intended order and do not introduce conflicting settings.

buildroot-external/configs/ova_defconfig (2)

19-19: Check kernel version alignment for Ova environment.
Even though Ova likely shares many drivers with generic x86_64, confirm that version 6.12.6 addresses any Ova-specific hardware or virtualization requirements.


21-21: Ensure correct fragment coverage for Ova.
Confirm that all relevant kernel fragments exist under v6.12.y and that no old references or missing fragments remain, particularly for virtualization support or any specifically mentioned BeeLink EQ14 patches.

buildroot-external/kernel/v6.12.y/hassos.config (1)

25-27: LGTM! Multiple ZRAM compression backends enabled.

The addition of LZO, LZ4, and ZSTD compression backends for ZRAM provides flexibility in choosing the optimal compression algorithm based on performance needs.

Run the following script to verify if these compression backends are commonly enabled in other kernel configurations:

✅ Verification successful

Let me gather more information to understand if these ZRAM backends were recently introduced in the kernel version upgrade.


Let me check one more thing to see if there are any other kernel configuration files in the repository.


Let me check one final thing to see if there are any ZRAM configurations in the kernel-amlogic.config file.


ZRAM backend configurations are unique to the new kernel version

Based on the verification results:

  1. The ZRAM compression backends (LZO, LZ4, and ZSTD) are only present in the new v6.12.y kernel configuration
  2. No other kernel configuration files in the repository contain these ZRAM backend settings
  3. This appears to be a new feature introduced with the kernel upgrade to v6.12.y, providing more compression algorithm options for ZRAM

The changes are appropriate as they:

  • Enable flexibility in choosing compression algorithms based on performance needs
  • Complement the existing ZSWAP configuration which uses LZ4 as default
  • Follow the kernel's evolution by adopting new ZRAM features
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if other kernel configs in the repository also enable these ZRAM backends
# This helps verify if this is a standard practice across different configurations

# Search for ZRAM backend configurations in other kernel config files
fd -e config -e defconfig | xargs grep -l "CONFIG_ZRAM_BACKEND_"

Length of output: 112


Script:

#!/bin/bash
# Check for ZRAM configurations in previous kernel versions
fd "v.*" --type d buildroot-external/kernel/ | while read -r kernel_dir; do
  if [ -f "$kernel_dir/hassos.config" ]; then
    echo "=== $kernel_dir ==="
    grep -A 3 "CONFIG_ZRAM" "$kernel_dir/hassos.config" || true
    echo
  fi
done

Length of output: 498


Script:

#!/bin/bash
# List all kernel configuration directories and files
fd -t d "kernel" buildroot-external/ -x ls -la {} \;

Length of output: 1071


Script:

#!/bin/bash
# Check ZRAM configurations in kernel-amlogic.config
grep -A 3 "CONFIG_ZRAM" buildroot-external/kernel/v6.12.y/kernel-amlogic.config || true

Length of output: 175

buildroot-external/busybox.config (1)

954-954: Verify impact of disabling traffic control (tc) utility.

Disabling the traffic control utility in BusyBox removes the ability to configure QoS and traffic shaping from BusyBox. Please ensure that:

  1. Traffic control functionality is not required for the target system
  2. If needed, traffic control can be managed through alternative means

Run the following script to check if tc functionality is provided by another package:

✅ Verification successful

Disabling BusyBox tc utility is safe - iproute2 package provides traffic control functionality

The change to disable the BusyBox tc utility (CONFIG_TC=n) is safe because:

  • All device configurations (rpi, odroid, generic, etc.) have BR2_PACKAGE_IPROUTE2=y enabled
  • The iproute2 package provides a more full-featured tc utility for traffic control and QoS management
  • This appears to be an intentional choice to use iproute2's tc implementation instead of BusyBox's simpler version
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if tc functionality is provided by another package
# This helps verify that we're not losing critical functionality

# Search for tc-related packages in buildroot configs
fd -e defconfig | xargs grep -l "iproute2\|tc"

# Check if iproute2 package (which provides tc) is enabled in buildroot
fd -e defconfig | xargs grep "BR2_PACKAGE_IPROUTE2"

Length of output: 100


Script:

#!/bin/bash
# Let's try a broader search strategy to find any references to traffic control or iproute2

# Search for tc or iproute2 related configurations in all files
rg -i "BR2_PACKAGE_IPROUTE2|CONFIG_TC|traffic.control" -A 2 -B 2

# Search specifically in buildroot-external directory
fd . buildroot-external -t f -x grep -l -i "iproute2\|traffic.control\|CONFIG_TC" {}

# Check package configurations
fd "Config.in" -t f -x grep -l "iproute2" {}

Length of output: 15748

buildroot-external/configs/rpi3_defconfig Outdated Show resolved Hide resolved
@mmorrisontx
Copy link

Build fails on a fresh clone because the buildroot-external/board/pc/patches directory is missing now that the last file was removed from git.

@nijave nijave changed the title WIP Linux 6.12 patches Linux 6.12 patches Dec 29, 2024
@home-assistant home-assistant bot marked this pull request as draft December 29, 2024 17:53
@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@nijave nijave force-pushed the linux-6.12-patches branch 2 times, most recently from 9641023 to 9fcb007 Compare December 30, 2024 00:10
@nijave
Copy link
Author

nijave commented Dec 30, 2024

@jens-maus I think I addressed all the comments

@nijave nijave force-pushed the linux-6.12-patches branch from 9fcb007 to 0a478d1 Compare December 30, 2024 01:17
@mmorrisontx
Copy link

I've been running this branch on my beelink eq14. Seems to be working great, and the igpu is now usable in plex.

Copy link
Member

@sairon sairon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some issues I pointed out in the comments but in general very nice job, thanks! 👍

Once the issues are addressed (especially the RPi configs), we can run a build of all targets to see if anything else emerges there. Maybe linux-check-dotconfig will find some removed kernel options.

Dockerfile Outdated
@@ -47,6 +47,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
vim \
wget \
zip \
automake \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: alphabetical order should be preserved with the newly added packages.

buildroot Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This submodule hash now points to incorrect reference. Since there is no single hash we could refer to, I suggest I'll create a separate branch (e.g. 2024.02.x-haos-linux-6.12), merge the Buildroot PRs there and then we can use the hash of that branch here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

333ff47f55a97c4127ea8509822be0b768de4b7b from home-assistant/buildroot#67 can be used.

@@ -20,7 +20,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/dd2394360860d15146c96635796a75b05bb32b61.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.6.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel-armv7.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel-armv7.config"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For all RPi targets (including Yellow), the kernel there is still 6.6.y. Which means the patch directory should be preserved and RPi defconfigs should stay untouched.

@@ -22,6 +22,9 @@ CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y

CONFIG_ZRAM=y
CONFIG_ZRAM_BACKEND_LZO=y
CONFIG_ZRAM_BACKEND_LZ4=y
CONFIG_ZRAM_BACKEND_ZSTD=y
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we don't need to enable the unused algorithms 🤔

buildroot-external/rootfs-overlay/usr/libexec/hassos-zram Outdated Show resolved Hide resolved
@@ -951,7 +951,7 @@ CONFIG_PING6=y
# CONFIG_ROUTE is not set
# CONFIG_SLATTACH is not set
# CONFIG_SSL_CLIENT is not set
CONFIG_TC=y
# CONFIG_TC is not set
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You were not correct here, CONFIG_TC is part of the Busybox config and enables the tc (traffic control) command. I'm not exactly sure where/if it's used but definitely this needs to be looked into.

Copy link
Author

@nijave nijave Jan 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,16 @@
Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4)

Signed-off-by: Nick Venenga <[email protected]>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please compare to the other *.patch files again. You patch files are still missing an Upstream: statement which otherwise would end up in the buildroot linter check to fail.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume you mean like board/hardkernel/odroid-m1/patches/uboot/0001-odroid-m1-Disable-eMMC-DDR52-mode-enable-HS200.patch described in https://buildroot.org/downloads/manual/patch-policy.txt#:~:text=Additional%20patch%20documentation

I see 119 patches but only 3 have Upstream:

Additionally, is there a way to run this linter locally to verify all requirements are satisfied?

@@ -0,0 +1,18 @@
Replace `gpiochip_add` removed in 6.11 (3ff1180) with `gpiochip_add_data` added in 4.5 (b08ea35)

Signed-off-by: Nick Venenga <[email protected]>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here `Upstream:´ statement is missing.

@@ -0,0 +1,16 @@
Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4)

Signed-off-by: Nick Venenga <[email protected]>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upstream: statement missing here.


no_llseek has been hard dropped in linux-6.12

Signed-off-by: Rudi Heitbaum <[email protected]>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here Upstream: statement is missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants