WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@SuperKali
Copy link
Member

@SuperKali SuperKali commented Nov 15, 2025

Description

Fix serial console configuration for RK3576 SoC boards.

Different Rockchip SoCs use different UARTs for debug console:

  • RK3576: UART0 (ttyS0) as per datasheet
  • RK3588 and others: UART2 (ttyS2)

Changes

  • Updated rockchip64_common to set console based on BOOT_SOC
  • Removed SERIALCON="ttyS0" to NanoPi R76s & M5 board configs
  • Updated boot script to use ttyS0 for RK3576
  • Enabled uart0 in NanoPi R76S device tree

How Has This Been Tested?

  • Boot tested on NanoPi R76S
  • Serial console working at 1500000 baud
  • Verified on edge/current kernel

Checklist:

Please delete options that are not relevant.

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for RK3576 SoC across multiple board configurations.
    • Enabled additional UART interface on NanoPi R76S.
  • Configuration Changes

    • Updated serial console defaults to use ttyS0 for RK3576 boards and ttyS2 for other variants.
    • Adjusted serial configuration parameters for improved compatibility.

Update the serial console device from ttyS2 to ttyS0 to match
the RK3576 hardware configuration. According to the datasheet,
UART0 is the primary debug console interface on this SoC.

The baud rate remains at 1500000 as per Rockchip standard.

Tested-on: NanoPi R76S edge/vendor kernel
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 15, 2025

Walkthrough

This PR refactors serial console configuration for Rockchip SoCs. It removes board-specific SERIALCON overrides, centralizes SoC-aware defaults in the common include, updates the boot script to use ttyS0 for rk3576, and enables UART0 in the device tree for NanoPi R76S.

Changes

Cohort / File(s) Summary
Board Configuration Removal
config/boards/nanopi-m5.conf, config/boards/nanopi-r76s.conf
Removed board-level SERIALCON="ttyS0" variable declarations
Boot Script Console Configuration
config/bootscripts/boot-rk3576.cmd
Changed serial console device from ttyS2 to ttyS0 at 1500000 baud in boot parameter assignment
Common Rockchip Configuration
config/sources/families/include/rockchip64_common.inc
Refactored late-serial-console logic to be SoC-aware: set SERIALCON to ttyS0 for rk3576 and ttyS2 for other SoCs; added early return to preserve existing SERIALCON values; updated debug messages to include SOC information
Device Tree UART Support
patch/kernel/archive/rockchip64-6.18/dt/rk3576-nanopi-r76s.dts
Added &uart0 node with status = "okay" to enable UART0 on NanoPi R76S

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • rockchip64_common.inc: Verify SoC-aware conditional logic and SERIALCON preservation mechanism are correct and don't inadvertently override intended configurations
  • boot-rk3576.cmd: Confirm the ttyS0 change is correct for rk3576 and won't break other boot scenarios
  • Device tree addition: Ensure UART0 enablement doesn't conflict with existing UART5 configuration or other device tree settings

Possibly related PRs

Suggested reviewers

  • amazingfate
  • igorpecovnik
  • krachlatte
  • paolosabatino
  • prahal
  • rpardini

Poem

🐰 A serial tale of tails and UART,
Where ttyS0 now claims the rk3576 heart,
Board configs vanish, defaults take flight,
SoC-aware wisdom sets everything right!
From device trees to boots, all aligned—
Console configuration, refactored and refined!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: fixing serial console configuration for RK3576 to use UART0 (ttyS0) instead of UART2, which aligns with all modified files and PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@github-actions github-actions bot added 11 Milestone: Fourth quarter release size/small PR with less then 50 lines Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Nov 15, 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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
config/boards/armsom-cm5-rpi-cm4-io.csc (1)

1-21: Add BOOT_SOC setting to bananapim5pro.conf.

Verification found that bananapim5pro.conf is the only RK3576 board missing the BOOT_SOC="rk3576" configuration. While the file under review (armsom-cm5-rpi-cm4-io.csc) is correctly configured, bananapim5pro.conf needs to be updated for consistency with other RK3576 boards (armsom-sige5.csc, radxa-cm4-io.csc, nanopi-m5.conf, armsom-cm5-io.csc, radxa-rock-4d.csc, dshanpi-a1.csc, nanopi-r76s.conf).

📜 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 9b5518d and c408536.

📒 Files selected for processing (11)
  • config/boards/armsom-cm5-io.csc (1 hunks)
  • config/boards/armsom-cm5-rpi-cm4-io.csc (1 hunks)
  • config/boards/armsom-sige5.csc (1 hunks)
  • config/boards/dshanpi-a1.csc (1 hunks)
  • config/boards/nanopi-m5.conf (1 hunks)
  • config/boards/nanopi-r76s.conf (1 hunks)
  • config/boards/radxa-cm4-io.csc (1 hunks)
  • config/boards/radxa-rock-4d.csc (1 hunks)
  • config/bootscripts/boot-rk3576.cmd (1 hunks)
  • config/sources/families/include/rockchip64_common.inc (2 hunks)
  • patch/kernel/archive/rockchip64-6.18/dt/rk3576-nanopi-r76s.dts (1 hunks)
🧰 Additional context used
🧠 Learnings (27)
📓 Common learnings
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: 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.
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: 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: 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.
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.
Learnt from: EvilOlaf
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:10:25.610Z
Learning: In the Armbian build system, rk32xx and rk33xx Rockchip SoCs no longer have BSP-based (vendor) kernel branches. The rk3506 is the first 32-bit Rockchip SoC to use the vendor branch in the current codebase.
Learnt from: glneo
Repo: armbian/build PR: 8913
File: config/sources/families/include/k3_common.inc:57-60
Timestamp: 2025-11-11T20:56:20.303Z
Learning: In config/sources/families/include/k3_common.inc, the OP-TEE build command at line 59 should be updated in a future PR to explicitly set CROSS_COMPILE64=aarch64-linux-gnu- and CROSS_COMPILE32=arm-linux-gnueabihf- instead of relying on OP-TEE's internal defaults, for better clarity and maintainability. User glneo agreed to address this in a separate PR.
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).
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.
Learnt from: tabrisnet
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-11-10T23:44:53.363Z
Learning: For the RV1106 family in Armbian (config/sources/families/rockchip-rv1106.conf), udev.children-max=1 is set in the kernel boot parameters to prevent early-boot OOM errors. The RV1106 has a single-core CPU, so parallelism in udev child processes provides no practical benefit. Testing higher values is impractical due to the difficulty of monitoring at this early boot stage.
Learnt from: SuperKali
Repo: armbian/build PR: 8608
File: lib/functions/compilation/patch/drivers_network.sh:361-363
Timestamp: 2025-09-11T06:06:52.328Z
Learning: For the RTW88 SDIO RF path detection fix patch (004-rtw88-sdio-rf-path-detection-fix.patch), SuperKali prefers using exact version matching (eq 6.1 || eq 6.16) rather than range checks, as the patch has only been tested on those specific kernel versions and may be mainstreamed soon.
📚 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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/bootscripts/boot-rk3576.cmd
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.csc
📚 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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/bootscripts/boot-rk3576.cmd
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
📚 Learning: 2025-06-12T21:08:11.318Z
Learnt from: djurny
Repo: armbian/build PR: 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/armsom-cm5-io.csc
  • config/bootscripts/boot-rk3576.cmd
  • config/boards/armsom-cm5-rpi-cm4-io.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, .wip and .conf extensions require BOARD_MAINTAINER to be present and contain at least one maintainer. If no maintainer is present, the board support rules state it does not qualify for standard support and must be moved to community support (.csc extension). This is documented at https://docs.armbian.com/User-Guide_Board-Support-Rules/

Applied to files:

  • config/boards/armsom-cm5-io.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/dshanpi-a1.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.csc
📚 Learning: 2025-09-14T06:10:25.610Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 8619
File: config/sources/families/rockchip.conf:64-70
Timestamp: 2025-09-14T06:10:25.610Z
Learning: In the Armbian build system, rk32xx and rk33xx Rockchip SoCs no longer have BSP-based (vendor) kernel branches. The rk3506 is the first 32-bit Rockchip SoC to use the vendor branch in the current codebase.

Applied to files:

  • config/boards/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.csc
📚 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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/nanopi-m5.conf
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.csc
📚 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/armsom-cm5-io.csc
  • config/boards/radxa-cm4-io.csc
  • config/boards/nanopi-r76s.conf
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/nanopi-m5.conf
  • config/boards/armsom-sige5.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/armsom-cm5-io.csc
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/nanopi-m5.conf
  • config/boards/armsom-sige5.csc
📚 Learning: 2025-05-05T12:35:07.143Z
Learnt from: Grippy98
Repo: armbian/build PR: 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-cm4-io.csc
📚 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/boards/radxa-rock-4d.csc
  • config/boards/nanopi-r76s.conf
  • config/sources/families/include/rockchip64_common.inc
  • config/boards/dshanpi-a1.csc
📚 Learning: 2025-06-25T03:42:09.086Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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-rock-4d.csc
  • config/boards/armsom-cm5-rpi-cm4-io.csc
  • config/boards/dshanpi-a1.csc
  • config/boards/armsom-sige5.csc
📚 Learning: 2025-06-12T21:14:36.024Z
Learnt from: djurny
Repo: armbian/build PR: 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/bootscripts/boot-rk3576.cmd
📚 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/bootscripts/boot-rk3576.cmd
📚 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/bootscripts/boot-rk3576.cmd
📚 Learning: 2025-11-10T23:44:53.363Z
Learnt from: tabrisnet
Repo: armbian/build PR: 0
File: :0-0
Timestamp: 2025-11-10T23:44:53.363Z
Learning: For the RV1106 family in Armbian (config/sources/families/rockchip-rv1106.conf), udev.children-max=1 is set in the kernel boot parameters to prevent early-boot OOM errors. The RV1106 has a single-core CPU, so parallelism in udev child processes provides no practical benefit. Testing higher values is impractical due to the difficulty of monitoring at this early boot stage.

Applied to files:

  • config/bootscripts/boot-rk3576.cmd
  • config/sources/families/include/rockchip64_common.inc
📚 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/bootscripts/boot-rk3576.cmd
📚 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/dshanpi-a1.csc
📚 Learning: 2025-06-25T03:40:52.109Z
Learnt from: EvilOlaf
Repo: armbian/build PR: 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/sources/families/include/rockchip64_common.inc
📚 Learning: 2025-11-11T20:56:20.303Z
Learnt from: glneo
Repo: armbian/build PR: 8913
File: config/sources/families/include/k3_common.inc:57-60
Timestamp: 2025-11-11T20:56:20.303Z
Learning: In config/sources/families/include/k3_common.inc, the OP-TEE build command at line 59 should be updated in a future PR to explicitly set CROSS_COMPILE64=aarch64-linux-gnu- and CROSS_COMPILE32=arm-linux-gnueabihf- instead of relying on OP-TEE's internal defaults, for better clarity and maintainability. User glneo agreed to address this in a separate PR.

Applied to files:

  • config/sources/families/include/rockchip64_common.inc
📚 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/nanopi-m5.conf
🔇 Additional comments (10)
config/boards/armsom-sige5.csc (1)

5-5: LGTM! Correct BOOT_SOC addition for RK3576.

The addition of BOOT_SOC="rk3576" is correct and aligns with the PR's objective to enable SoC-aware serial console configuration. This will allow rockchip64_common.inc to automatically set SERIALCON="ttyS0" for RK3576 boards.

config/boards/armsom-cm5-io.csc (1)

5-5: LGTM! Consistent BOOT_SOC addition.

The BOOT_SOC="rk3576" addition is correct and follows the same pattern as other RK3576 board configurations in this PR.

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

5-5: LGTM! BOOT_SOC addition enables automatic SERIALCON configuration.

The addition of BOOT_SOC="rk3576" is correct. According to the AI summary, the explicit SERIALCON="ttyS0" setting was removed from this file, which is appropriate since rockchip64_common.inc will now automatically set SERIALCON="ttyS0" for RK3576 boards based on the BOOT_SOC value.

The PR description indicates this configuration was successfully tested on the NanoPi R76S with serial console working at 1,500,000 baud.

config/bootscripts/boot-rk3576.cmd (1)

29-29: LGTM! Correct console device change for RK3576.

The change from console=ttyS2,1500000 to console=ttyS0,1500000 correctly implements the serial console fix for RK3576. According to the PR description, the RK3576 datasheet specifies UART0 (ttyS0) as the serial console, unlike RK3588 and other Rockchip SoCs that use UART2 (ttyS2).

The baud rate of 1,500,000 is correctly preserved, and the change is properly scoped to only affect the serial console output when console mode is "serial" or "both".

config/boards/radxa-rock-4d.csc (1)

6-6: LGTM! Correct BOOT_SOC addition.

The BOOT_SOC="rk3576" addition is correct and consistent with other RK3576 board configurations in this PR.

config/boards/radxa-cm4-io.csc (1)

5-5: LGTM! Consistent BOOT_SOC addition.

The BOOT_SOC="rk3576" addition is correct and follows the established pattern for RK3576 boards.

config/boards/dshanpi-a1.csc (1)

6-6: LGTM! Correct BOOT_SOC addition.

The BOOT_SOC="rk3576" addition is correct and consistent with the PR's serial console fix implementation.

config/boards/armsom-cm5-rpi-cm4-io.csc (1)

5-5: LGTM! Consistent BOOT_SOC addition.

The BOOT_SOC="rk3576" addition is correct and completes the consistent pattern across all RK3576 board configurations in this PR.

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

5-5: LGTM! SOC identification added correctly.

The addition of BOOT_SOC="rk3576" aligns with the board's BOOTCONFIG and enables the SOC-aware serial console logic to correctly select ttyS0 for this RK3576 board.

config/sources/families/include/rockchip64_common.inc (1)

413-444: LGTM! SOC-aware serial console logic implemented correctly.

The implementation properly:

  • Preserves explicit SERIALCON settings via early return (lines 418-421)
  • Routes RK3576 to ttyS0 per datasheet specification (lines 431-434)
  • Defaults other Rockchip SoCs to ttyS2 (lines 435-438)
  • Provides comprehensive debug messaging (line 443)

The nested case structure is clear and the default case (*) provides safe fallback behavior for unknown SOCs.

@amazingfate
Copy link
Contributor

Is it necessary to define BOOT_SOC in board config, I think BOOTCONFIG is enough.

@SuperKali
Copy link
Member Author

Is it necessary to define BOOT_SOC in board config, I think BOOTCONFIG is enough.

what do you mean?

@SuperKali
Copy link
Member Author

BOOT_SOC

It is necessary for one reason: to differentiate between rk3588/rk3576 on the serial side, otherwise you would have to set all rk3576 board configurations to SERIALCON.

@amazingfate
Copy link
Contributor

BOOT_SOC

It is necessary for one reason: to differentiate between rk3588/rk3576 on the serial side, otherwise you would have to set all rk3576 board configurations to SERIALCON.

https://github.com/armbian/build/blob/main/config%2Fsources%2Ffamilies%2Finclude%2Frockchip64_common.inc#L63-L63

@SuperKali
Copy link
Member Author

BOOT_SOC

It is necessary for one reason: to differentiate between rk3588/rk3576 on the serial side, otherwise you would have to set all rk3576 board configurations to SERIALCON.

https://github.com/armbian/build/blob/main/config%2Fsources%2Ffamilies%2Finclude%2Frockchip64_common.inc#L63-L63

Okay, I missed that variable. I'll modify the commit and remove this. Thank you.

Different Rockchip SoCs use different UARTs for debug console:
- RK3576: UART0 (ttyS0) as per datasheet
- RK3588 and others: UART2 (ttyS2)

This ensures the correct serial console is configured for each SoC.
Add uart0 configuration for serial debug console on ttyS0.
@SuperKali SuperKali force-pushed the rk3576-serial-console-fix branch from c408536 to a193bed Compare November 15, 2025 15:17
@github-actions github-actions bot added the Ready to merge Reviewed, tested and ready for merge label Nov 15, 2025
@github-actions
Copy link
Contributor

✅ This PR has been reviewed and approved — all set for merge!

@github-actions github-actions bot removed the Needs review Seeking for review label Nov 15, 2025
@SuperKali SuperKali merged commit f252a17 into armbian:main Nov 15, 2025
10 checks passed
@SuperKali SuperKali deleted the rk3576-serial-console-fix branch November 15, 2025 17:33
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
jonaswood01 added a commit to TexasInstruments/armbian-build that referenced this pull request Nov 25, 2025
* live_main_upstream/main: (227 commits)
  rockchip64: rewrite patches
  rockchip64: remove upstreamed fixes
  Change mainline to rc7, manually fix meson64 patch
  `Automatic` board configs status synchronise
  KERNEL_TEST_TARGET is just override. We won't both targets, so we have both.
  rk3576: nanopi-r76s: add mainline u-boot and fix USB3.0 host (armbian#8997)
  Rock-5B-Plus: Use upstream device-tree name
  Radxa E54c: change board support status
  `Automatic` board configs status synchronise
  `Automatic` board configs status synchronise
  build(deps): bump tj-actions/changed-files
  bananapi-r4 bpi-r4 board config - no video output
  build(deps): bump actions/checkout from 5 to 6
  Radxa Rock 2A and F: promote boards to standard support
  config: drop questing and resolute symlinks for package definitions
  Drop Thunderbolt in desktop packages, but enable in minimal, arch amd64 only
  Update radxa-e52c.conf
  boards / Helios4: reorder some lines in the config file
  boards / Helios4: Fix: libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
  boards / Helios4: fix 0002 patch after bump U-Boot v2025.10
  boards / Helios4: rebase previous u-boot patchset to v2025.10
  boards / Helios4: reenable Armbian patchset
  boards / Helios4: drop obsolete patches and those not applicable to helios4
  boards / Helios4: rename some patches in preparation for rebase
  boards / Helios4: enable SATA u-boot artifact
  boards / Helios4: switch U-Boot to mainline 2025.10
  radxa-rock-4d: Move to standard support (armbian#8981)
  Sync support status to match with /download
  Rock5B+: Udev rule for Radxa Display 8HD
  sunxi64: Enable KVM virtualization support for current kernel
  Discord x86: add external sources
  `Automatic` board configs status synchronise
  rock-5b: u-boot: edge: bump to v2026.01-rc2; use mainline ATF; bootorder; fancy u-boot
  Desktop (mainly Gnome ) - add additional packages, small fixes and improvements
  lib / main-config.sh: enable APA extension for questing and resolute builds. Closes: armbian#8966
  ti: configs: boards: Add BOOT_SOC variable
  ti: configs: boards: Add AM62L EVM (tmds62levm) board support
  Rock5B-Plus and Rock5T: Use upstream u-boot (armbian#8918)
  youyeetoo-r1: enable OUT1/OUT2 switches for es8323 headphone output on vendor kernel (armbian#8963)
  Fixing updating submodule
  Powere management - make it conditional, enable on UEFI targets, else disabled
  `Automatic` board configs status synchronise
  uefi: x86: current (6.12) and edge (6.18): add Apple T2 patches
  Add watchdog package into image, hardware watchdog works
  Allow Helios64 to do separate /boot partition only if root placed on fs than unbootable for device
  u-boot: prepare v2026.01 patch directory
  Move gxlimg to board level and some clean
  rockchip: cleanup and rewrite patches for `edge`
  rockchip: cleanup and rewrite patches for `current`
  nanopct6(-lts): u-boot: bump to v2026.01-rc2
  odroidhc4: u-boot: bump to v2026.01-rc2
  cm3588-nas: u-boot: bump to v2026.01-rc2, enable BTRFS support
  cm3588-nas: u-boot: fix `led-1` to `green` for preboot blinking
  khadas-vim3l: u-boot: bump to v2026.01-rc2, enable BTRFS and more
  nanopi-r6c: u-boot: bump to v2026.01-rc2; enable BTRFS support
  uefi-loong64-6.18: rewrite patches against v6.18-rc6, no changes
  mainline-kernel: bump 6.18 to v6.18-rc6
  jsoninfo: introduce `inventory-artifacts` cli
  artifact-kernel: include LINUXCONFIG and ARMBIAN_KERNEL_DEB_NAME in artifact_input_variables
  config/templates: introduce targets-all-kernels.yaml for optimized kernel inventory-ing
  Upgrade Allwinner CURRENT kernels to latest
  Generic bootscript template
  Enable bootscript templating
  `Automatic` board configs status synchronise
  BeagleBoard and Description Updates
  ti: configs: family: k3: Update vendor-edge to pull latest TI PSDK tag
  ti: configs: family: k3: Update to bootable Processor SDK release tag
  ti: configs: family: k3: Add upstream edge branch
  ti: configs: family: k3: Change current/edge to vendor/vendor-edge
  sm8250 current: Add support to load QUP SE Firmware via Linux subsystem
  `Automatic` board configs status synchronise
  extensions: gxlimg: Update repo URL
  nanopi-m6: drop vendor uboot
  nanopi-r6s: remove old legacy uboot files && update mainline uboot
  sm8250 current: Select all USB CAN adapters under the CAN USB interfaces menu as M
  sm8250 current: Select all USB network adapters under the USB_NET_DRIVERS menu as M
  tools: Bump `BATCAT_VERSION` from 0.25.0 to 0.26.0
  `Automatic` board configs status synchronise
  Add Ubuntu 25.10 / 26.04 questing and resolute as csc build target, demote Bookworm to csc
  Related to armbian/documentation#842, update extensions/gen-sample-extension-docs.sh to reference the opt-out docs for hooks
  rockchip: rk3576: Fix serial console to use UART0 (ttyS0) (armbian#8936)
  Drop patches that has been upstreamed - rockchip and sm8550
  orangepi5: drop vendor uboot
  MOTD: deterministic spacing, tidy and compact output
  Bugfix: quotes were downloading to wrong location
  maint: cleanup board config files (armbian#8929)
  Use next patch version when using main action script
  Helios64: workaround fancontrol /dev restriction vs Helios64 udev /dev symlinks
  Add type of bootable fs for ODroid-N2
  Preserve timestamps when copying log files
  Rockchip64: enable Qcom ath12 (wifi 7) support
  UFS: Fix CI behavior (armbian#8924)
  UFS: Fix ci config generation (armbian#8923)
  First login: create docker group and add normal user to it (armbian#8920)
  Framework: copy user provided first boot config at build time
  `Automatic` board configs status synchronise
  k3-beagle: Add config for BeagleBoard.org Linux and U-Boot
  k3: Factor out all K3 common configuration into k3_common.inc
  k3: Use CORESDK_TAG for setting ATFBRANCH
  beagley-ai: Switch current branch to 6.12 Beagle kernel
  ...

Signed-off-by: Jonas Wood <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth quarter release Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to 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