Skip to content

Migrate Radxa Cubie A5E to mainline 6.16#8447

Merged
igorpecovnik merged 13 commits intoarmbian:mainfrom
juanesf:main
Aug 7, 2025
Merged

Migrate Radxa Cubie A5E to mainline 6.16#8447
igorpecovnik merged 13 commits intoarmbian:mainfrom
juanesf:main

Conversation

@juanesf
Copy link
Collaborator

@juanesf juanesf commented Aug 1, 2025

Description

Migrate u-boot and kernel to mainline, staging-out the cubie a5e from dev a mainline.
Add patches sent to mailing list 6.17.

Documentation summary for feature / change

dwmac_sun8i enables the eth0 port (next to the USB-C port).
In kernel 6.17, the second eth1 port (the one that includes POE) is enabled, but I already have a patch to port from above (I'll send tested and sorted patches later).
Therefore, this request doesn't include Wi-Fi (all patches have been disabled) since it's a clean implementation.

Patches:

  • Add leds (led0-green and led1-blue) gren with "heartbeat mode"

  • Add wifi and bluetooth

  • Add Mali GPU

  • Add power controller´s

  • Add uart1

  • Patches for sort somes nodes

  • gmac0 PHY reset

  • Add gmac200 (eth1 or second port)

  • Add OrangePi 4A dts (Other patches depend on a string that adds the dts and sorts/enables missing nodes.)

  • Missing "PPU0" reset added

  • Fixes for mfd on a523/a527/t527 support
    This is a summary of the patches used in this application.

  • Build Log: https://paste.armbian.com/wataduvoye

  • Boot Log: https://paste.armbian.com/gafixidusi.yaml

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

  • Tested on Cubie A5E 2GB RAM without mmc board version 1.1

Checklist:

Please delete options that are not relevant.

  • 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

@juanesf juanesf requested a review from igorpecovnik as a code owner August 1, 2025 01:33
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 1, 2025

Walkthrough

This change updates the board configuration for the "radxa cubie a5e" by switching the default configuration file to "radxa-cubie-a5e_defconfig" and changing the kernel target from "dev" to "edge". It extends the package list to include rfkill, bluetooth, bluez, and bluez-tools, sets the AIC8800_TYPE to "sdio", and enables the "radxa-aic8800" extension. New post-family tweak functions are added to configure AIC8800 wireless and Bluetooth kernel modules, install Bluetooth service files, and enable the Bluetooth systemd service. In the sun55iw3 family configuration, the U-Boot source is updated to the official repository, the default branch is changed to "master", and the Linux family is set to "sunxi64". Kernel branch logic is extended to support an "edge" branch with kernel version 6.16. The kernel configuration for sunxi64-edge enables the SUN55I_PCK600 option with no other significant changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested labels

Ready to merge

Suggested reviewers

  • igorpecovnik
  • EvilOlaf
  • pyavitz

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 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.
    • Explain this complex logic.
    • 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 explain this code block.
  • 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 explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @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 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.

@github-actions github-actions bot added 08 Milestone: Third quarter release size/large PR with 250 lines or more Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels Aug 1, 2025
@coderabbitai coderabbitai bot added 05 Milestone: Second quarter release BSP Board Support Packages Ready to merge Reviewed, tested and ready for merge size/medium PR with more then 50 and less then 250 lines labels Aug 1, 2025
@igorpecovnik
Copy link
Member

Can this also be merged into (at least) sunxi64 kernel? I assume we don't need to maintain separate EDGE config for this platform.

@juanesf
Copy link
Collaborator Author

juanesf commented Aug 1, 2025

Several wifi drivers that are enabled in sunxi64-edge.config generate warnings and some do not compile in 6.16

@igorpecovnik
Copy link
Member

igorpecovnik commented Aug 1, 2025

Several wifi drivers that are enabled in sunxi64-edge.config generate warnings and some do not compile in 6.16

This has to be sorted out anyway, usually this way #8408 and warnings can be ignored ... If you don't have time to address those drivers - add EXTRAWIFI="no" to the board config for now. Still better then dragging separate kernel family, but this way kernel upgrade consistency is lost.

@coderabbitai coderabbitai bot requested a review from igorpecovnik August 7, 2025 18:49
@coderabbitai coderabbitai bot added the Ready to merge Reviewed, tested and ready for merge label Aug 7, 2025
Copy link
Contributor

@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: 0

♻️ Duplicate comments (1)
config/boards/radxa-cubie-a5e.csc (1)

24-32: Address the commented firmware path line per maintainer feedback.

Based on the maintainer comment from igorpecovnik, the commented line at line 31 should be completely removed rather than kept as a comment, as it can cause configuration issues.

Additionally, verify that EXTRAWIFI is not set anywhere in this configuration file, as per igorpecovnik's feedback that it should be removed entirely since it controls kernel compilation.

#!/bin/bash
# Check for any EXTRAWIFI references in the board config
rg "EXTRAWIFI" config/boards/radxa-cubie-a5e.csc
🧹 Nitpick comments (1)
config/boards/radxa-cubie-a5e.csc (1)

33-47: Review AIC8800 Bluetooth configuration for best practices.

The Bluetooth module configuration and service installation follow appropriate patterns, but consider these improvements:

  1. The conditional check for the AIC8800 source directory is good practice
  2. The systemd service files are properly copied with correct permissions

However, ensure the firmware installation path aligns with Armbian standards.

Consider adding error handling for the directory creation and file copying operations:

 	# Add AIC8800 Bluetooth Service and Script
 	if [[ -d "$SRC/packages/bsp/aic8800" ]]; then
-		mkdir -p "${destination}"/etc/systemd/system
-		mkdir -p "${destination}"/usr/bin
-		cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth" "${destination}"/usr/bin
-		chmod +x "${destination}"/usr/bin/aic-bluetooth
-		cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth.service" "${destination}"/etc/systemd/system
+		mkdir -p "${destination}"/etc/systemd/system "${destination}"/usr/bin
+		cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth" "${destination}"/usr/bin && \
+		chmod +x "${destination}"/usr/bin/aic-bluetooth && \
+		cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth.service" "${destination}"/etc/systemd/system
 	fi
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7128fbe and 3e2d11d.

📒 Files selected for processing (1)
  • config/boards/radxa-cubie-a5e.csc (2 hunks)
🧰 Additional context used
🧠 Learnings (26)
📓 Common learnings
Learnt from: EvilOlaf
PR: armbian/build#8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub or the PR API to get the complete picture of what files are being added or modified.
Learnt from: EvilOlaf
PR: armbian/build#8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub API (https://api.github.com/repos/armbian/build/pulls/{pr_number}/files) to get the complete picture of what files are being added or modified, especially for U-Boot patches that will be applied during the build process.
Learnt from: rpardini
PR: armbian/build#8044
File: patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch:76-86
Timestamp: 2025-03-31T22:20:48.475Z
Learning: For the Armbian build project, maintaining consistency with existing patches across U-Boot versions (such as between 2025.01 and 2025.04) is prioritized over refactoring individual patches for code improvements.
Learnt from: EvilOlaf
PR: armbian/build#8328
File: lib/functions/compilation/patch/drivers_network.sh:542-545
Timestamp: 2025-06-24T10:08:40.313Z
Learning: In the Armbian build system, when a PR removes build support for a specific kernel version, version check issues for that removed version become practically irrelevant even if they appear incorrect in isolation. Context about which kernel versions are being deprecated/removed is important for understanding the impact of version-related code changes.
Learnt from: amazingfate
PR: armbian/build#8453
File: lib/functions/compilation/patch/drivers_network.sh:213-216
Timestamp: 2025-08-02T14:59:28.145Z
Learning: The wireless driver patches wireless-rtl8812au-Fix-6.16.patch, wireless-rtl8811cu-Fix-6.16.patch, and wireless-rtl88x2bu-Fix-6.16.patch in the Armbian build system are backward compatible and can be applied unconditionally without version checks, even though they're named for 6.16+ fixes.
Learnt from: pyavitz
PR: armbian/build#8421
File: config/kernel/linux-sunxi64-edge.config:805-825
Timestamp: 2025-07-27T15:53:30.629Z
Learning: In the Armbian build system, kernel configurations prioritize broad hardware compatibility over optimization concerns. Even when including numerous legacy/obsolete drivers causes technical issues like increased initramfs size and slower enumeration, the project philosophy is to "appease the masses" by ensuring maximum device compatibility rather than optimizing for specific use cases.
Learnt from: rpardini
PR: armbian/build#8044
File: patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch:73-75
Timestamp: 2025-03-31T22:20:41.849Z
Learning: When porting patches between U-Boot versions (like from 2025.01 to 2025.04), rpardini prefers to maintain patches as-is rather than introducing refactoring changes, even when potential improvements are identified. This approach prioritizes consistency and reduces the risk of introducing new issues.
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-07-21T04:12:02.439Z
Learning: In the Armbian build system, for recurring maintenance tasks like kernel version bumping, TODO comments should use generic version formats (e.g., "MAJOR.MINOR-rc1") rather than specific version numbers (e.g., "6.17-rc1") to avoid the need for frequent comment updates that would create unnecessary maintenance overhead.
Learnt from: igorpecovnik
PR: armbian/build#8408
File: lib/functions/compilation/patch/drivers_network.sh:258-260
Timestamp: 2025-07-22T07:02:58.863Z
Learning: In the Armbian build system, RTL8811CU/RTL8821C wireless driver deprecation starting with kernel 6.12+ is not due to build failures but because support is being integrated into the upstream RTW88 driver. The deprecated drivers still build and function correctly during the transition period.
Learnt from: pyavitz
PR: armbian/build#8421
File: config/kernel/linux-sunxi64-edge.config:2168-2173
Timestamp: 2025-07-27T15:54:35.119Z
Learning: In the Armbian build system, staging 802.11 drivers like CONFIG_RTLLIB, CONFIG_RTL8192E, CONFIG_R8712U are kept enabled alongside upstream rtw88 drivers because rtw88 is still under development and suffers from reliability issues. The staging drivers serve as necessary fallbacks when upstream drivers are unstable, prioritizing working hardware over avoiding technical conflicts.
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-08-02T05:46:10.664Z
Learning: In the Armbian build system, the modern recommended approach for kernel configuration is to use the kernel-config command via "./compile.sh BOARD=boardname BRANCH=branchname kernel-config" instead of the deprecated KERNEL_CONFIGURE=yes flag. This provides a two-step workflow: configure using menuconfig, then build, with better transparency and control over configuration changes.
Learnt from: EvilOlaf
PR: armbian/build#8330
File: config/sources/families/sun55iw3.conf:32-36
Timestamp: 2025-06-25T03:42:09.086Z
Learning: In Armbian build system configuration files like config/sources/families/*.conf, KERNELSOURCE is explicitly declared when using unofficial or 3rd party kernel repositories (like the "dev" branch using https://github.com/apritzel/linux), but can be omitted when using the standard mainline kernel (like the "edge" branch) since it will fall back to the default mainline source.
Learnt from: pyavitz
PR: armbian/build#8388
File: config/boards/kickpik2b.conf:56-72
Timestamp: 2025-07-17T04:16:29.551Z
Learning: For AIC8800 Bluetooth devices in Armbian board configurations, systemd service configurations intentionally use Type=idle and boot delays because there is no compatibility to load AIC8800 bluetooth in mainline kernel. These delays and service timing are necessary workarounds for hardware limitations rather than performance issues.
Learnt from: pyavitz
PR: armbian/build#8455
File: config/sources/families/sun50iw1.conf:19-24
Timestamp: 2025-08-03T15:21:20.148Z
Learning: In the Armbian build system, when copying firmware files during family_tweaks_s(), use /lib/firmware/updates/ instead of /lib/firmware/ to avoid conflicts with the Armbian firmware package. The /lib/firmware/updates directory takes precedence in Linux firmware loading hierarchy and is the proper location for user-installed firmware files.
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-08-02T05:46:10.664Z
Learning: In the Armbian build system, the KERNEL_CONFIGURE=yes switch is deprecated. The recommended approach for kernel configuration is now to use the `kernel-config` build command, which provides a more structured way to configure kernel options.
Learnt from: EvilOlaf
PR: armbian/build#8330
File: config/sources/families/sun55iw3.conf:32-36
Timestamp: 2025-06-25T03:40:52.109Z
Learning: In Armbian build system configuration files like config/sources/families/*.conf, when KERNELSOURCE is not explicitly declared in a case branch, the system falls back to a default KERNELSOURCE value, so missing KERNELSOURCE declarations are not critical issues.
Learnt from: libiunc
PR: armbian/build#8033
File: config/kernel/linux-starfive2-vendor.config:43-43
Timestamp: 2025-03-31T12:57:13.880Z
Learning: For StarFive2 platform kernel configurations, maintain alignment with vendor-provided configurations rather than modifying security settings like SECCOMP. This ensures hardware compatibility as intended by the manufacturer.
Learnt from: pyavitz
PR: armbian/build#8388
File: config/boards/kickpik2b.conf:1-14
Timestamp: 2025-07-17T04:12:33.125Z
Learning: In the Armbian build system, board configuration files (*.conf) follow a project standard of not including shebang lines, even though they contain bash code and are sourced by the build system. This is an established Armbian convention that individual contributors are expected to follow, and changes to this standard would require broader project maintainer approval.
📚 Learning: 2025-06-16T03:24:00.458Z
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-06-16T03:24:00.458Z
Learning: In Armbian board configuration files (.csc), the standard pattern is to have only one line as a comment describing the board hardware specifications. This single-line description typically includes the SoC model, core count, RAM options, and key features like connectivity options, storage interfaces, and special features.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-17T04:16:29.551Z
Learnt from: pyavitz
PR: armbian/build#8388
File: config/boards/kickpik2b.conf:56-72
Timestamp: 2025-07-17T04:16:29.551Z
Learning: For AIC8800 Bluetooth devices in Armbian board configurations, systemd service configurations intentionally use Type=idle and boot delays because there is no compatibility to load AIC8800 bluetooth in mainline kernel. These delays and service timing are necessary workarounds for hardware limitations rather than performance issues.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-17T04:12:33.125Z
Learnt from: pyavitz
PR: armbian/build#8388
File: config/boards/kickpik2b.conf:1-14
Timestamp: 2025-07-17T04:12:33.125Z
Learning: In the Armbian build system, board configuration files (*.conf) follow a project standard of not including shebang lines, even though they contain bash code and are sourced by the build system. This is an established Armbian convention that individual contributors are expected to follow, and changes to this standard would require broader project maintainer approval.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-08-02T05:46:10.664Z
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-08-02T05:46:10.664Z
Learning: In the Armbian build system, the modern recommended approach for kernel configuration is to use the kernel-config command via "./compile.sh BOARD=boardname BRANCH=branchname kernel-config" instead of the deprecated KERNEL_CONFIGURE=yes flag. This provides a two-step workflow: configure using menuconfig, then build, with better transparency and control over configuration changes.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-03-31T12:57:13.880Z
Learnt from: libiunc
PR: armbian/build#8033
File: config/kernel/linux-starfive2-vendor.config:43-43
Timestamp: 2025-03-31T12:57:13.880Z
Learning: For StarFive2 platform kernel configurations, maintain alignment with vendor-provided configurations rather than modifying security settings like SECCOMP. This ensures hardware compatibility as intended by the manufacturer.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-25T03:51:50.830Z
Learnt from: EvilOlaf
PR: armbian/build#8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub or the PR API to get the complete picture of what files are being added or modified.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-08-03T15:21:20.148Z
Learnt from: pyavitz
PR: armbian/build#8455
File: config/sources/families/sun50iw1.conf:19-24
Timestamp: 2025-08-03T15:21:20.148Z
Learning: In the Armbian build system, when copying firmware files during family_tweaks_s(), use /lib/firmware/updates/ instead of /lib/firmware/ to avoid conflicts with the Armbian firmware package. The /lib/firmware/updates directory takes precedence in Linux firmware loading hierarchy and is the proper location for user-installed firmware files.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-21T04:12:02.439Z
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-07-21T04:12:02.439Z
Learning: In the Armbian build system, for recurring maintenance tasks like kernel version bumping, TODO comments should use generic version formats (e.g., "MAJOR.MINOR-rc1") rather than specific version numbers (e.g., "6.17-rc1") to avoid the need for frequent comment updates that would create unnecessary maintenance overhead.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-12T21:08:11.318Z
Learnt from: djurny
PR: armbian/build#8287
File: config/bootscripts/boot-sunxi.cmd:13-23
Timestamp: 2025-06-12T21:08:11.318Z
Learning: In config/bootscripts/boot-sunxi.cmd the variable name `align_overlap_oboe_avoidance` intentionally uses the acronym “OBOE” (Off-By-One Error); it is not a typo and should not be renamed.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-12T21:03:39.686Z
Learnt from: djurny
PR: armbian/build#8287
File: config/bootscripts/boot-sunxi.cmd:148-161
Timestamp: 2025-06-12T21:03:39.686Z
Learning: In Armbian U-Boot bootscripts, the `${cpu}` environment variable is always pre-set by U-Boot (or defaults to a valid value), so additional guards against it being unset are unnecessary.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-12T21:14:36.024Z
Learnt from: djurny
PR: armbian/build#8287
File: config/bootscripts/boot-sunxi.cmd:38-44
Timestamp: 2025-06-12T21:14:36.024Z
Learning: In config/bootscripts/boot-sunxi.cmd the unconditional "+1" increment in func_align_addr_next (when align_overlap_oboe_avoidance="on") is intentional. It compensates for a known off-by-one error in U-Boot where the end address is calculated as start+size instead of start+size-1, so the extra page prevents overlap. This behavior should not be “optimized away”.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-03-31T22:20:48.475Z
Learnt from: rpardini
PR: armbian/build#8044
File: patch/u-boot/v2025.04/cmd-fileenv-read-string-from-file-into-env.patch:76-86
Timestamp: 2025-03-31T22:20:48.475Z
Learning: For the Armbian build project, maintaining consistency with existing patches across U-Boot versions (such as between 2025.01 and 2025.04) is prioritized over refactoring individual patches for code improvements.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-24T10:08:40.313Z
Learnt from: EvilOlaf
PR: armbian/build#8328
File: lib/functions/compilation/patch/drivers_network.sh:542-545
Timestamp: 2025-06-24T10:08:40.313Z
Learning: In the Armbian build system, when a PR removes build support for a specific kernel version, version check issues for that removed version become practically irrelevant even if they appear incorrect in isolation. Context about which kernel versions are being deprecated/removed is important for understanding the impact of version-related code changes.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-25T03:51:50.830Z
Learnt from: EvilOlaf
PR: armbian/build#8428
File: config/boards/lckfb-taishanpi.csc:5-9
Timestamp: 2025-07-25T03:51:50.830Z
Learning: When reviewing PRs in the Armbian build system, U-Boot defconfig files and patches may be added as part of the PR changes but might not be visible in the current repository clone state during review. It's important to check the actual PR file changes directly via GitHub API (https://api.github.com/repos/armbian/build/pulls/{pr_number}/files) to get the complete picture of what files are being added or modified, especially for U-Boot patches that will be applied during the build process.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-25T03:40:52.109Z
Learnt from: EvilOlaf
PR: armbian/build#8330
File: config/sources/families/sun55iw3.conf:32-36
Timestamp: 2025-06-25T03:40:52.109Z
Learning: In Armbian build system configuration files like config/sources/families/*.conf, when KERNELSOURCE is not explicitly declared in a case branch, the system falls back to a default KERNELSOURCE value, so missing KERNELSOURCE declarations are not critical issues.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-04-30T16:16:47.150Z
Learnt from: The-going
PR: armbian/build#8147
File: config/sources/families/include/sunxi64_common.inc:38-39
Timestamp: 2025-04-30T16:16:47.150Z
Learning: The Armbian build system references Linux kernel versions in the form "tag:v6.14.4" in the KERNELBRANCH variable, even when point release tags might not be directly visible in the upstream repository in the same form.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-25T03:42:09.086Z
Learnt from: EvilOlaf
PR: armbian/build#8330
File: config/sources/families/sun55iw3.conf:32-36
Timestamp: 2025-06-25T03:42:09.086Z
Learning: In Armbian build system configuration files like config/sources/families/*.conf, KERNELSOURCE is explicitly declared when using unofficial or 3rd party kernel repositories (like the "dev" branch using https://github.com/apritzel/linux), but can be omitted when using the standard mainline kernel (like the "edge" branch) since it will fall back to the default mainline source.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-08-02T05:46:10.664Z
Learnt from: EvilOlaf
PR: armbian/build#0
File: :0-0
Timestamp: 2025-08-02T05:46:10.664Z
Learning: In the Armbian build system, the KERNEL_CONFIGURE=yes switch is deprecated. The recommended approach for kernel configuration is now to use the `kernel-config` build command, which provides a more structured way to configure kernel options.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-27T15:53:30.629Z
Learnt from: pyavitz
PR: armbian/build#8421
File: config/kernel/linux-sunxi64-edge.config:805-825
Timestamp: 2025-07-27T15:53:30.629Z
Learning: In the Armbian build system, kernel configurations prioritize broad hardware compatibility over optimization concerns. Even when including numerous legacy/obsolete drivers causes technical issues like increased initramfs size and slower enumeration, the project philosophy is to "appease the masses" by ensuring maximum device compatibility rather than optimizing for specific use cases.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-07-23T07:30:52.265Z
Learnt from: EvilOlaf
PR: armbian/build#8417
File: config/boards/orangepi5pro.csc:57-58
Timestamp: 2025-07-23T07:30:52.265Z
Learning: In the Armbian build system, BOOTPATCHDIR can contain board-specific subdirectories (e.g., board_orangepi5pro) for applying patches to specific boards only. The framework automatically checks if such board-specific subdirectories exist for the board being built and applies those patches accordingly.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-04T23:45:38.860Z
Learnt from: djurny
PR: armbian/build#8272
File: config/bootscripts/boot-mvebu.cmd:182-186
Timestamp: 2025-06-04T23:45:38.860Z
Learning: In config/bootscripts/boot-mvebu.cmd, the `fdtfile` variable is mandatory for booting and is pre-set by U-Boot, but can be overridden via armbianEnv.txt. If `fdtfile` is empty, the subsequent device tree file search logic will eventually fail and trigger the critical error "Cannot find DT!" with proper error handling.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-05-05T12:35:07.143Z
Learnt from: Grippy98
PR: armbian/build#8152
File: lib/functions/configuration/interactive.sh:209-266
Timestamp: 2025-05-05T12:35:07.143Z
Learning: For the interactive kernel selection in Armbian, KERNEL_MAJOR_MINOR and KERNEL_DESCRIPTION are parsed from family.conf but deliberately not set as environment variables to avoid potential interference with other parts of the build system.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-14T05:53:10.627Z
Learnt from: EvilOlaf
PR: armbian/build#8298
File: extensions/https_proxy.sh:1-9
Timestamp: 2025-06-14T05:53:10.627Z
Learning: Armbian build framework extensions are NOT designed to run standalone but are called by the supervisor. The framework provides environment variables like USERPATCHES_PATH and SDCARD, and commands are executed with protection via run_host_command_logged and chroot_sdcard functions that use bash -e -o pipefail.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-08-02T14:59:28.145Z
Learnt from: amazingfate
PR: armbian/build#8453
File: lib/functions/compilation/patch/drivers_network.sh:213-216
Timestamp: 2025-08-02T14:59:28.145Z
Learning: The wireless driver patches wireless-rtl8812au-Fix-6.16.patch, wireless-rtl8811cu-Fix-6.16.patch, and wireless-rtl88x2bu-Fix-6.16.patch in the Armbian build system are backward compatible and can be applied unconditionally without version checks, even though they're named for 6.16+ fixes.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
📚 Learning: 2025-06-14T05:53:10.627Z
Learnt from: EvilOlaf
PR: armbian/build#8298
File: extensions/https_proxy.sh:1-9
Timestamp: 2025-06-14T05:53:10.627Z
Learning: In Armbian build framework, extensions are loaded and executed via lib/functions/general/extensions.sh using call_extension_method. The framework sets set -o errexit and set -o errtrace globally, and individual commands run with pipefail protection through the command execution functions.

Applied to files:

  • config/boards/radxa-cubie-a5e.csc
🔇 Additional comments (5)
config/boards/radxa-cubie-a5e.csc (5)

5-5: LGTM - Boot configuration name updated appropriately.

The change from "radxa-a5e_defconfig" to "radxa-cubie-a5e_defconfig" aligns with the board naming convention and the PR objectives for migrating the Cubie A5E to mainline kernel.


8-8: LGTM - Kernel target updated for mainline migration.

The change from "dev" to "edge" kernel target correctly aligns with the PR objectives to migrate to mainline Linux kernel 6.16, as configured in the sun55iw3 family configuration.


17-17: LGTM - Bluetooth package additions are appropriate.

The addition of "rfkill bluetooth bluez bluez-tools" packages properly supports the AIC8800 Bluetooth functionality being added to this board configuration.


19-21: LGTM - AIC8800 configuration follows Armbian conventions.

The AIC8800_TYPE="sdio" setting and radxa-aic8800 extension enablement correctly configure the wireless chipset support for this board.


51-54: LGTM - Bluetooth service enablement follows Armbian patterns.

The systemd service enablement function correctly uses the chroot_sdcard function with proper systemctl flags. The Type=idle and boot delays mentioned in the learnings are handled by the service file itself, not this configuration.

Copy link
Member

@igorpecovnik igorpecovnik left a comment

Choose a reason for hiding this comment

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

I think we can merge this (squashed).

@EvilOlaf
Copy link
Member

It seems like the resulting package is released as sunxi64 which makes them available to all devices of this family including devices with H616 SoC for example. This causes them to fail since literally hundreds of patches are missing.

@igorpecovnik
Copy link
Member

igorpecovnik commented Aug 18, 2025

oh, damn. I though we already migrated sunxi64 to 6.16 ... this has to be bumped and merged asap.

@EvilOlaf
Copy link
Member

EvilOlaf commented Aug 18, 2025

this has to be bumped and merged asap.

The fast/easy route is to remove these packages from mirrors and disable generation for A5E. A fast bump of sunxi is impossible without regression since it has literally hundreds of patches ontop of mainline.
@The-going FYI

@YaoFei509
Copy link
Contributor

WTF! My zero2 and zero3 lost wifi and all of overlays after update .

@leggewie
Copy link
Contributor

WTF! My zero2 and zero3 lost wifi and all of overlays after update .

Dude, if you continue to be unable to watch your language and attitude, I will ask my fellow contributors to this project to block distractors like you. Be positive or be lost. This is edge, get lost if you can't deal with breakage in FOSS edge.

@igorpecovnik
Copy link
Member

igorpecovnik commented Aug 18, 2025

blocked for 7 days, permanent if this doesn't stop.

@coderabbitai coderabbitai bot mentioned this pull request Sep 1, 2025
8 tasks
@coderabbitai coderabbitai bot mentioned this pull request Sep 10, 2025
6 tasks
@The-going
Copy link
Contributor

The-going commented Sep 14, 2025

this has to be bumped and merged asap.

The fast/easy route is to remove these packages from mirrors and disable generation for A5E. A fast bump of sunxi is impossible without regression since it has literally hundreds of patches ontop of mainline. @The-going FYI

To be precise, this is 460 patches.
Please excuse my silence.
Githab was inaccessible to me at that time. I didn't even get a letter from him that I was mentioned here.

@igorpecovnik I think it is easier to move these patches to another folder (patch/kernel/archive/sunxi-dev-6.16)
and ask the author to fix the patch design, since some of them cannot be applied as the git am command
and contain the end of a line from windows.
I see this when I press gitk 83f33fa122351e113f2e7c9a8 -1
patch_r_end_line

The content of the patches itself seems normal to me and can be added to the overall series with minimal conflicts.
@juanesf Can you fix the patch design?
I.e. apply patches one by one as a git am command and then extract them as a git format-patch -24 -o /path/to/folder.

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

Labels

05 Milestone: Second quarter release 08 Milestone: Third quarter release BSP Board Support Packages Framework Framework components Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

7 participants