Skip to content

add: initial support for DG SVR 865 Tiny board (SM8250/QCS8250)#9423

Open
Lemon1151 wants to merge 9 commits intoarmbian:mainfrom
Lemon1151:main
Open

add: initial support for DG SVR 865 Tiny board (SM8250/QCS8250)#9423
Lemon1151 wants to merge 9 commits intoarmbian:mainfrom
Lemon1151:main

Conversation

@Lemon1151
Copy link
Contributor

@Lemon1151 Lemon1151 commented Feb 21, 2026

What does this commit do?

Adds initial support for the DG SVR 865 Tiny board based on the QCS8250 (SM8250) chipset, enabling Armbian builds with ABL booting support.

Features:

  • ABL booting with GPT partition table
  • Supports Debian bookworm/trixie and Ubuntu jammy/noble
  • Full firmware inclusion with initrd hooks
  • PPA repositories for updated GPU drivers on Ubuntu

Testing status:

  • Verified basic boot on DG SVR 865 Tiny hardware
  • Serial console functional at 115200n8

Notes:

  • Suspend functionality not supported by current hardware

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

GitHub issue reference:
Jira reference number [AR-9999]

Documentation summary for feature / change

Please delete this section if entry to main documentation is not needed.

If documentation entry is predicted, please provide key elements for further implementation into main documentation and set label to "Needs Documentation". You are welcome to open a PR to documentation or you can leave following information for technical writer:

  • short description (copy / paste of PR title)
  • summary (description relevant for end users)
  • example of usage (how to see this in function)

How Has This Been Tested?

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

  • Test A
  • Test B

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
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

  • New Features
    • Adds support for the DG SVR 865 Tiny board with full hardware configuration.
    • Enables Bluetooth MAC provisioning and related service handling.
    • Includes board firmware into initramfs for reliable firmware provisioning.
    • Adds optional graphics/Vulkan packages and KDE Plasma desktop extras; enables qbootctl on Noble.
    • Introduces thermal controls and suspend masking for improved stability.
    • Provides extensive power-regulator/PMIC setups for better power management.
    • Configures USB, ADSP/firmware, display/GPU, and storage bindings.
    • Marked compatible with Bookworm, Jammy, Noble, and Trixie.

* Board design by dg741a, thanks for the contribution! https://github.com/dg741a

### What does this commit do?
Adds initial support for the DG SVR 865 Tiny board based on the QCS8250 (SM8250)
chipset, enabling Armbian builds with ABL booting support.

### Features:
- ABL booting with GPT partition table
- Supports Debian bookworm/trixie and Ubuntu jammy/noble
- Full firmware inclusion with initrd hooks
- PPA repositories for updated GPU drivers on Ubuntu

### Testing status:
- Verified basic boot on DG SVR 865 Tiny hardware
- Serial console functional at 115200n8

### Notes:
- Suspend functionality not supported by current hardware
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 21, 2026

📝 Walkthrough

Walkthrough

Adds DG SVR 865 Tiny support: a new board configuration with lifecycle/runtime hooks (service/package/initrd firmware handling) and two device-tree sources (for SM8250 kernels 6.12 and 6.18) that declare regulators, PMICs, thermals, peripherals, and firmware bindings.

Changes

Cohort / File(s) Summary
Board configuration
config/boards/dg-svr-865-tiny.conf
New board metadata and exported variables; userspace compatibility check; post-family hooks to add/enable services, install extra packages/PPAs, mask suspend, and include BSP firmware in initrd via an initramfs hook.
Device tree (sm8250, v6.12)
patch/kernel/archive/sm8250-6.12/dt/qcs8250-dg-svr-865-tiny.dts
New DT for SM8250-6.12: model/compat, aliases, chosen/stdout, extensive PMIC/regulator groups (PM8150/PM8009), thermal zones/trips, ADSP/SLPI/CDSP/GPU/MDSS bindings, USB/UFS/PHY nodes, pinctrl and memory mapping.
Device tree (sm8250, v6.18)
patch/kernel/archive/sm8250-6.18/dt/qcs8250-dg-svr-865-tiny.dts
Equivalent new DT for SM8250-6.18: same hardware topology, regulator groups, thermals, peripheral bindings, and firmware references adapted for the 6.18 tree.

Sequence Diagram(s)

sequenceDiagram
  participant Builder
  participant BoardConf as "Board config hooks"
  participant Initrd as "Initramfs hook"
  participant Bootloader
  participant Systemd

  Builder->>BoardConf: run post-family hooks
  BoardConf->>Initrd: add initrd hook & provide firmware files/script
  BoardConf->>Systemd: create/install unit files (bt-fixed-mac)
  Initrd->>Bootloader: embed BSP firmware into initramfs
  Bootloader->>Systemd: boot system with firmware present
  Systemd->>Systemd: enable/start configured services
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 I hopped through configs, tiny and neat,
Wove firmware into initrd, services to greet,
Device trees whisper regulators and heat,
Two kernels now know this board's heartbeat,
A little rabbit cheers — ready to boot and meet! 🎋

🚥 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 title clearly summarizes the main change: adding initial support for the DG SVR 865 Tiny board (SM8250/QCS8250), which is the primary objective of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

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

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

❤️ Share

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

@github-actions github-actions bot added size/large PR with 250 lines or more 02 Milestone: First quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Feb 21, 2026
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: 3

🧹 Nitpick comments (6)
config/boards/dg-svr-865-tiny.conf (4)

48-60: Duplicate bt-fixed-mac.service enablement.

The service is enabled in post_family_tweaks__qcom-dg-svr-865-tiny_enable_services (line 58) and again in post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages (line 96). One of these is redundant. Consider removing line 96 or consolidating all service enablement into the _enable_services function.

♻️ Remove duplicate enablement from _extra_packages
 	if [[ "${RELEASE}" == "noble" ]]; then
 		chroot_sdcard systemctl enable qbootctl.service
 	fi
-	chroot_sdcard systemctl enable bt-fixed-mac.service
 
 	# No driver support for suspend
 	chroot_sdcard systemctl mask suspend.target

Also applies to: 96-96

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 48 - 60, The
bt-fixed-mac.service is being enabled twice; remove the duplicate enablement
from post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages and keep service
activation centralized in
post_family_tweaks__qcom-dg-svr-865-tiny_enable_services (which currently runs
chroot_sdcard systemctl enable bt-fixed-mac.service), or alternatively move all
service enablement logic into the _enable_services function and delete any
systemctl enable bt-fixed-mac.service call from the _extra_packages function so
the service is enabled only once.

17-21: Remove commented-out GRUB configuration.

These 5 lines of commented-out code serve no functional purpose and add noise. If GRUB boot support is planned, consider tracking it in an issue instead.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 17 - 21, Remove the five
commented GRUB lines to reduce noise: the commented declarations
GRUB_CMDLINE_LINUX_DEFAULT, BOOT_FDT_FILE, UEFI_PART_ALIGN and the two
enable_extension entries ("grub" and "grub-with-dtb") should be deleted from
config/boards/dg-svr-865-tiny.conf; if GRUB support is intended later,
open/reference a tracker issue instead of leaving commented configuration in the
file.

1-1: Board description comment should follow Armbian convention.

The standard pattern for the first-line comment in Armbian board configs includes the SoC model, core count, RAM options, and key features. For example: # Qualcomm QCS8250 octa-core SoC with 8GB RAM, UFS storage, USB3, WiFi/BT.

Based on learnings, in Armbian board configuration files, the standard pattern is to have only one line as a comment describing the board hardware specifications including SoC model, core count, RAM options, and key features.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` at line 1, Replace the current first-line
comment with a single-line Armbian-style board description that includes the SoC
model, core count, RAM options and key features; update the header in
dg-svr-865-tiny.conf so it follows the pattern like "Qualcomm QCS8650 octa-core
SoC with 4/8GB RAM, eMMC/UFS storage, USB3, WiFi/BT" (adjust values to the
board's actual specs) and ensure no other leading comments precede it.

41-45: Indentation uses spaces instead of tabs.

Lines 41–45 use spaces for indentation while the rest of the file and other Armbian board configs use tabs.

🧹 Fix indentation to tabs
-        # Bluetooth MAC addr setup service
-        mkdir -p $destination/usr/local/bin/
-        mkdir -p $destination/usr/lib/systemd/system/
-        install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh $destination/usr/local/bin/
-        install -Dm644 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service $destination/usr/lib/systemd/system/
+	# Bluetooth MAC addr setup service
+	mkdir -p "$destination/usr/local/bin/"
+	mkdir -p "$destination/usr/lib/systemd/system/"
+	install -Dm755 "$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh" "$destination/usr/local/bin/"
+	install -Dm644 "$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service" "$destination/usr/lib/systemd/system/"

Note: the variable expansions ($destination, $SRC) should also be double-quoted to protect against word splitting on paths with spaces.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 41 - 45, Replace the leading
spaces on the Bluetooth MAC addr setup block with tabs to match the project's
indentation style, and protect path expansions by double-quoting $destination
and $SRC; specifically update the mkdir and install lines that reference mkdir
-p $destination/usr/local/bin/, mkdir -p $destination/usr/lib/systemd/system/,
install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh
$destination/usr/local/bin/, and install -Dm644
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service
$destination/usr/lib/systemd/system/ so each line is tab-indented and uses
"$destination" and "$SRC" in the variable expansions.
patch/kernel/archive/sm8250-6.18/dt/qcs8250-dg-svr-865-tiny.dts (2)

660-663: Remove commented-out usb-role-switch line.

Commented-out DTS properties create noise. If host mode is the intended configuration, the comment should be removed. If role-switch support is planned, a /* TODO: ... */ with context would be preferable.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@patch/kernel/archive/sm8250-6.18/dt/qcs8250-dg-svr-865-tiny.dts` around lines
660 - 663, Remove the commented-out property inside the &usb_1_dwc3 node: delete
the line "//usb-role-switch;" so the device tree is not cluttered with dead
comments; if role-switch support is planned, replace it with a concise TODO
comment (e.g., "/* TODO: add usb-role-switch support with X reason */") near the
&usb_1_dwc3 node to provide context instead of leaving a commented property.

154-163: Missing blank line separators and inconsistent indentation around memory node.

  1. Line 155: No blank line between the closing of vreg_s4a_1p8 and memory@80000000.
  2. Lines 156–160: The memory node interior uses spaces (or mixed tab/space) while the rest of the file uses tabs consistently.
  3. Line 163: No blank line between the root node closing }; and the &adsp reference.
🧹 Formatting fix
 	vreg_s4a_1p8: vreg-s4a-1p8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vreg_s4a_1p8";
 		regulator-min-microvolt = <1800000>;
 		regulator-max-microvolt = <1800000>;
 		regulator-always-on;
 	};
+
 	memory@80000000 {
-    		device_type = "memory";
-    		reg = <0x00000000 0x80000000 0x00000000 0x39600000>,
-       		      <0x00000000 0xc0000000 0x00000000 0x14000000>,
-       		      <0x00000001 0x00000000 0x00000001 0x30000000>,
-       		      <0x00000002 0x00000000 0x00000001 0x80000000>;
+		device_type = "memory";
+		reg = <0x00000000 0x80000000 0x00000000 0x39600000>,
+		      <0x00000000 0xc0000000 0x00000000 0x14000000>,
+		      <0x00000001 0x00000000 0x00000001 0x30000000>,
+		      <0x00000002 0x00000000 0x00000001 0x80000000>;
 	};
 };
+
 &adsp {
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@patch/kernel/archive/sm8250-6.18/dt/qcs8250-dg-svr-865-tiny.dts` around lines
154 - 163, Add blank-line separators and normalize indentation for the memory
node: insert a blank line after the closing of vreg_s4a_1p8 and another blank
line after the root-node closing “};” before the &adsp reference, and convert
the interior of the memory@80000000 node (device_type and reg entries) to use
the file's consistent tab indentation (not spaces or mixed tabs), ensuring the
reg tuples remain unchanged; locate the memory node by the label memory@80000000
and the nearby vreg_s4a_1p8 and &adsp tokens to apply the fixes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Line 44: The install invocation uses mode flag "-Dm655" which sets owner
without execute bit for the script; update the install line that installs
"bt-fixed-mac.sh" (the install -Dm655
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh
$destination/usr/local/bin/) to use "-Dm755" so the owner (root) has execute
permission and the systemd service can run the script; ensure the change is made
to the install command that places bt-fixed-mac.sh into /usr/local/bin.
- Around line 113-115: Update the inline comments for the firmware entries so
they correctly identify GPU/GMU files: change the comment on add_firmware
"qcom/sm8250/a650_zap.mbn" to indicate it is the GPU zap shader (not DPU),
change the comment on add_firmware "qcom/a650_sqe.fw" to indicate it is the GPU
SQE firmware, and keep or clarify add_firmware "qcom/a650_gmu.bin" as the
GMU/GPU binary; ensure each comment directly follows the matching firmware name
(a650_zap.mbn, a650_sqe.fw, a650_gmu.bin) for clear attribution.
- Around line 102-117: Update the misleading comment inside function
post_family_tweaks_bsp__qcom-dg-svr-865-tiny_bsp_firmware_in_initrd: replace
"Using Elish's firmware for now" with a clear note that the loop is pulling
Thundercomm RB5 firmware (e.g., "Using Thundercomm RB5 firmware for now") so the
comment matches the qcom/sm8250/Thundercomm/RB5/* paths referenced when adding
files to the BSP destination.

---

Duplicate comments:
In `@patch/kernel/archive/sm8250-6.12/dt/qcs8250-dg-svr-865-tiny.dts`:
- Around line 1-722: Update the root compatible string to match the corrected
value used in the 6.18 fix (replace the incorrect "qcom,qrb5165-rb5" entry so
the board compatible matches the platform), reformat the memory@80000000 node so
the reg property uses proper spacing/line breaks and trailing commas are correct
(make the four reg entries each on their own line and ensure commas/terminator
match DTS style), and remove the commented-out usb-role-switch in the
&usb_1_dwc3 node (either delete the commented line or enable it if intended);
touch the symbols "compatible" in the root node, "memory@80000000" and its "reg"
property, and the "&usb_1_dwc3" node to locate the changes.

---

Nitpick comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Around line 48-60: The bt-fixed-mac.service is being enabled twice; remove the
duplicate enablement from
post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages and keep service
activation centralized in
post_family_tweaks__qcom-dg-svr-865-tiny_enable_services (which currently runs
chroot_sdcard systemctl enable bt-fixed-mac.service), or alternatively move all
service enablement logic into the _enable_services function and delete any
systemctl enable bt-fixed-mac.service call from the _extra_packages function so
the service is enabled only once.
- Around line 17-21: Remove the five commented GRUB lines to reduce noise: the
commented declarations GRUB_CMDLINE_LINUX_DEFAULT, BOOT_FDT_FILE,
UEFI_PART_ALIGN and the two enable_extension entries ("grub" and
"grub-with-dtb") should be deleted from config/boards/dg-svr-865-tiny.conf; if
GRUB support is intended later, open/reference a tracker issue instead of
leaving commented configuration in the file.
- Line 1: Replace the current first-line comment with a single-line
Armbian-style board description that includes the SoC model, core count, RAM
options and key features; update the header in dg-svr-865-tiny.conf so it
follows the pattern like "Qualcomm QCS8650 octa-core SoC with 4/8GB RAM,
eMMC/UFS storage, USB3, WiFi/BT" (adjust values to the board's actual specs) and
ensure no other leading comments precede it.
- Around line 41-45: Replace the leading spaces on the Bluetooth MAC addr setup
block with tabs to match the project's indentation style, and protect path
expansions by double-quoting $destination and $SRC; specifically update the
mkdir and install lines that reference mkdir -p $destination/usr/local/bin/,
mkdir -p $destination/usr/lib/systemd/system/, install -Dm655
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh
$destination/usr/local/bin/, and install -Dm644
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service
$destination/usr/lib/systemd/system/ so each line is tab-indented and uses
"$destination" and "$SRC" in the variable expansions.

In `@patch/kernel/archive/sm8250-6.18/dt/qcs8250-dg-svr-865-tiny.dts`:
- Around line 660-663: Remove the commented-out property inside the &usb_1_dwc3
node: delete the line "//usb-role-switch;" so the device tree is not cluttered
with dead comments; if role-switch support is planned, replace it with a concise
TODO comment (e.g., "/* TODO: add usb-role-switch support with X reason */")
near the &usb_1_dwc3 node to provide context instead of leaving a commented
property.
- Around line 154-163: Add blank-line separators and normalize indentation for
the memory node: insert a blank line after the closing of vreg_s4a_1p8 and
another blank line after the root-node closing “};” before the &adsp reference,
and convert the interior of the memory@80000000 node (device_type and reg
entries) to use the file's consistent tab indentation (not spaces or mixed
tabs), ensuring the reg tuples remain unchanged; locate the memory node by the
label memory@80000000 and the nearby vreg_s4a_1p8 and &adsp tokens to apply the
fixes.

@Lemon1151 Lemon1151 closed this Feb 21, 2026
@Lemon1151 Lemon1151 reopened this Feb 21, 2026
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

🧹 Nitpick comments (2)
config/boards/dg-svr-865-tiny.conf (2)

59-60: bt-fixed-mac.service is enabled in two separate functions — one is redundant.

post_family_tweaks__qcom-dg-svr-865-tiny_enable_services() (line 59) and post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages() (line 97) both call chroot_sdcard systemctl enable bt-fixed-mac.service. While idempotent, the second call in the packages function is unnecessary and mixes service-enabling concerns into a package-installation hook.

♻️ Proposed cleanup
-	chroot_sdcard systemctl enable bt-fixed-mac.service
-
 	# No driver support for suspend
 	chroot_sdcard systemctl mask suspend.target

(Remove only the duplicate at line 97; keep the one in enable_services.)

Also applies to: 94-97

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 59 - 60, Remove the
redundant service enablement: keep the chroot_sdcard systemctl enable
bt-fixed-mac.service call in
post_family_tweaks__qcom-dg-svr-865-tiny_enable_services() and delete the
duplicate chroot_sdcard systemctl enable bt-fixed-mac.service invocation inside
post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages(), so service-enabling
logic remains only in the enable_services function and the package-install hook
stays focused on packages.

18-22: Commented-out GRUB/UEFI block can be removed.

Lines 18–22 are leftover development scaffolding for a GRUB/UEFI boot path that isn't used. If future UEFI support is planned, tracking it in an issue is cleaner than leaving dead code in the board config.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 18 - 22, Remove the unused
commented GRUB/UEFI scaffold from the board config: delete the commented lines
referencing GRUB_CMDLINE_LINUX_DEFAULT, BOOT_FDT_FILE, UEFI_PART_ALIGN and the
enable_extension entries ("grub" and "grub-with-dtb"); if UEFI support should be
tracked for later, open an issue referencing these symbols instead of leaving
them commented in dg-svr-865-tiny.conf.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Around line 42-46: The block that creates directories and installs Bluetooth
MAC addr files uses spaces instead of the file's standard hard-tabs; replace the
leading eight spaces on the lines containing "mkdir -p
$destination/usr/local/bin/", "mkdir -p $destination/usr/lib/systemd/system/",
"install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh
$destination/usr/local/bin/" and "install -Dm644
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service
$destination/usr/lib/systemd/system/" with the same hard tab characters used
elsewhere in the file so indentation is consistent.

---

Duplicate comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Line 106: The comment string "Using Elish's firmware for now" is misleading
because the firmware glob used is "qcom/sm8250/Thundercomm/RB5/*"; update the
comment to accurately reflect the actual firmware source (e.g., "Using
Thundercomm RB5 firmware for now" or similar) so it matches the glob and avoid
confusion when reading the block that references qcom/sm8250/Thundercomm/RB5/*.
- Line 45: The install line uses mode 655 which removes execute permission for
the owner and will prevent running the script; change the install invocation
that copies bt-fixed-mac.sh (the command referencing
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh and
$destination/usr/local/bin/) to use mode 755 so the owner (root) has execute
permission (i.e., replace the -Dm655 with -Dm755).
- Around line 114-116: The comments for the three firmware entries are wrong;
update the inline comments on the add_firmware lines so they correctly identify
types: change the comment for add_firmware "qcom/sm8250/a650_zap.mbn" to
indicate "GPU zap shader", change the comment for add_firmware
"qcom/a650_sqe.fw" to "GPU Shader Queue Engine firmware", and change the comment
for add_firmware "qcom/a650_gmu.bin" to "GMU firmware" so none are labeled as
DPU.

---

Nitpick comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Around line 59-60: Remove the redundant service enablement: keep the
chroot_sdcard systemctl enable bt-fixed-mac.service call in
post_family_tweaks__qcom-dg-svr-865-tiny_enable_services() and delete the
duplicate chroot_sdcard systemctl enable bt-fixed-mac.service invocation inside
post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages(), so service-enabling
logic remains only in the enable_services function and the package-install hook
stays focused on packages.
- Around line 18-22: Remove the unused commented GRUB/UEFI scaffold from the
board config: delete the commented lines referencing GRUB_CMDLINE_LINUX_DEFAULT,
BOOT_FDT_FILE, UEFI_PART_ALIGN and the enable_extension entries ("grub" and
"grub-with-dtb"); if UEFI support should be tracked for later, open an issue
referencing these symbols instead of leaving them commented in
dg-svr-865-tiny.conf.

@Lemon1151
Copy link
Contributor Author

dg-svr-865-tiny This is dg-svr-865-tiny.png, I submitted a pull request. https://github.com/armbian/armbian.github.io/pulls

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

🧹 Nitpick comments (1)
config/boards/dg-svr-865-tiny.conf (1)

103-119: _bsp_firmware_in_initrd is the only hook without a userspace-support guard.

All other hook functions (_add_services, _enable_services, _extra_packages) guard early with qcom-dg-svr-865-tiny_is_userspace_supported. This hook has no such guard, so the initrd firmware hook script is injected even for unsupported/future releases. If that is intentional (firmware is boot-critical regardless of OS), a brief comment would clarify the design intent.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/boards/dg-svr-865-tiny.conf` around lines 103 - 119, The
post_family_tweaks_bsp__qcom-dg-svr-865-tiny_bsp_firmware_in_initrd function
lacks the userspace-support guard used elsewhere; add an early check calling
qcom-dg-svr-865-tiny_is_userspace_supported (or its negation) and return early
when userspace is not supported, mirroring the pattern in
_add_services/_enable_services/_extra_packages so the initrd firmware hook (and
file_added_to_bsp_destination injection) only runs for supported releases; if
the behavior is intentional, instead add a one-line comment at the top of
post_family_tweaks_bsp__qcom-dg-svr-865-tiny_bsp_firmware_in_initrd explaining
why the firmware must be injected unconditionally.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Line 59: The bt-fixed-mac.service is being enabled twice: keep the enable call
in post_family_tweaks__qcom-dg-svr-865-tiny_enable_services and remove the
redundant systemctl enable bt-fixed-mac.service invocation found in
post_family_tweaks__qcom-dg-svr-865-tiny_extra_packages; update any nearby
comments if needed to avoid confusion and ensure only a single enable for
bt-fixed-mac.service remains.

---

Duplicate comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Line 106: The inline comment "# Using Elish's firmware" is incorrect because
the subsequent loop iterates over qcom/sm8250/Thundercomm/RB5/* (Thundercomm RB5
firmware); update or replace that comment to accurately describe the firmware
source (e.g., "Using Thundercomm RB5 firmware" or similar) so it matches the
loop that references qcom/sm8250/Thundercomm/RB5/* and avoids confusion.
- Around line 42-46: The indented block setting up the Bluetooth MAC addr
service uses 8-space indentation instead of the project's hard tabs; replace the
leading spaces with a single hard tab for each line in this block (the lines
containing mkdir -p $destination/usr/local/bin/, mkdir -p
$destination/usr/lib/systemd/system/, install -Dm655
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh
$destination/usr/local/bin/, and install -Dm644
$SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service
$destination/usr/lib/systemd/system/) so indentation matches the rest of the
file.
- Line 45: The install command uses mode 655 which removes the owner's execute
bit, causing the installed script bt-fixed-mac.sh to be non-executable; update
the install invocation that currently reads "install -Dm655 ... bt-fixed-mac.sh"
to use mode 755 (i.e., "-Dm755") so the owner retains execute permission and the
systemd service can run the script.
- Around line 114-115: The inline comments on the two add_firmware entries are
incorrect: update the comment for add_firmware "qcom/sm8250/a650_zap.mbn" to
indicate it is the GPU zap shader (not DPU) and update the comment for
add_firmware "qcom/a650_sqe.fw" to indicate it is the GPU SQE firmware (or
GPU/GMU firmware) so the metadata correctly reflects the files' purpose.

---

Nitpick comments:
In `@config/boards/dg-svr-865-tiny.conf`:
- Around line 103-119: The
post_family_tweaks_bsp__qcom-dg-svr-865-tiny_bsp_firmware_in_initrd function
lacks the userspace-support guard used elsewhere; add an early check calling
qcom-dg-svr-865-tiny_is_userspace_supported (or its negation) and return early
when userspace is not supported, mirroring the pattern in
_add_services/_enable_services/_extra_packages so the initrd firmware hook (and
file_added_to_bsp_destination injection) only runs for supported releases; if
the behavior is intentional, instead add a one-line comment at the top of
post_family_tweaks_bsp__qcom-dg-svr-865-tiny_bsp_firmware_in_initrd explaining
why the firmware must be injected unconditionally.

@Lemon1151
Copy link
Contributor Author

Lemon1151 commented Feb 22, 2026

@EvilOlaf I have updated the board description to the hardware specifications as you requested.
Note: I noticed that the commit title "configs: add support for Qualcomm QCS8250 (SM8250) board" isn't precise enough, as this change is limited to updating only the board description comment. The actual commit content is just a one-line modification. If you think the commit title needs to be adjusted, please feel free to adjust the title during the merge. Thank you!

@EvilOlaf
Copy link
Member

I don't care much about the commit title, just about the text in the board config which is fine now :)

@EvilOlaf EvilOlaf dismissed their stale review February 22, 2026 06:08

has been addressed

@Lemon1151
Copy link
Contributor Author

@igorpecovnik when you have time, could you please take a look at this pull request? Thank you!

@github-actions
Copy link
Contributor

🚫 Missing required board assets

This PR adds new board configuration(s). Required assets must already exist in github/armbian/armbian.github.io.
They are required by Armbian Imager to ensure all boards are displayed with proper images.

  • Board images: board-images/<board>.png (1920x1080 px transparent)
  • Vendor logos: board-vendor-logos/<vendor>-logo.png (512x512 px transparent)

Missing items

  • Board image missing for dg-svr-865-tiny

    • Expected: board-images/dg-svr-865-tiny.png
    • Fix: add the file to armbian/armbian.github.io (folder board-images/)
  • Vendor logo missing for vendor dg741a (used by board dg-svr-865-tiny)

    • Expected: board-vendor-logos/dg741a-logo.png
    • Fix: add the file to armbian/armbian.github.io (folder board-vendor-logos/)
    • Naming rules: lowercase, dashes (e.g. kobol-logo.png, not Kobol_logo.png)

Once the missing files are added (or a PR is opened in armbian/armbian.github.io), re-run this check.

@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
@armbian armbian deleted a comment from github-actions bot Feb 24, 2026
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, ... Needs review Seeking for review Patches Patches related to kernel, U-Boot, ... size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

2 participants