99 lines
4.3 KiB
Diff
99 lines
4.3 KiB
Diff
From 82a117be11cbd40d4a64b4b7699b049d38107d09 Mon Sep 17 00:00:00 2001
|
|
From: "chunfei.wang" <[email protected]>
|
|
Date: Wed, 5 Aug 2026 07:39:25 +0000
|
|
Subject: [PATCH 2/7] a9: armbian support multidtb [1/1]
|
|
|
|
PD#SWPL-274170
|
|
|
|
Problem:
|
|
a9 armbian support 4g/8g/16g
|
|
|
|
Solution:
|
|
add 4g/8g/16g dtb
|
|
|
|
Fixed conflicts:
|
|
NA
|
|
|
|
Verify:
|
|
A9
|
|
|
|
Change-Id: I1cfa77c486c973513a3b952babf409415e17b4e5
|
|
Signed-off-by: chunfei.wang <[email protected]>
|
|
---
|
|
config/boards/a9-by401-6.12-bookworm-gnome.conf | 4 ++--
|
|
config/boards/a9-by401-6.12-noble-minimal.conf | 4 ++--
|
|
lib/function-img.sh | 3 ++-
|
|
scripts/build-kernel.sh | 9 +++++++++
|
|
4 files changed, 15 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/config/boards/a9-by401-6.12-bookworm-gnome.conf b/config/boards/a9-by401-6.12-bookworm-gnome.conf
|
|
index 2c4b55c..6cb9c7e 100644
|
|
--- a/config/boards/a9-by401-6.12-bookworm-gnome.conf
|
|
+++ b/config/boards/a9-by401-6.12-bookworm-gnome.conf
|
|
@@ -141,9 +141,9 @@ MODULES_INITRD="mesona9-by401-initrd"
|
|
# Work name for logging
|
|
WORK_BOARD="A311Y3-BY401"
|
|
if [ ${HDMIONLY} = "yes" ];then
|
|
- KERNEL_DEVICETREE="a9_a311y3_by401_hdmi_linux.dtb"
|
|
+ KERNEL_DEVICETREE="a9_a311y3_by401_4g_hdmi_linux.dtb a9_a311y3_by401_8g_hdmi_linux.dtb a9_a311y3_by401_16g_hdmi_linux.dtb a9_a311y3_by401_4g_hdmi_linux_v1.dtb a9_a311y3_by401_8g_hdmi_linux_v1.dtb a9_a311y3_by401_16g_hdmi_linux_v1.dtb"
|
|
else
|
|
- KERNEL_DEVICETREE="a9_a311y3_by401_linux.dtb"
|
|
+ KERNEL_DEVICETREE="a9_a311y3_by401_4g_linux.dtb a9_a311y3_by401_8g_linux.dtb a9_a311y3_by401_16g_linux.dtb a9_a311y3_by401_4g_linux_v1.dtb a9_a311y3_by401_8g_linux_v1.dtb a9_a311y3_by401_16g_linux_v1.dtb"
|
|
fi
|
|
|
|
# wifi config
|
|
diff --git a/config/boards/a9-by401-6.12-noble-minimal.conf b/config/boards/a9-by401-6.12-noble-minimal.conf
|
|
index fffb9c8..41820f3 100644
|
|
--- a/config/boards/a9-by401-6.12-noble-minimal.conf
|
|
+++ b/config/boards/a9-by401-6.12-noble-minimal.conf
|
|
@@ -125,9 +125,9 @@ MODULES_INITRD="mesona9-by401-initrd"
|
|
# Work name for logging
|
|
WORK_BOARD="A311Y3-BY401"
|
|
if [ ${HDMIONLY} = "yes" ];then
|
|
- KERNEL_DEVICETREE="a9_a311y3_by401_hdmi_linux.dtb"
|
|
+ KERNEL_DEVICETREE="a9_a311y3_by401_4g_hdmi_linux.dtb a9_a311y3_by401_8g_hdmi_linux.dtb a9_a311y3_by401_16g_hdmi_linux.dtb a9_a311y3_by401_4g_hdmi_linux_v1.dtb a9_a311y3_by401_8g_hdmi_linux_v1.dtb a9_a311y3_by401_16g_hdmi_linux_v1.dtb"
|
|
else
|
|
- KERNEL_DEVICETREE="a9_a311y3_by401_linux.dtb"
|
|
+ KERNEL_DEVICETREE = "a9_a311y3_by401_4g_linux.dtb a9_a311y3_by401_8g_linux.dtb a9_a311y3_by401_16g_linux.dtb a9_a311y3_by401_4g_linux_v1.dtb a9_a311y3_by401_8g_linux_v1.dtb a9_a311y3_by401_16g_linux_v1.dtb"
|
|
fi
|
|
|
|
# wifi config
|
|
diff --git a/lib/function-img.sh b/lib/function-img.sh
|
|
index d354667..56b7a70 100644
|
|
--- a/lib/function-img.sh
|
|
+++ b/lib/function-img.sh
|
|
@@ -1291,8 +1291,9 @@ function pack_image_platform() {
|
|
display_alert "ERROR: Source file does not exist, skipping link creation for $TARGET_LOGO. ($SOURCE_LOGO)"
|
|
exit 1
|
|
fi
|
|
+
|
|
# 检查 amlbian.dtb
|
|
- SOURCE_DTB="$DTBS_DIR/$KERNEL_DEVICETREE"
|
|
+ SOURCE_DTB="$DTBS_DIR/multi.dtb"
|
|
TARGET_DTB="$D/amlbian.dtb"
|
|
if [ -e "$SOURCE_DTB" ]; then
|
|
ln -sf "$SOURCE_DTB" "$TARGET_DTB"
|
|
diff --git a/scripts/build-kernel.sh b/scripts/build-kernel.sh
|
|
index c7a06d4..5f0fa26 100644
|
|
--- a/scripts/build-kernel.sh
|
|
+++ b/scripts/build-kernel.sh
|
|
@@ -440,6 +440,15 @@ function compile_kernel() {
|
|
if [[ ${dtb_count} -gt 0 ]]; then
|
|
export AMLBIAN_KERNEL_DTB_DIR="${dtb_staging_dir}"
|
|
display_alert "COMPILE-KERNEL AMLBIAN_KERNEL_DTB_DIR=${AMLBIAN_KERNEL_DTB_DIR} (count=${dtb_count})"
|
|
+
|
|
+ echo "SOURCE_DIR=${SOURCE_DIR}"
|
|
+ echo "build_dir=${build_dir}"
|
|
+ echo "dtb_staging_dir=${dtb_staging_dir}"
|
|
+ if [ $(echo "${KERNEL_DEVICETREE}" | wc -w ) -gt 1 ]; then
|
|
+ ${SOURCE_DIR}/../prebuilt/hosttools/kernel/dtbTool -o ${dtb_staging_dir}/multi.dtb -p ${build_dir}/scripts/dtc/ ${dtb_staging_dir}/
|
|
+ else
|
|
+ install -m 0644 ${dtb_staging_dir}/${KERNEL_DEVICETREE} ${dtb_staging_dir}/multi.dtb
|
|
+ fi
|
|
else
|
|
display_alert "COMPILE-KERNEL No DTBs staged for packaging"
|
|
fi
|
|
--
|
|
2.43.2
|
|
|