官方 Armdebian Build 程序支持到 commits: 901922671e845808abaebbd33d407339174df9d7 可能随着官方提交后, 我的Git补丁不再适用与官方最新.

This commit is contained in:
aixiao 2024-03-12 16:11:16 +08:00
parent 60614c8025
commit 6e2e6ad930
2 changed files with 57 additions and 95 deletions

View File

@ -8569,87 +8569,68 @@ new file mode 100644
index 000000000..c79f80a62
--- /dev/null
+++ b/config/sources/families/sun50iw9-blb.conf
@@ -0,0 +1,83 @@
+#
+# SPDX-License-Identifier: GPL-2.0
+#
+# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
+#
+# This file is a part of the Armbian Build Framework
+# https://github.com/armbian/build/
+#
+source "${BASH_SOURCE%/*}/include/sunxi64_common.inc"
@@ -0,0 +1,64 @@
+ #
+ # SPDX-License-Identifier: GPL-2.0
+ #
+ # Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
+ #
+ # This file is a part of the Armbian Build Framework
+ # https://github.com/armbian/build/
+ #
+ source "${BASH_SOURCE%/*}/include/sunxi64_common.inc"
+
+[[ -z $CPUMIN ]] && CPUMIN=480000
+[[ -z $CPUMAX ]] && CPUMAX=1512000
+GOVERNOR=ondemand
+ [[ -z $CPUMIN ]] && CPUMIN=480000
+ [[ -z $CPUMAX ]] && CPUMAX=1512000
+ GOVERNOR=ondemand
+
+case $BRANCH in
+ case $BRANCH in
+
+ legacy)
+ LINUXFAMILY=sun50iw9-blb
+ KERNELSOURCE='https://github.com/niuyuling/linux.git'
+ declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
+ KERNELBRANCH="branch:linux-6.1.y-blb"
+ KERNELPATCHDIR="NEED-NOT"
+ BOOTSOURCE='https://github.com/niuyuling/u-boot.git'
+ BOOTBRANCH='branch:v2023.07-blb'
+ BOOTPATCHDIR='NEED-NOT'
+ BOOTDELAY=-2
+ ASOUND_STATE='asound.state.sun50iw9-legacy'
+ legacy)
+ LINUXFAMILY=sun50iw9-blb
+ KERNELSOURCE='https://github.com/niuyuling/linux.git'
+ declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
+ KERNELBRANCH="branch:linux-6.1.y-blb"
+ KERNELPATCHDIR="NEED-NOT"
+ BOOTSOURCE='https://github.com/niuyuling/u-boot.git'
+ BOOTBRANCH='branch:v2023.07-blb'
+ BOOTPATCHDIR='NEED-NOT'
+ BOOTDELAY=-2
+ ASOUND_STATE='asound.state.sun50iw9-legacy'
+
+ ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
+ ATFBRANCH='branch:master'
+ ATF_PLAT="sun50i_h616"
+ ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
+ BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
+ KERNEL_DRIVERS_SKIP+=(driver_rtw88) # This is custom 6.1 driver, skip rtw88 to avoid patching failures
+ ;;
+ ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
+ ATFBRANCH='tag:lts-v2.10.2'
+ ATF_PLAT="sun50i_h616"
+ ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
+ BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
+ KERNEL_DRIVERS_SKIP+=(driver_rtw88) # This is custom 6.1 driver, skip rtw88 to avoid patching failures
+ ;;
+
+ current | edge)
+ ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
+ ATFBRANCH='branch:master'
+ ATF_PLAT="sun50i_h616"
+ ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
+ BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
+ current | edge)
+ ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
+ ATFBRANCH='tag:lts-v2.10.2'
+ ATF_PLAT="sun50i_h616"
+ ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
+ BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
+
+ # Stick to 6.2.16 kernel for edge until ws2812 driver is fixed
+ if [[ "$BRANCH" == "edge" ]]; then
+ LINUXFAMILY="sun50iw9-btt" # Use a separate kernel deb
+ LINUXCONFIG="linux-sunxi64-edge" # But the same kernel config, will be modified below in armbian_kernel_config__enable_ws2812_driver
+ KERNEL_MAJOR_MINOR="6.2"
+ KERNELBRANCH="tag:v6.2.16"
+ KERNELPATCHDIR="archive/sunxi-${KERNEL_MAJOR_MINOR}"
+ fi
+ ;;
+ esac
+
+ ;;
+esac
+ # This build requires busybox (and dos2unix)
+ function add_host_dependencies__sun50iw9_add_busybox_hostdep() {
+ display_alert "Adding busybox dep" "for ${BOARD} bootloader compile" "debug"
+ declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} busybox"
+ }
+
+# Enable ws2812 driver for edge kernel
+function armbian_kernel_config__enable_ws2812_driver() {
+ if [[ "$BRANCH" == "edge" ]]; then
+ kernel_config_modifying_hashes+=("CONFIG_LEDS_WS2812=m")
+ if [[ -f .config ]]; then
+ kernel_config_set_m CONFIG_LEDS_WS2812
+ fi
+ fi
+}
+ function family_tweaks_s() {
+ if [[ -f $SDCARD/lib/systemd/system/hdmi-audio.service ]]; then
+ chroot $SDCARD /bin/bash -c "systemctl --no-reload enable hdmi-audio.service >/dev/null 2>&1"
+ fi
+ }
+
+# This build requires busybox (and dos2unix)
+function add_host_dependencies__sun50iw9_add_busybox_hostdep() {
+ display_alert "Adding busybox dep" "for ${BOARD} bootloader compile" "debug"
+ declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} busybox"
+}
+ function family_tweaks_bsp() {
+ install -m 755 $SRC/packages/blobs/sunxi/h616/inithdmiaudio $destination/usr/bin/
+ cp $SRC/packages/blobs/sunxi/h616/libtinyalsa.so $destination/usr/lib/
+ cp $SRC/packages/bsp/sunxi/hdmi-audio.service $destination/lib/systemd/system/
+
+function family_tweaks_s() {
+ if [[ -f $SDCARD/lib/systemd/system/hdmi-audio.service ]]; then
+ chroot $SDCARD /bin/bash -c "systemctl --no-reload enable hdmi-audio.service >/dev/null 2>&1"
+ fi
+}
+
+function family_tweaks_bsp() {
+ install -m 755 $SRC/packages/blobs/sunxi/h616/inithdmiaudio $destination/usr/bin/
+ cp $SRC/packages/blobs/sunxi/h616/libtinyalsa.so $destination/usr/lib/
+ cp $SRC/packages/bsp/sunxi/hdmi-audio.service $destination/lib/systemd/system/
+
+}
+ }

View File

@ -27,7 +27,7 @@ case $BRANCH in
ASOUND_STATE='asound.state.sun50iw9-legacy'
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
ATFBRANCH='branch:master'
ATFBRANCH='tag:lts-v2.10.2'
ATF_PLAT="sun50i_h616"
ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
@ -36,33 +36,14 @@ case $BRANCH in
current | edge)
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
ATFBRANCH='branch:master'
ATFBRANCH='tag:lts-v2.10.2'
ATF_PLAT="sun50i_h616"
ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
# Stick to 6.2.16 kernel for edge until ws2812 driver is fixed
if [[ "$BRANCH" == "edge" ]]; then
LINUXFAMILY="sun50iw9-btt" # Use a separate kernel deb
LINUXCONFIG="linux-sunxi64-edge" # But the same kernel config, will be modified below in armbian_kernel_config__enable_ws2812_driver
KERNEL_MAJOR_MINOR="6.2"
KERNELBRANCH="tag:v6.2.16"
KERNELPATCHDIR="archive/sunxi-${KERNEL_MAJOR_MINOR}"
fi
;;
esac
# Enable ws2812 driver for edge kernel
function armbian_kernel_config__enable_ws2812_driver() {
if [[ "$BRANCH" == "edge" ]]; then
kernel_config_modifying_hashes+=("CONFIG_LEDS_WS2812=m")
if [[ -f .config ]]; then
kernel_config_set_m CONFIG_LEDS_WS2812
fi
fi
}
# This build requires busybox (and dos2unix)
function add_host_dependencies__sun50iw9_add_busybox_hostdep() {
display_alert "Adding busybox dep" "for ${BOARD} bootloader compile" "debug"