Skip to content

Conversation

@rpardini
Copy link
Member

@rpardini rpardini commented Jan 7, 2026

  • 🌱 cm3588-nas: u-boot: bump v2026.01-rc2 -> v2026.01-rc
  • 🌿 khadas-vim3l: u-boot: bump v2026.01-rc2 -> v2026.01
  • 🍃 mekotronics-458-4x4: : bump v2026.01-rcX -> v2026.01
  • 🍀 nanopct6: u-boot: bump v2026.01-rc2 -> v2026.01
  • 🐸 nanopi-r6c: u-boot: bump v2026.01-rc2 -> v2026.01
  • 🌳 nanopi-r76s: u-boot: bump v2026.01-rcX -> v2026.01
  • 🌴 odroidhc4: u-boot: bump v2026.01-rc2 -> v2026.01
  • 🌵 odroidn2: u-boot: bump v2026.01-rcX -> v2026.01
  • 🌱 rock-5b: u-boot: bump v2026.01-rc2 -> v2026.01
  • 🌿 this is tedious. time for UBOOT_MAJOR_MINOR?

Summary by CodeRabbit

  • Chores
    • Updated bootloader configurations for multiple supported boards to use the stable release version instead of release candidate versions.

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

- cm3588-nas: u-boot: bump v2026.01-rc2 -> v2026.01-rc
- khadas-vim3l: u-boot: bump v2026.01-rc2 -> v2026.01
- mekotronics-458-4x4: : bump v2026.01-rcX -> v2026.01
- nanopct6: u-boot: bump v2026.01-rc2 -> v2026.01
- nanopi-r6c: u-boot: bump v2026.01-rc2 -> v2026.01
- nanopi-r76s: u-boot: bump v2026.01-rcX -> v2026.01
- odroidhc4: u-boot: bump v2026.01-rc2 -> v2026.01
- odroidn2: u-boot: bump v2026.01-rcX -> v2026.01
- rock-5b: u-boot: bump v2026.01-rc2 -> v2026.01
- this is tedious. time for `UBOOT_MAJOR_MINOR`?
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 7, 2026

📝 Walkthrough

Walkthrough

This PR updates U-Boot boot branch tags from release-candidate versions (rc2, rc4, rc5) to the final v2026.01 release across 11 board configuration files and one hooks script, without modifying any logic or control flow.

Changes

Cohort / File(s) Summary
Board Config BOOTBRANCH Updates
config/boards/cm3588-nas.csc, config/boards/khadas-vim3l.conf, config/boards/mekotronics-r58-4x4.conf, config/boards/mixtile-core3588e.csc, config/boards/nanopct6.conf, config/boards/nanopi-r6c.csc, config/boards/nanopi-r76s.conf, config/boards/odroidhc4.csc, config/boards/odroidn2.conf, config/boards/rock-5b.conf
Updated BOOTBRANCH variable from release-candidate tags (tag:v2026.01-rc2, tag:v2026.01-rc4, tag:v2026.01-rc5) to final release tag (tag:v2026.01) in mainline U-Boot post-configuration functions.
Vendor Hook Script Update
config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
Updated BOOTBRANCH from tag:v2026.01-rc5 to tag:v2026.01 for mainline U-Boot configuration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested reviewers

  • igorpecovnik
  • amazingfate
  • catalinii
  • paolosabatino

Poem

🐰 twitches whiskers with glee
From RC dreams to release so fine,
Boot tags bumped across the line,
Eleven boards now sing in sync,
With v2026.01's final link! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately reflects the main change: bumping U-Boot from release-candidate versions to v2026.01 final across multiple boards. It is concise, specific, and clearly summarizes the primary objective of the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7f9d663 and a6229aa.

📒 Files selected for processing (11)
  • config/boards/cm3588-nas.csc
  • config/boards/khadas-vim3l.conf
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopct6.conf
  • config/boards/nanopi-r6c.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidhc4.csc
  • config/boards/odroidn2.conf
  • config/boards/rock-5b.conf
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
🧰 Additional context used
🧠 Learnings (33)
📓 Common learnings
Learnt from: rpardini
Repo: armbian/build PR: 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
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-19T13:56:45.124Z
Learning: When reviewing kernel or u-boot version bump PRs in the Armbian build system, check if patches existed in previous kernel version directories (e.g., sunxi-6.12, sunxi-6.13) before describing them as new features. If a patch and the majority of its contents existed previously with no major functionality changes, focus the review on the actual changes: the version bump itself and patch compatibility adjustments. Don't describe existing patches being ported/maintained across versions as new features or drivers—this is misleading. The patches are existing code being re-aligned to work with the new upstream version.
Learnt from: EvilOlaf
Repo: armbian/build PR: 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: rpardini
Repo: armbian/build PR: 9159
File: patch/u-boot/u-boot-genio/0026-dts-configs-add-Grinn-GenioSBC-510.patch:161-161
Timestamp: 2026-01-03T20:46:29.189Z
Learning: For the Armbian genio family (config/sources/families/genio.conf and patch/u-boot/u-boot-genio/), when reviewing PRs that include vendor U-Boot patches from Collabora, avoid flagging potential issues in board configurations that are out of scope for the PR's primary focus (e.g., don't flag Genio 510/700 board issues when the PR is focused on radxa-nio-12l/Genio 1200). The maintainer prioritizes keeping vendor patches close to upstream for easier re-copying and maintenance, even if secondary board configs have potential mismatches.
<!-- </add_learning>
Learnt from: rpardini
Repo: armbian/build PR: 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
Repo: armbian/build PR: 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: EvilOlaf
Repo: armbian/build PR: 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: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:222-230
Timestamp: 2025-09-14T06:32:29.806Z
Learning: In the Armbian build system, the write_uboot_platform() function implementations follow different patterns across Rockchip family files. The newer standard (used in rockchip64_common.inc and rk3506) includes 'status=none' parameter in dd commands, while older implementations (rk3288, rk322x) use an older pattern without this parameter. The rk3506 implementation correctly follows the current Rockchip family standard.
Learnt from: pyavitz
Repo: armbian/build PR: 9058
File: patch/u-boot/legacy/u-boot-spacemit-k1/003-SpacemiT-K1X-Fixups.patch:28-67
Timestamp: 2025-12-13T11:39:08.046Z
Learning: In the Armbian build system for SpacemiT U-Boot patches (patch/u-boot/legacy/u-boot-spacemit-k1/), alignment with mainline U-Boot behavior is prioritized. For example, in boot mode handling, leaving devnum unchanged in the default case (when devtype is cleared) follows mainline conventions rather than explicitly clearing it to handle edge cases.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8968
File: patch/u-boot/u-boot-sunxi/arm64-dts-sun50i-h6-orangepi.dtsi-Rollback-r_rsb-to-r_i2c.patch:36-36
Timestamp: 2025-11-20T18:20:11.985Z
Learning: The rewrite-patches tool (REWRITE_PATCHES=yes) in the Armbian build system can inadvertently introduce semantic changes when the u-boot/kernel git base revision differs from expected state. The tool applies patches, commits them, and re-exports them using git format-patch, which can cause the re-exported patch to reflect the base revision's state rather than preserving the original patch intent. This is particularly problematic for device tree changes like interrupt specifications. The tool currently lacks validation mechanisms to detect such semantic drift, and affected patches must be manually corrected after rewriting.
📚 Learning: 2025-10-14T05:08:11.785Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8754
File: config/boards/bestv-r3300-l.csc:14-16
Timestamp: 2025-10-14T05:08:11.785Z
Learning: In the Armbian build system, BOOTBRANCH_BOARD is a valid framework variable used as a fallback when BOOTBRANCH is unset. The framework checks BOOTBRANCH_BOARD before applying the default bootloader branch value (see config/sources/common.conf). Board configuration files can use BOOTBRANCH_BOARD to specify the bootloader branch.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-11-02T20:49:56.719Z
Learnt from: igorpecovnik
Repo: armbian/build PR: 8849
File: config/boards/radxa-e54c.csc:14-28
Timestamp: 2025-11-02T20:49:56.719Z
Learning: In Armbian board configuration files (config/boards/*.conf, *.csc, etc.), do not use kernel_config_set, kernel_config_set_m, kernel_config_set_y, or custom_kernel_config__* functions to modify kernel configuration. Kernel configuration is associated with LINUXFAMILY/BOARDFAMILY, not individual BOARD. Board-specific kernel modifications cause inconsistency in kernel packages published to the apt repository because boards within a family share the same kernel packages. Kernel configuration changes must be made in the appropriate kernel config file (e.g., config/kernel/linux-*-*.config) or in family configuration files (config/sources/families/*.conf, *.inc) instead.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-12-13T11:39:08.046Z
Learnt from: pyavitz
Repo: armbian/build PR: 9058
File: patch/u-boot/legacy/u-boot-spacemit-k1/003-SpacemiT-K1X-Fixups.patch:28-67
Timestamp: 2025-12-13T11:39:08.046Z
Learning: In the Armbian build system for SpacemiT U-Boot patches (patch/u-boot/legacy/u-boot-spacemit-k1/), alignment with mainline U-Boot behavior is prioritized. For example, in boot mode handling, leaving devnum unchanged in the default case (when devtype is cleared) follows mainline conventions rather than explicitly clearing it to handle edge cases.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2026-01-03T20:46:29.189Z
Learnt from: rpardini
Repo: armbian/build PR: 9159
File: patch/u-boot/u-boot-genio/0026-dts-configs-add-Grinn-GenioSBC-510.patch:161-161
Timestamp: 2026-01-03T20:46:29.189Z
Learning: For the Armbian genio family (config/sources/families/genio.conf and patch/u-boot/u-boot-genio/), when reviewing PRs that include vendor U-Boot patches from Collabora, avoid flagging potential issues in board configurations that are out of scope for the PR's primary focus (e.g., don't flag Genio 510/700 board issues when the PR is focused on radxa-nio-12l/Genio 1200). The maintainer prioritizes keeping vendor patches close to upstream for easier re-copying and maintenance, even if secondary board configs have potential mismatches.
<!-- </add_learning>

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-03-31T22:20:48.475Z
Learnt from: rpardini
Repo: armbian/build PR: 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/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-03-31T22:20:41.849Z
Learnt from: rpardini
Repo: armbian/build PR: 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.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-09-12T19:28:38.491Z
Learnt from: Grippy98
Repo: armbian/build PR: 8622
File: config/sources/families/k3.conf:66-66
Timestamp: 2025-09-12T19:28:38.491Z
Learning: In the Armbian k3 family build system (config/sources/families/k3.conf), builds do not fail when TIBOOT3_BOOTCONFIG is unset, even though tiboot3.bin is still listed in UBOOT_TARGET_MAP. The gating mechanism in pre_config_uboot_target__build_first_stage function works as intended to conditionally build/copy tiboot3.bin only when TIBOOT3_BOOTCONFIG is defined.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-10-26T10:41:35.118Z
Learnt from: HackingGate
Repo: armbian/build PR: 8665
File: config/boards/photonicat2.csc:4-4
Timestamp: 2025-10-26T10:41:35.118Z
Learning: In the Armbian build system, rk3576 boards consistently use BOARDFAMILY="rk35xx" for both vendor and edge kernel targets. The rk35xx family configuration sources rockchip64_common.inc, which provides edge and current kernel branch definitions, making these branches available even though they're not defined directly in rk35xx.conf.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-11-10T22:05:40.490Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8913
File: config/sources/families/k3-beagle.conf:16-16
Timestamp: 2025-11-10T22:05:40.490Z
Learning: In the Armbian build system, kernel branches using non-mainline/vendor forks (like BeagleBoard's linux repository) should be named "vendor" or "vendor-rt" rather than "current" or "edge". The "current" and "edge" naming is reserved for mainline kernel branches. This affects both the case statement in family config files (e.g., `vendor | vendor-rt)` instead of `current | current-rt)`) and the corresponding KERNEL_TARGET declarations in board config files.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/odroidn2.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-12-13T11:45:02.422Z
Learnt from: pyavitz
Repo: armbian/build PR: 9058
File: patch/u-boot/legacy/u-boot-spacemit-k1/003-SpacemiT-K1X-Fixups.patch:17-25
Timestamp: 2025-12-13T11:45:02.422Z
Learning: In the SpacemiT U-Boot patches for Armbian (patch/u-boot/legacy/u-boot-spacemit-k1/), the environment variable `devnum` is set to the device name string (e.g., "mmc", "nvme") rather than a numeric index, and `distro_bootpart` holds the partition number. This implementation aligns with mainline U-Boot conventions for the SpacemiT platform and has been verified to work correctly by the maintainer.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-07-23T07:30:52.265Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-09-07T17:39:32.272Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8586
File: config/boards/nanopi-r76s.conf:15-21
Timestamp: 2025-09-07T17:39:32.272Z
Learning: In the Armbian build system, the variables $BOARD and $SDCARD are always set by the build framework, so guard checks for these variables are unnecessary in board configuration files and hook functions.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopct6.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
📚 Learning: 2025-11-13T14:50:44.662Z
Learnt from: tabrisnet
Repo: armbian/build PR: 8925
File: lib/functions/host/docker.sh:141-141
Timestamp: 2025-11-13T14:50:44.662Z
Learning: In the Armbian build system, certain boards have U-Boot that doesn't build correctly on ubuntu:noble but works on ubuntu:jammy. For these boards, DOCKER_ARMBIAN_BASE_IMAGE can be set to "ubuntu:jammy" via an extension file loaded before docker_cli_prepare() runs, allowing legacy toolchains to work while the community works on proper fixes with limited resources.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/rock-5b.conf
📚 Learning: 2025-09-14T11:37:35.089Z
Learnt from: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:65-72
Timestamp: 2025-09-14T11:37:35.089Z
Learning: In the Armbian build system, patch directories referenced in BOOTPATCHDIR and KERNELPATCHDIR configurations can be non-existent without causing build failures. Empty patch directories are also ignored by git, so missing patch directories should not be flagged as errors during code review.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
📚 Learning: 2025-12-28T15:39:55.793Z
Learnt from: rpardini
Repo: armbian/build PR: 9119
File: config/boards/mixtile-core3588e.csc:1-1
Timestamp: 2025-12-28T15:39:55.793Z
Learning: In board configuration comments, e.g., a reference to Jetson SoM, treat it as indicating compatibility with the form factor/pin layout rather than implying the board uses an NVIDIA Jetson product. This helps reviewers avoid misclassifying boards as Jetson-based. Apply this understanding broadly to all .csc files under config/boards to ensure consistent interpretation of form-factor references.

Applied to files:

  • config/boards/mixtile-core3588e.csc
  • config/boards/cm3588-nas.csc
  • config/boards/nanopi-r6c.csc
  • config/boards/odroidhc4.csc
📚 Learning: 2025-09-14T06:32:29.806Z
Learnt from: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:222-230
Timestamp: 2025-09-14T06:32:29.806Z
Learning: In the Armbian build system, the write_uboot_platform() function implementations follow different patterns across Rockchip family files. The newer standard (used in rockchip64_common.inc and rk3506) includes 'status=none' parameter in dd commands, while older implementations (rk3288, rk322x) use an older pattern without this parameter. The rk3506 implementation correctly follows the current Rockchip family standard.

Applied to files:

  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/nanopct6.conf
  • config/boards/cm3588-nas.csc
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
  • config/boards/nanopi-r6c.csc
  • config/boards/mekotronics-r58-4x4.conf
  • config/boards/rock-5b.conf
📚 Learning: 2025-07-17T04:12:33.125Z
Learnt from: pyavitz
Repo: armbian/build PR: 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/nanopi-r76s.conf
  • config/boards/odroidn2.conf
📚 Learning: 2025-11-15T14:33:30.654Z
Learnt from: SuperKali
Repo: armbian/build PR: 8936
File: patch/kernel/archive/rockchip64-6.18/dt/rk3576-nanopi-r76s.dts:800-802
Timestamp: 2025-11-15T14:33:30.654Z
Learning: In RK3576 device tree files (like rk3576-nanopi-r76s.dts), the serial0 alias is already defined in the upstream kernel's rk3576.dtsi base file, so board-specific DTS files do not need to redeclare it when enabling &uart0 for serial console.

Applied to files:

  • config/boards/nanopi-r76s.conf
📚 Learning: 2025-12-19T13:56:45.124Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-19T13:56:45.124Z
Learning: When reviewing kernel or u-boot version bump PRs in the Armbian build system, check if patches existed in previous kernel version directories (e.g., sunxi-6.12, sunxi-6.13) before describing them as new features. If a patch and the majority of its contents existed previously with no major functionality changes, focus the review on the actual changes: the version bump itself and patch compatibility adjustments. Don't describe existing patches being ported/maintained across versions as new features or drivers—this is misleading. The patches are existing code being re-aligned to work with the new upstream version.

Applied to files:

  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/nanopi-r6c.csc
  • config/boards/odroidhc4.csc
📚 Learning: 2025-09-18T03:36:17.862Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8537
File: config/boards/qcom-robotics-rb5.conf:1-1
Timestamp: 2025-09-18T03:36:17.862Z
Learning: In Armbian board configuration files (regardless of file extension), 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. The file extensions indicate board support status: .conf (standard support), .csc (community supported), .eos (end of support), .tvb (tvbox), .wip (work in progress).

Applied to files:

  • config/boards/nanopi-r76s.conf
  • config/boards/odroidn2.conf
📚 Learning: 2025-06-04T23:45:38.860Z
Learnt from: djurny
Repo: armbian/build PR: 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/nanopi-r76s.conf
📚 Learning: 2025-06-12T21:03:39.686Z
Learnt from: djurny
Repo: armbian/build PR: 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/nanopi-r76s.conf
📚 Learning: 2025-11-20T18:20:11.985Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8968
File: patch/u-boot/u-boot-sunxi/arm64-dts-sun50i-h6-orangepi.dtsi-Rollback-r_rsb-to-r_i2c.patch:36-36
Timestamp: 2025-11-20T18:20:11.985Z
Learning: The rewrite-patches tool (REWRITE_PATCHES=yes) in the Armbian build system can inadvertently introduce semantic changes when the u-boot/kernel git base revision differs from expected state. The tool applies patches, commits them, and re-exports them using git format-patch, which can cause the re-exported patch to reflect the base revision's state rather than preserving the original patch intent. This is particularly problematic for device tree changes like interrupt specifications. The tool currently lacks validation mechanisms to detect such semantic drift, and affected patches must be manually corrected after rewriting.

Applied to files:

  • config/boards/odroidn2.conf
  • config/boards/khadas-vim3l.conf
  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
📚 Learning: 2025-07-25T03:51:50.830Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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/odroidn2.conf
  • config/boards/odroidhc4.csc
📚 Learning: 2025-04-30T16:16:47.150Z
Learnt from: The-going
Repo: armbian/build PR: 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/nanopct6.conf
  • config/boards/cm3588-nas.csc
  • config/boards/nanopi-r6c.csc
  • config/boards/odroidhc4.csc
📚 Learning: 2025-09-14T06:29:18.958Z
Learnt from: amazingfate
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:29:18.958Z
Learning: In the Armbian build system, vendor branch configurations in family files are designed to be shared across multiple SoCs within the same family that use the same vendor kernel tree. For example, rk35xx and rockchip-rk3588 families both use identical vendor branch settings (same KERNELSOURCE, KERNELBRANCH, and KERNELPATCHDIR), demonstrating that vendor branches are intentionally generic rather than SoC-specific.

Applied to files:

  • config/boards/nanopct6.conf
  • config/boards/khadas-vim3l.conf
  • config/boards/cm3588-nas.csc
  • config/boards/nanopi-r6c.csc
  • config/boards/rock-5b.conf
📚 Learning: 2025-08-02T05:46:10.664Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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/nanopct6.conf
  • config/boards/mekotronics-r58-4x4.conf
📚 Learning: 2025-12-17T05:09:02.306Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-12-17T05:09:02.306Z
Learning: In the Armbian build system, kernel patches (e.g., in patch/kernel/archive/sunxi-6.18/patches.armbian/) contain device tree overlays and other code that have existed for years and are maintained/ported across kernel versions. When reviewing PRs that modify these patch files, focus on the actual changes being made (e.g., Makefile fixes, new additions) rather than reviewing the entire existing content within the patch as if it were new code. The patch file contents are existing, stable code unless explicitly modified in the PR diff.

Applied to files:

  • config/boards/khadas-vim3l.conf
📚 Learning: 2025-09-12T21:44:09.061Z
Learnt from: Grippy98
Repo: armbian/build PR: 8624
File: config/boards/sk-am62p.conf:8-8
Timestamp: 2025-09-12T21:44:09.061Z
Learning: For TI K3 family boards in Armbian, BOOT_FDT_FILE uses .dts extension (not .dtb) as the standard convention. The build system handles this correctly by automatically compiling .dts to .dtb during kernel build and using the BOOT_FDT_FILE value directly in bootloader configurations.

Applied to files:

  • config/boards/khadas-vim3l.conf
📚 Learning: 2025-11-08T06:39:24.527Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8886
File: patch/kernel/rk35xx-vendor-6.1/dt/rk3528-nanopi-rev01.dts:9-9
Timestamp: 2025-11-08T06:39:24.527Z
Learning: In Armbian's Rockchip vendor kernel branches (rk35xx-vendor), device tree files may not require the same headers as mainline Linux. For example, input key definitions like KEY_BACK and KEY_VOLUMEUP may be handled differently in BSP kernels and don't necessarily need explicit includes like <dt-bindings/input/input.h> that would be required in mainline kernel device trees.

Applied to files:

  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
📚 Learning: 2025-12-18T23:40:41.627Z
Learnt from: rpardini
Repo: armbian/build PR: 9101
File: lib/functions/image/compress-checksum.sh:44-48
Timestamp: 2025-12-18T23:40:41.627Z
Learning: In the Armbian build framework, scripts run with set -e, so a non-zero exit status will abort the script. During reviews, assume failures will stop execution unless explicitly handled. Verify that commands that must fail are checked, errors are propagated, and any critical steps have proper error handling (e.g., using pipefail where appropriate, checking exit codes, and not masking failures).

Applied to files:

  • config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh
📚 Learning: 2025-07-21T04:12:02.439Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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/nanopi-r6c.csc
  • config/boards/odroidhc4.csc
🔇 Additional comments (11)
config/boards/nanopi-r6c.csc (1)

41-41: LGTM! Version bump to final release.

The U-Boot version update from rc2 to the final v2026.01 release is correct and aligns with the PR objective.

config/boards/nanopi-r76s.conf (1)

32-32: LGTM! Version bump to final release.

The U-Boot version update from rc2 to the final v2026.01 release is correct and aligns with the PR objective.

config/boards/khadas-vim3l.conf (1)

16-16: LGTM! Version bump to final release.

The U-Boot version update from rc2 to the final v2026.01 release is correct and aligns with the PR objective.

config/boards/odroidn2.conf (1)

19-19: LGTM! Version bump to final release.

The U-Boot version update from rc2 to the final v2026.01 release is correct and aligns with the PR objective.

config/sources/vendors/mekotronics/mekotronics-rk3588.hooks.sh (1)

34-34: LGTM! Version bump to final release.

The U-Boot version update from rc5 to the final v2026.01 release is correct and aligns with the PR objective.

config/boards/cm3588-nas.csc (1)

47-47: LGTM - Consistent version bump.

The update from tag:v2026.01-rc2 to tag:v2026.01 is consistent with the PR's objective and aligns with the same change pattern across other boards.

config/boards/nanopct6.conf (1)

47-47: LGTM - Version bump applied correctly.

The update from tag:v2026.01-rc2 to tag:v2026.01 follows the same pattern as other boards in this PR.

config/boards/rock-5b.conf (1)

42-42: LGTM - U-Boot version bump is correct.

The update from tag:v2026.01-rc2 to tag:v2026.01 is consistent with the PR's scope.

config/boards/odroidhc4.csc (1)

16-16: LGTM - Version bump applied correctly.

The update from tag:v2026.01-rc2 to tag:v2026.01 is correct. The use of BOOTBRANCH_BOARD (instead of BOOTBRANCH) is a valid framework variable for board-specific bootloader branch specification.

config/boards/mekotronics-r58-4x4.conf (1)

32-32: U-Boot version bump to v2026.01 is correct.

The update from tag:v2026.01-rc5 to tag:v2026.01 aligns with the PR objective of moving to the final v2026.01 release. The v2026.01 tag exists, and the corresponding patch directory with board-specific defconfig for mekotronics-r58-4x4 is in place.

config/boards/mixtile-core3588e.csc (1)

38-38: Version bump to final release is valid.

The update from v2026.01-rc4 to v2026.01 is correct, and BOOTPATCHDIR on line 39 is already aligned with the final version.


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

❤️ Share

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

@github-actions github-actions bot added 02 Milestone: First quarter release size/small PR with less then 50 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels Jan 7, 2026
@rpardini rpardini marked this pull request as ready for review January 7, 2026 16:42
@rpardini
Copy link
Member Author

rpardini commented Jan 7, 2026

Some of those boards (using mainline ATF) probably suffers from #9162 (atf: once again no-warn-rwx-segment woes) depending on which HOSTRELEASE they're built on.

@rpardini rpardini added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Jan 7, 2026
@igorpecovnik igorpecovnik merged commit 0f5db61 into armbian:main Jan 8, 2026
1 check passed
@juanesf
Copy link
Collaborator

juanesf commented Jan 8, 2026

@igorpecovnik
Copy link
Member

I believe yes.

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

Labels

02 Milestone: First quarter release Hardware Hardware related like kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

3 participants