Merge pull request #1212 from kernelkit/kernel-upgrade

This commit is contained in:
Mattias Walström
2025-10-29 16:40:36 +01:00
committed by GitHub
40 changed files with 426 additions and 87 deletions
+112
View File
@@ -0,0 +1,112 @@
name: Check Kernel 6.12 Release
on:
workflow_dispatch: # Allow manual triggering
jobs:
check-kernel:
runs-on: ubuntu-latest
steps:
- name: Check out infix repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.KERNEL_UPDATE_TOKEN }}
- name: Check out linux repository
uses: actions/checkout@v4
with:
repository: kernelkit/linux
path: linux
fetch-depth: 0
token: ${{ secrets.KERNEL_UPDATE_TOKEN }}
- name: Fetch kernel.org and check for 6.12 release
id: check
run: |
# Fetch the kernel.org frontpage and extract 6.12 version
CURRENT_VERSION=$(curl -s https://www.kernel.org/ | grep -oP '6\.12\.\d+' | head -n1)
if [ -z "$CURRENT_VERSION" ]; then
echo "Failed to fetch kernel version"
exit 1
fi
echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
echo "Current 6.12 kernel version: $CURRENT_VERSION"
# Get the latest tag from our linux tree
cd linux
git fetch origin
LATEST_TAG=$(git tag -l "v6.12.*" | sort -V | tail -n1 | sed 's/^v//')
cd ..
echo "latest_tag=$LATEST_TAG" >> $GITHUB_OUTPUT
echo "Latest tag in our tree: $LATEST_TAG"
if [ "$CURRENT_VERSION" != "$LATEST_TAG" ]; then
echo "new_release=true" >> $GITHUB_OUTPUT
echo "🎉 New 6.12 kernel released: $CURRENT_VERSION (our version: $LATEST_TAG)"
else
echo "new_release=false" >> $GITHUB_OUTPUT
echo "No change - still at $CURRENT_VERSION"
fi
- name: Set up git credentials
if: steps.check.outputs.new_release == 'true'
run: |
git config --global user.email "ael-bot@users.noreply.github.com"
git config --global user.name "ael-bot"
# Configure git to use the token for HTTPS operations
git config --global url."https://ael-bot:${{ secrets.KERNEL_UPDATE_TOKEN }}@github.com/".insteadOf "git@github.com:"
git config --global url."https://ael-bot:${{ secrets.KERNEL_UPDATE_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Run kernel upgrade script
if: steps.check.outputs.new_release == 'true'
env:
GIT_TERMINAL_PROMPT: 0
run: |
./utils/kernel-upgrade.sh linux
- name: Create pull request
if: steps.check.outputs.new_release == 'true'
uses: actions/github-script@v7
with:
github-token: ${{ secrets.KERNEL_UPDATE_TOKEN }}
script: |
// Check if PR already exists
const { data: pulls } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
head: `${context.repo.owner}:kernel-upgrade`,
state: 'open'
});
if (pulls.length === 0) {
const { data: pr } = await github.rest.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `Upgrade to kernel ${{ steps.check.outputs.current_version }}`,
head: 'kernel-upgrade',
base: 'main',
body: `Automated kernel upgrade to version ${{ steps.check.outputs.current_version }}.\n\n**Previous version:** ${{ steps.check.outputs.latest_tag }}\n**New version:** ${{ steps.check.outputs.current_version }}\n**Source:** https://www.kernel.org/\n\nThis PR was automatically created by the kernel release monitoring workflow.`
});
// Add label
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
labels: ['ci:main']
});
// Request reviews
await github.rest.pulls.requestReviewers({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
reviewers: ['troglobit', 'wkz', 'mattiaswal']
});
}
+1 -1
View File
@@ -28,7 +28,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build
BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.55"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.56"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+1 -1
View File
@@ -27,7 +27,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build
BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.55"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.56"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+1 -1
View File
@@ -29,7 +29,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image
BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/genimage.cfg"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.55"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.56"
BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/rk3328-nanopi-r2s-dts.patch"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/r2s/linux_defconfig"
+1 -1
View File
@@ -27,7 +27,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INF
BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.55"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.56"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+1 -1
View File
@@ -27,7 +27,7 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INF
BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.55"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.56"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
+1 -1
View File
@@ -9,7 +9,7 @@ All notable changes to the project are documented in this file.
### Changes
- Upgrade Buildroot to 2025.02.7 (LTS)
- Upgrade Linux kernel to 6.12.55 (LTS)
- Upgrade Linux kernel to 6.12.56 (LTS)
- Extend NETCONF and RESTCONF scripting documentation with operational
data examples, discovery patterns, and common workflow examples, issue #1156
- Initial support for a zone-based firewall, based on `firewalld`, issue #448
+3 -49
View File
@@ -349,55 +349,9 @@ kernel is available.
#### Repo locally cloned already
1. Navigate to the Linux kernel directory
cd linux
1. Get latest changes from KernelKit
git pull
1. Fetch the latest tags from upstream
git fetch upstream --tags
#### No local repo yet
1. Clone the KernelKit Linux kernel repository
git clone git@github.com:kernelkit/linux.git
1. Add the upstream remote
git remote add upstream git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
1. Checkout correct kernel branch
git checkout kkit-linux-6.12.y
#### Continue Here
1. Rebase on the upstream release
git rebase v6.12.29
1. Push changes and the tags
git push -f origin kkit-linux-6.12.y --tags
**Move to your Infix source tree**
> [!NOTE]
> See help of `kernel-refresh.sh` script for more information.
1. Generate patches
make x86_64_defconfig
cd output
../utils/kernel-refresh.sh -k /path/to/linux -o 6.12.28 -t v6.12.29
1. Commit and push the changes. Remember to update the ChangeLog
1. Create a pull request
- ./utils/kernel-upgrade.sh /path/to/linux/tree
- Update Changelog
- push and create a pull request
> [!NOTE]
> Remember to set the pull request label to `ci:main` to ensure full CI
@@ -1,4 +1,4 @@
From 98b8e71b03266a3e17b00562eea1a0e5951b0843 Mon Sep 17 00:00:00 2001
From 52f290cad56b362568c210dbcb5b64362b87585c Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 12 Mar 2024 10:27:24 +0100
Subject: [PATCH 01/30] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for
@@ -1,4 +1,4 @@
From d898868df98ef351f0dcc98f4069f333e89bc862 Mon Sep 17 00:00:00 2001
From c4317d637f4cfb2905be011becf0f822c7a83b6b Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 27 Mar 2024 15:52:43 +0100
Subject: [PATCH 02/30] net: dsa: mv88e6xxx: Improve indirect register access
@@ -1,4 +1,4 @@
From b7774886dbfa5e888e482149430e0cebf485558a Mon Sep 17 00:00:00 2001
From cb5f94c0fedcf97fc7d6a52b64b534150bffa82a Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Mon, 22 Apr 2024 23:18:01 +0200
Subject: [PATCH 03/30] net: dsa: mv88e6xxx: Honor ports being managed via
@@ -1,4 +1,4 @@
From 97e3384bea3c0cc553c6158c35759e3cc60b9f70 Mon Sep 17 00:00:00 2001
From f94a92a11b277a3a398b2611024b523bb5188c77 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 24 Apr 2024 22:41:04 +0200
Subject: [PATCH 04/30] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user
@@ -1,4 +1,4 @@
From 87d133136a92bd905373ad4ea5be943dc3fa423e Mon Sep 17 00:00:00 2001
From cc2ba799c885e9cfbbb45bb6678ceca5cc4901e1 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 16 Nov 2023 19:44:32 +0100
Subject: [PATCH 05/30] net: dsa: mv88e6xxx: Add LED infrastructure
@@ -1,4 +1,4 @@
From 16af56495fc5a5fad53d1bd53dc47f64a0eafb9e Mon Sep 17 00:00:00 2001
From 63ac127dd444ce8afc9e37181d42ed9e438b8de3 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 16 Nov 2023 21:59:35 +0100
Subject: [PATCH 06/30] net: dsa: mv88e6xxx: Add LED support for 6393X
@@ -1,4 +1,4 @@
From 32f05a6f4f0b5adc000df21d5422ef52f3dbb00b Mon Sep 17 00:00:00 2001
From e3c18f05aadb3ef936f427b04ada5cec8f640dc5 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 28 May 2024 10:38:42 +0200
Subject: [PATCH 07/30] net: dsa: tag_dsa: Use tag priority as initial
@@ -1,4 +1,4 @@
From d02630630280135612398574bcf3683c26a1bef0 Mon Sep 17 00:00:00 2001
From 359b0fd6f37e385af7a84017044c10194a17cb4d Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 16 Jan 2024 16:00:55 +0100
Subject: [PATCH 08/30] net: dsa: Support MDB memberships whose L2 addresses
@@ -1,4 +1,4 @@
From 1bd83dde6e63043fba885cec72190f4d8bb57b26 Mon Sep 17 00:00:00 2001
From d293c61cd5963ab785a4a6e17aeab29ce8da9dc1 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 21 Mar 2024 19:12:15 +0100
Subject: [PATCH 09/30] net: dsa: Support EtherType based priority overrides
@@ -1,4 +1,4 @@
From 12384805155768d17b6564c3905fb8692e16faf5 Mon Sep 17 00:00:00 2001
From cb379db0de0a67fbcb6e0ef93ef0ece0bd932237 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Fri, 22 Mar 2024 16:15:43 +0100
Subject: [PATCH 10/30] net: dsa: mv88e6xxx: Support EtherType based priority
@@ -1,4 +1,4 @@
From f3c14dfa8d1251bbf83b946c44d4faa176a78170 Mon Sep 17 00:00:00 2001
From 9b86830abacc10e0b0d0744b9c67410f6d6ee713 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 28 May 2024 11:04:22 +0200
Subject: [PATCH 11/30] net: dsa: mv88e6xxx: Add mqprio qdisc support
@@ -1,4 +1,4 @@
From b2bd397f26617697871221555e565fe98b3a04d0 Mon Sep 17 00:00:00 2001
From 01196484b97814adf17ef18679444f78794c3738 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 29 May 2024 13:20:41 +0200
Subject: [PATCH 12/30] net: dsa: mv88e6xxx: Use VLAN prio over IP when both
@@ -1,4 +1,4 @@
From 78696793ecabeb762cb7208a956bd8614b042a93 Mon Sep 17 00:00:00 2001
From 25be241b5ac26937472e980dfdf37b79d2f0bb9c Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 26 Nov 2024 19:45:59 +0100
Subject: [PATCH 13/30] [FIX] net: dsa: mv88e6xxx: Trap locally terminated
@@ -1,4 +1,4 @@
From 031a462116a4e9c7fb467fe015db6fcfda40832e Mon Sep 17 00:00:00 2001
From 2ffc6c2e9b1279507fef9d59208c3686f8141252 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 19 Sep 2023 18:38:10 +0200
Subject: [PATCH 14/30] net: phy: marvell10g: Support firmware loading on
@@ -1,4 +1,4 @@
From 364026f4180d57e32a5eea8099a38cc1e3c7d220 Mon Sep 17 00:00:00 2001
From fb833dce120667cf104f1ce91683635964f35c1d Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 21 Nov 2023 20:15:24 +0100
Subject: [PATCH 15/30] net: phy: marvell10g: Fix power-up when strapped to
@@ -1,4 +1,4 @@
From b79205cad9d17855547b3fc97ef0087325863682 Mon Sep 17 00:00:00 2001
From dc1c6450f473e1f91510c6f29f460f80abd89460 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 15 Nov 2023 20:58:42 +0100
Subject: [PATCH 16/30] net: phy: marvell10g: Add LED support for 88X3310
@@ -1,4 +1,4 @@
From 1df463ebbbb0998d5c3577facbbefff518701bd4 Mon Sep 17 00:00:00 2001
From 5452847c502df7e9fbf8b5c63ee82cb5be8530c2 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Tue, 12 Dec 2023 09:51:05 +0100
Subject: [PATCH 17/30] net: phy: marvell10g: Support LEDs tied to a single
@@ -1,4 +1,4 @@
From 0e171998dbdb85176a7e07ceec55a7d063a430dc Mon Sep 17 00:00:00 2001
From 653b6302a6a7af6ace66edcc14d93d2b0af3c784 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 27 Mar 2024 10:10:19 +0100
Subject: [PATCH 18/30] net: phy: Do not resume PHY when attaching
@@ -1,4 +1,4 @@
From 36c56936e20123292732db1a84a5c9977c8b9e64 Mon Sep 17 00:00:00 2001
From 8a08a978e7de5d7db80bd2770cb23afe9293f75f Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Mon, 4 Mar 2024 16:47:28 +0100
Subject: [PATCH 19/30] net: bridge: avoid classifying unknown multicast as
@@ -1,4 +1,4 @@
From 7a275e85076167cd0607760a0f60a9d7a39b7221 Mon Sep 17 00:00:00 2001
From e6f5da00542a3c913b536c0d0f8dcaeaebbf76de Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Tue, 5 Mar 2024 06:44:41 +0100
Subject: [PATCH 20/30] net: bridge: Ignore router ports when forwarding L2
@@ -1,4 +1,4 @@
From 646c04fdf8b5540df1f67aff9e66ae3583c46790 Mon Sep 17 00:00:00 2001
From ba5d0a1545b7bb57e662d8c5fb828018959a4847 Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Thu, 4 Apr 2024 16:36:30 +0200
Subject: [PATCH 21/30] net: bridge: drop delay for applying strict multicast
@@ -1,4 +1,4 @@
From 0e76cb88ebbc7c6c00c95afee0fcde50f91ab252 Mon Sep 17 00:00:00 2001
From 9c9f588dad6b386a2915e1c3610d3226cff92fb9 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Thu, 16 May 2024 14:51:54 +0200
Subject: [PATCH 22/30] net: bridge: Differentiate MDB additions from
@@ -1,4 +1,4 @@
From c1e4eb8722b50879071ad25d286806c7950b72aa Mon Sep 17 00:00:00 2001
From 8051c697ca7ea62ac53d7060bf57a2cbda4faaa8 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Fri, 24 Nov 2023 23:29:55 +0100
Subject: [PATCH 23/30] nvmem: layouts: onie-tlv: Let device probe even when
@@ -1,4 +1,4 @@
From e740be13e3e221653b40f0125e7b8a81705c5685 Mon Sep 17 00:00:00 2001
From deb7274a82e0471291005112facdfed2d409b2ce Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Mon, 29 Apr 2024 15:14:51 +0200
Subject: [PATCH 24/30] usb: core: adjust log level for unauthorized devices
@@ -1,4 +1,4 @@
From d1d4c3defdcd9add91e47b6a11e0b789486144b1 Mon Sep 17 00:00:00 2001
From 9c329fbdf8a98cd0364008c3eb1443562e86c00c Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Thu, 16 Jan 2025 12:35:12 +0100
Subject: [PATCH 25/30] net: dsa: mv88e6xxx: collapse disabled state into
@@ -1,4 +1,4 @@
From bbff2029c3791a210e7e1aadd70c600a4dda5712 Mon Sep 17 00:00:00 2001
From bb360d78aa68ecf435e5b51b9e10ba710f964ace Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 12 Feb 2025 22:03:14 +0100
Subject: [PATCH 26/30] net: dsa: mv88e6xxx: Only activate LAG offloading when
@@ -1,4 +1,4 @@
From ce7e3863f0be13f50a732d89b506be756f3cd1e1 Mon Sep 17 00:00:00 2001
From 41baa52e042ed467f7c15a3a5611018d2ad582bf Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Sun, 11 Aug 2024 11:27:35 +0200
Subject: [PATCH 27/30] net: usb: r8152: add r8153b support for link/activity
@@ -1,4 +1,4 @@
From 73e0938b78281d8adf4caf18e4f46b29d9069042 Mon Sep 17 00:00:00 2001
From 59a1759daebd34b11055e122630765904b11c407 Mon Sep 17 00:00:00 2001
From: Joachim Wiberg <troglobit@gmail.com>
Date: Sun, 10 Aug 2025 18:52:54 +0200
Subject: [PATCH 28/30] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to
@@ -1,4 +1,4 @@
From 10334fa97b79df7806b856b0031d68fc7c29abdd Mon Sep 17 00:00:00 2001
From 518a8568636ca2447403e72edacd746571cea90c Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com>
Date: Wed, 20 Aug 2025 21:38:24 +0200
Subject: [PATCH 29/30] drm/panel-simple: Add a timing for the Raspberry Pi 7"
@@ -1,4 +1,4 @@
From 3a755a156023b1388e5bdc132306513e8f6c61a8 Mon Sep 17 00:00:00 2001
From 955d2182c5476d86dd54656922e91f4539a6009d Mon Sep 17 00:00:00 2001
From: Mattias Walström <lazzer@gmail.com>
Date: Thu, 21 Aug 2025 11:20:23 +0200
Subject: [PATCH 30/30] input:touchscreen:edt-ft5x06: Add polled mode
+2 -2
View File
@@ -1,2 +1,2 @@
# Calculated with ../utils/kernel-refresh.sh
sha256 328f8f4608a653063a5fd82d29b17163faab2825fa419fa85b961740a342fb9f linux-6.12.55.tar.xz
# Calculated with utils/kernel-refresh.sh
sha256 55432b2af352f7bf3053c348d8549df2f2deeaa4a361c65d638c2f3b2ca7ec96 linux-6.12.56.tar.xz
+273
View File
@@ -0,0 +1,273 @@
#!/bin/bash
#
# Automated kernel upgrade test script for LTS 6.12.x
# Run from the infix directory and specify the path to the linux kernel tree
#
# Usage: ./utils/kernel-upgrade.sh <path-to-linux-dir>
#
set -e
# Parse arguments
if [ $# -ne 1 ]; then
echo "Usage: $0 <path-to-linux-dir>"
exit 1
fi
LINUX_DIR="$1"
# Configuration
INFIX_DIR="$(dirname "$(dirname "$(readlink -f "$0")")")"
INFIX_BRANCH="kernel-upgrade"
LINUX_BRANCH="kkit-linux-6.12.y"
UPSTREAM_REMOTE="upstream"
UPSTREAM_URL="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
KKIT_REMOTE="origin"
KKIT_URL="git@github.com:kernelkit/linux.git"
KERNEL_VERSION_PATTERN="6.12"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
log_warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Check if directories exist
check_directories() {
log_info "Checking directories..."
if [ ! -d "$LINUX_DIR" ]; then
log_info "Linux directory '$LINUX_DIR' not found, cloning..."
if git clone "$KKIT_URL" "$LINUX_DIR"; then
log_info "Successfully cloned linux repository"
else
log_error "Failed to clone linux repository"
exit 1
fi
fi
if [ ! -d "$INFIX_DIR" ]; then
log_error "Infix directory '$INFIX_DIR' not found"
exit 1
fi
if [ ! -f "$INFIX_DIR/utils/kernel-refresh.sh" ]; then
log_error "Kernel refresh script not found at $INFIX_DIR/utils/kernel-refresh.sh"
exit 1
fi
}
# Setup remotes for linux kernel tree
setup_linux_remotes() {
log_info "Setting up linux kernel remotes..."
# Add or update upstream remote (kernel.org via HTTPS)
if git -C "$LINUX_DIR" remote get-url "$UPSTREAM_REMOTE" &>/dev/null; then
log_info "Updating $UPSTREAM_REMOTE remote URL"
git -C "$LINUX_DIR" remote set-url "$UPSTREAM_REMOTE" "$UPSTREAM_URL"
else
log_info "Adding $UPSTREAM_REMOTE remote"
git -C "$LINUX_DIR" remote add "$UPSTREAM_REMOTE" "$UPSTREAM_URL"
fi
# Add or update kkit remote (github via SSH)
if git -C "$LINUX_DIR" remote get-url "$KKIT_REMOTE" &>/dev/null; then
log_info "Updating $KKIT_REMOTE remote URL"
git -C "$LINUX_DIR" remote set-url "$KKIT_REMOTE" "$KKIT_URL"
else
log_info "Adding $KKIT_REMOTE remote"
git -C "$LINUX_DIR" remote add "$KKIT_REMOTE" "$KKIT_URL"
fi
}
# Update linux kernel tree
update_linux_kernel() {
log_info "Processing linux kernel tree..."
# Ensure we're on the correct branch
log_info "Checking out branch $LINUX_BRANCH"
git -C "$LINUX_DIR" checkout "$LINUX_BRANCH"
# Get current version before update
CURRENT_VERSION=$(git -C "$LINUX_DIR" describe --tags 2>/dev/null || echo "unknown")
log_info "Current version: $CURRENT_VERSION"
# Fetch from upstream (kernel.org)
log_info "Fetching latest kernel updates from upstream..."
git -C "$LINUX_DIR" fetch "$UPSTREAM_REMOTE"
# Fetch from kkit remote
log_info "Fetching from kkit remote..."
git -C "$LINUX_DIR" fetch "$KKIT_REMOTE"
# Pull changes from kkit remote
log_info "Pulling latest changes from $KKIT_REMOTE..."
git -C "$LINUX_DIR" pull "$KKIT_REMOTE" "$LINUX_BRANCH"
}
# Rebase on new kernel
rebase_kernel() {
log_info "Rebasing on new kernel release..."
# Find the latest v6.12.x tag from upstream
LATEST_TAG=$(git -C "$LINUX_DIR" tag -l "v${KERNEL_VERSION_PATTERN}.*" | sort -V | tail -n1)
if [ -z "$LATEST_TAG" ]; then
log_error "No tags found matching v${KERNEL_VERSION_PATTERN}.*"
exit 1
fi
log_info "Latest kernel tag: $LATEST_TAG"
log_info "Rebasing $LINUX_BRANCH on $LATEST_TAG..."
if git -C "$LINUX_DIR" rebase "$LATEST_TAG"; then
log_info "Rebase successful"
else
log_error "Rebase failed. Manual intervention required."
log_info "Run 'git rebase --abort' to cancel or resolve conflicts manually"
exit 1
fi
# Push rebased branch to kkit remote
log_info "Pushing rebased branch to $KKIT_REMOTE..."
if git -C "$LINUX_DIR" push "$KKIT_REMOTE" "$LINUX_BRANCH" --force-with-lease; then
log_info "Successfully pushed to $KKIT_REMOTE"
else
log_error "Push failed"
exit 1
fi
}
# Update infix and run kernel refresh
update_infix() {
log_info "Processing infix tree..."
# Fetch latest changes
log_info "Fetching latest changes..."
git fetch origin
# Update main branch
log_info "Updating main branch..."
git checkout main
git pull origin main
# Check if branch exists and remove it
if git show-ref --verify --quiet "refs/heads/$INFIX_BRANCH"; then
log_info "Branch $INFIX_BRANCH exists, removing it..."
git branch -D "$INFIX_BRANCH"
fi
# Create fresh branch from main
log_info "Creating fresh $INFIX_BRANCH from main..."
git checkout -b "$INFIX_BRANCH"
# Get old kernel version from defconfig
OLD_VERSION=$(grep 'BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=' configs/aarch64_defconfig | cut -d'"' -f2)
if [ -z "$OLD_VERSION" ]; then
log_error "Could not determine old kernel version from configs/aarch64_defconfig"
exit 1
fi
log_info "Old kernel version: $OLD_VERSION"
# Get new kernel version from linux tree
NEW_VERSION=$(cd "$LINUX_DIR" && git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//')
if [ -z "$NEW_VERSION" ]; then
log_error "Could not determine new kernel version"
exit 1
fi
log_info "New kernel version: $NEW_VERSION"
# Check if versions are the same
if [ "$OLD_VERSION" = "$NEW_VERSION" ]; then
log_info "Kernel version unchanged ($OLD_VERSION), skipping refresh"
return 0
fi
# Run kernel refresh script
KERNEL_PATH="$(cd "$LINUX_DIR" && pwd)"
PATCH_DIR="$INFIX_DIR/patches/linux/$NEW_VERSION"
DEFCONFIG_DIR="$INFIX_DIR/configs"
log_info "bash utils/kernel-refresh.sh -k \"$KERNEL_PATH\" -o \"$OLD_VERSION\" -t \"v$NEW_VERSION\" -p \"$PATCH_DIR\" -d \"$DEFCONFIG_DIR\""
log_info "Running kernel refresh script..."
if bash utils/kernel-refresh.sh -k "$KERNEL_PATH" -o "$OLD_VERSION" -t "v$NEW_VERSION" -p "$PATCH_DIR" -d "$DEFCONFIG_DIR"; then
log_info "Kernel refresh completed successfully"
else
log_error "Kernel refresh failed"
exit 1
fi
# Update ChangeLog.md with new kernel version
log_info "Updating ChangeLog.md..."
if [ -f "doc/ChangeLog.md" ]; then
# Check if there's already a kernel upgrade entry in the latest release
if grep -q "^- Upgrade Linux kernel to" doc/ChangeLog.md | head -20; then
# Find and update the existing kernel upgrade line
sed -i "0,/^- Upgrade Linux kernel to.*/{s/^- Upgrade Linux kernel to.*/- Upgrade Linux kernel to $NEW_VERSION (LTS)/}" doc/ChangeLog.md
log_info "Updated existing kernel version entry to $NEW_VERSION"
else
# Add new kernel upgrade entry after the first "### Changes" section
sed -i "0,/^### Changes/a\\
\\
- Upgrade Linux kernel to $NEW_VERSION (LTS)" doc/ChangeLog.md
log_info "Added new kernel version entry: $NEW_VERSION"
fi
else
log_warn "doc/ChangeLog.md not found, skipping changelog update"
fi
}
# Check for uncommitted changes
check_clean_working_tree() {
log_info "Checking for uncommitted changes..."
# Check infix directory
if ! git -C "$INFIX_DIR" diff-index --quiet HEAD --; then
log_error "Infix directory has uncommitted changes. Please commit or stash them first."
exit 1
fi
# Check linux directory if it exists
if [ -d "$LINUX_DIR" ]; then
if ! git -C "$LINUX_DIR" diff-index --quiet HEAD --; then
log_error "Linux directory has uncommitted changes. Please commit or stash them first."
exit 1
fi
fi
log_info "Working tree is clean"
}
# Main execution
main() {
log_info "Starting automated kernel upgrade test..."
log_info "Working directory: $(pwd)"
check_clean_working_tree
check_directories
setup_linux_remotes
update_linux_kernel
rebase_kernel
update_infix
log_info "Kernel upgrade completed successfully!"
}
# Run main function
main