mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-23 09:23:02 +02:00
Merge pull request #1212 from kernelkit/kernel-upgrade
This commit is contained in:
@@ -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']
|
||||
});
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
-1
@@ -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
|
||||
@@ -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
|
||||
|
||||
Executable
+273
@@ -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
|
||||
Reference in New Issue
Block a user