From 947b035fc5c7282c082b70d7017ef9d435286958 Mon Sep 17 00:00:00 2001 From: Jianfeng Liu Date: Fri, 1 Aug 2025 11:54:46 +0800 Subject: [PATCH] add yt6801 dkms extension --- config/boards/uefi-loong64.conf | 1 + extensions/yt6801.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 extensions/yt6801.sh diff --git a/config/boards/uefi-loong64.conf b/config/boards/uefi-loong64.conf index 0c77e20e3..4165c8734 100644 --- a/config/boards/uefi-loong64.conf +++ b/config/boards/uefi-loong64.conf @@ -3,3 +3,4 @@ export BOARD_NAME="UEFI loong64" export BOARDFAMILY="uefi-loong64" export KERNEL_TARGET="current,edge" export SERIALCON="ttyS0,115200" +ENABLE_EXTENSIONS="yt6801" diff --git a/extensions/yt6801.sh b/extensions/yt6801.sh new file mode 100644 index 000000000..020a3db4e --- /dev/null +++ b/extensions/yt6801.sh @@ -0,0 +1,27 @@ +function extension_finish_config__install_kernel_headers_for_yt6801_dkms() { + + if [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]]; then + display_alert "Kernel version has no working headers package" "skipping yt6801 dkms for kernel v${KERNEL_MAJOR_MINOR}" "warn" + return 0 + fi + declare -g INSTALL_HEADERS="yes" + display_alert "Forcing INSTALL_HEADERS=yes; for use with yt6801 dkms" "${EXTENSION}" "debug" +} + +function post_install_kernel_debs__install_yt6801_dkms_package() { + + [[ "${INSTALL_HEADERS}" != "yes" ]] || [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]] && return 0 + api_url="https://api.github.com/repos/amazingfate/yt6801-dkms/releases/latest" + latest_version=$(curl -s "${api_url}" | jq -r '.tag_name') + yt6801_dkms_url="https://github.com/amazingfate/yt6801-dkms/releases/download/${latest_version}/yt6801-dkms_${latest_version}_all.deb" + if [[ "${GITHUB_MIRROR}" == "ghproxy" ]]; then + ghproxy_header="https://ghfast.top/" + yt6801_dkms_url=${ghproxy_header}${yt6801_dkms_url} + fi + yt6801_dkms_file_name=yt6801-dkms_${latest_version}_all.deb + use_clean_environment="yes" chroot_sdcard "wget ${yt6801_dkms_url} -P /tmp" + display_alert "Install yt6801 packages, will build kernel module in chroot" "${EXTENSION}" "info" + declare -ag if_error_find_files_sdcard=("/var/lib/dkms/yt6801*/*/build/*.log") + use_clean_environment="yes" chroot_sdcard_apt_get_install /tmp/${yt6801_dkms_file_name} + use_clean_environment="yes" chroot_sdcard "rm -f /tmp/yt6801*.deb" +}