Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c162631
UBUNTU: [Packaging] Start of hwe-6.17 kernel
smb49 Oct 16, 2025
1fc68ee
UBUNTU: [Packaging] debian.hwe-6.17/dkms-versions -- update from kern…
smb49 Oct 17, 2025
bf61b17
UBUNTU: [Packaging] Bump rust version to 1.82
smb49 Oct 17, 2025
6b3e275
UBUNTU: [Config] Update annotations moving from 6.14 to 6.17
smb49 Oct 17, 2025
9d9023c
UBUNTU: Ubuntu-hwe-6.17-6.17.0-6.6~24.04.1
smb49 Oct 22, 2025
c2f3347
UBUNTU: [Packaging] Restore generic modules-extra code
smb49 Oct 23, 2025
58d3359
UBUNTU: [Packaging] Update generic inclusion list
smb49 Oct 23, 2025
86fc5d9
UBUNTU: [Config] Cleanup config (arm64 only changes)
smb49 Oct 23, 2025
a8a8a23
UBUNTU: Ubuntu-hwe-6.17-6.17.0-6.6~24.04.2
smb49 Oct 23, 2025
d8409d6
UBUNTU: [Packaging] Mangle modules-extra support
smb49 Oct 27, 2025
3ff10ae
UBUNTU: [Packaging] Fix local-mangle rust versions
smb49 Oct 27, 2025
0e7563a
UBUNTU: Start new release
smb49 Oct 27, 2025
1186658
UBUNTU: link-to-tracker: update tracking bug
smb49 Oct 27, 2025
c533b12
UBUNTU: Ubuntu-hwe-6.17-6.17.0-7.7~24.04.1
smb49 Oct 27, 2025
dbde55f
UBUNTU: [Packaging] Add do_tools_noble_hwe to include perf and bpftoo…
jacobmartin0 Sep 29, 2025
efd526d
UBUNTU: [Packaging] hwe-6.17: Set do_tools_noble_hwe = true in hooks.mk
jacobmartin0 Sep 29, 2025
82befd8
Revert "UBUNTU: [Packaging] Install compressed vmlinuz.efi on arm64"
smb49 Nov 17, 2025
ef01446
UBUNTU: [Packaging] Pre-sync arm64 not builing EFI loader
smb49 Nov 17, 2025
878cbe2
UBUNTU: [Packaging] Revert cross compile changes
smb49 Nov 17, 2025
60d900e
UBUNTU: SAUCE: tools: clamp sizeof in perf_cpu_map__merge
smb49 Dec 1, 2025
fb0dd28
UBUNTU: [Packaging] update Ubuntu.md
smb49 Nov 28, 2025
88389cd
UBUNTU: [Packaging] update variants
smb49 Jan 15, 2026
5f5d546
UBUNTU: Start new release
smb49 Jan 15, 2026
0ed7cc9
UBUNTU: [Config] hwe-6.17: Clean up armhf dependencies (again)
smb49 Jan 15, 2026
492ffa1
UBUNTU: link-to-tracker: update tracking bug
smb49 Jan 15, 2026
9a709f2
UBUNTU: [Packaging] debian.hwe-6.17/dkms-versions -- update from kern…
smb49 Jan 15, 2026
bf1e866
UBUNTU: Ubuntu-hwe-6.17-6.17.0-14.14~24.04.1
smb49 Jan 15, 2026
9f1b1bf
@@DELPHIX_PATCHSET_START@@
jwk404 Apr 1, 2021
a6eaa12
DLPX-71852 iSCSI: journal flooded with "Unable to locate Target IQN" …
pzakha Feb 9, 2021
67d98f5
DLPX-72065 Aborted iSCSI command never completes after LUN reset (#4)
pzakha Mar 8, 2021
30f4f2b
DLPX-83697 iscsi target login should wait until tx/rx threads have pr…
Nov 14, 2022
9956ef1
DLPX-83701 Make function mnt_add_count() traceable (#16)
Dec 9, 2022
d02727d
Extract PKG_ABI from mutated string
palash-gandhi Oct 17, 2024
4f38ace
Reintroduce fix from DLPX-87344 to build only with amd64 annotations
palash-gandhi Oct 17, 2024
463d941
DLPX-94999 linux-kernel updates to 6.14 are failing
prakashsurya Aug 1, 2025
11d3acf
DLPX-96594 fix linux-kernel updates to 6.17: export tcp symbols neede…
lyriclake Mar 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Ubuntu.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Name: linux
Name: linux-hwe-6.17
Version: 6.17.0
Series: 25.10 (questing)
Series: 24.04 (noble)
Description:
This is the source code for the Ubuntu linux kernel for the 25.10 series. This
source tree is used to produce the flavours: generic, generic-64k.
This is the source code for the Ubuntu linux kernel for the 24.04 series (HWE).
This source tree is used to produce the flavours: generic, generic-64k.
This kernel is configured to support the widest range of desktop, laptop and
server configurations.
3,848 changes: 3,848 additions & 0 deletions debian.hwe-6.17/changelog

Large diffs are not rendered by default.

185 changes: 185 additions & 0 deletions debian.hwe-6.17/config/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
==================
Config Annotations
==================

:Author: Andrea Righi

Overview
========

Each Ubuntu kernel needs to maintain its own .config for each supported
architecture and each flavour.

Every time a new patch is applied or a kernel is rebased on top of a new
one, we need to update the .config's accordingly (config options can be
added, removed and also renamed).

So, we need to make sure that some critical config options are always
matching the desired value in order to have a functional kernel.

State of the art
================

At the moment configs are maintained as a set of Kconfig chunks (inside
`debian.<kernel>/config/`): a global one, plus per-arch / per-flavour
chunks.

In addition to that, we need to maintain also a file called
'annotations'; the purpose of this file is to make sure that some
critical config options are not silently removed or changed when the
real .config is re-generated (for example after a rebase or after
applying a new set of patches).

The main problem with this approach is that, often, we have duplicate
information that is stored both in the Kconfig chunks *and* in the
annotations files and, at the same time, the whole .config's information
is distributed between Kconfig chunks and annotations, making it hard to
maintain, review and manage in general.

Proposed solution
=================

The proposed solution is to store all the config information into the
"annotations" format and get rid of the config chunks (basically the
real .config's can be produced "compiling" annotations).

Implementation
==============

To help the management of the annotations an helper script is provided
(`debian/scripts/misc/annotations`):

```
usage: annotations [-h] [--version] [--file FILE] [--arch ARCH] [--flavour FLAVOUR] [--config CONFIG]
(--query | --export | --import FILE | --update FILE | --check FILE)

Manage Ubuntu kernel .config and annotations

options:
-h, --help show this help message and exit
--version, -v show program's version number and exit
--file FILE, -f FILE Pass annotations or .config file to be parsed
--arch ARCH, -a ARCH Select architecture
--flavour FLAVOUR, -l FLAVOUR
Select flavour (default is "generic")
--config CONFIG, -c CONFIG
Select a specific config option

Action:
--query, -q Query annotations
--export, -e Convert annotations to .config format
--import FILE, -i FILE
Import a full .config for a specific arch and flavour into annotations
--update FILE, -u FILE
Import a partial .config into annotations (only resync configs specified in FILE)
--check FILE, -k FILE
Validate kernel .config with annotations
```

This script allows to query config settings (per arch/flavour/config),
export them into the Kconfig format (generating the real .config files)
and check if the final .config matches the rules defined in the
annotations.

Examples (annotations is defined as an alias to `debian/scripts/annotations`):

- Show settings for `CONFIG_DEBUG_INFO_BTF` for master kernel across all the
supported architectures and flavours:

```
$ annotations --query --config CONFIG_DEBUG_INFO_BTF
{
"policy": {
"amd64": "y",
"arm64": "y",
"armhf": "n",
"ppc64el": "y",
"riscv64": "y",
"s390x": "y"
},
"note": "'Needs newer pahole for armhf'"
}
```

- Dump kernel .config for arm64 and flavour generic-64k:

```
$ annotations --arch arm64 --flavour generic-64k --export
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
CONFIG_COMPAT=y
...
```

- Update annotations file with a new kernel .config for amd64 flavour
generic:

```
$ annotations --arch amd64 --flavour generic --import build/.config
```

Moreover, an additional kernelconfig commands are provided
(via debian/rules targets):
- `migrateconfigs`: automatically merge all the previous configs into
annotations (local changes still need to be committed)

Annotations headers
===================

The main annotations file should contain a header to define the architectures
and flavours that are supported.

Here is the format of the header for the generic kernel:
```
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64 arm64 armhf ppc64el riscv64 s390x
# FLAVOUR: amd64-generic arm64-generic arm64-generic-64k armhf-generic armhf-generic-lpae ppc64el-generic riscv64-generic s390x-generic

```

Example header of a derivative (linux-aws):
```
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64 arm64
# FLAVOUR: amd64-aws arm64-aws
# FLAVOUR_DEP: {'amd64-aws': 'amd64-generic', 'arm64-aws': 'arm64-generic'}

include "../../debian.master/config/annotations"

# Below you can define only the specific linux-aws configs that differ from linux generic

```

Pros and Cons
=============

Pros:
- avoid duplicate information in .config's and annotations
- allow to easily define groups of config settings (for a specific
environment or feature, such as annotations.clouds, annotations.ubuntu,
annotations.snapd, etc.)
- config options are more accessible, easy to change and review
- we can easily document how config options are managed (and external
contributors won't be discouraged anymore when they need to to change a
config option)

Cons:
- potential regressions: the new tool/scripts can have potential bugs,
so we could experience regressions due to some missed config changes
- kernel team need to understand the new process (even if everything
is transparent, kernel cranking process is the same, there might be
corner cases that need to be addressed and resolved manually)

TODO
====

- Migrate all flavour and arch definitions into annotations (rather
than having this information defined in multiple places inside
debian/scripts); right now this information is "partially" migrated,
meaning that we need to define arches and flavours in the headers
section of annotations (so that the annotations tool can figure out
the list of supported arches and flavours), but arches and flavours
are still defined elsewhere, ideally we would like to have arches and
flavours defined only in one place: annotations.
94 changes: 94 additions & 0 deletions debian.hwe-6.17/config/annotations
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64
# FLAVOUR: amd64-generic

include "../../debian.master/config/annotations"

CONFIG_CPUSETS_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_CPUSETS_V1 note<'Leave cpuset v1 enabled on HWE kernels 6.12+ -- LP: #2122368'>

CONFIG_MEMCG_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_MEMCG_V1 note<'Leave memcg v1 enabled on HWE kernels 6.12+ -- LP: #2122368'>

CONFIG_QCS_DISPCC_615 policy<{'arm64': 'm', 'armhf': 'n'}>
CONFIG_QCS_DISPCC_615 note<'Prevent selecting QCS_GCC_615 (arm64)'>

CONFIG_QCS_GCC_615 policy<{'arm64': 'm', 'armhf': '-'}>
CONFIG_QCS_GCC_615 note<'Dependency change to arm64 only'>

CONFIG_QCS_GPUCC_615 policy<{'arm64': 'm', 'armhf': 'n'}>
CONFIG_QCS_GPUCC_615 note<'Dependency change to arm64 only'>

CONFIG_QCS_VIDEOCC_615 policy<{'arm64': 'm', 'armhf': 'n'}>
CONFIG_QCS_VIDEOCC_615 note<'Dependency change to arm64 only'>

CONFIG_SM_GCC_6350 policy<{'arm64': 'm', 'armhf': '-'}>
CONFIG_SM_GCC_6350 note<'Depends on ARM64'>

CONFIG_SM_VIDEOCC_6350 policy<{'arm64': 'm', 'armhf': 'n'}>
CONFIG_SM_VIDEOCC_6350 note<'Dependency change to arm64 only'>


# ---- Annotations without notes ----

CONFIG_AS_VERSION policy<{'amd64': '24200', 'arm64': '24200', 'armhf': '24200', 'ppc64el': '24200', 'riscv64': '24200', 's390x': '24200'}>
CONFIG_AX88796B_RUST_PHY policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_BINDGEN_VERSION_TEXT policy<{'amd64': '"bindgen 0.65.1"', 'arm64': '"bindgen 0.65.1"'}>
CONFIG_CC_ASM_FLAG_OUTPUT_BROKEN policy<{'s390x': 'y'}>
CONFIG_CC_HAS_COUNTED_BY policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_CC_HAS_KASAN_SW_TAGS policy<{'amd64': '-', 'arm64': 'y'}>
CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_CC_HAS_MULTIDIMENSIONAL_NONSTRING policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_CC_VERSION_TEXT policy<{'amd64': '"x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"', 'arm64': '"aarch64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"', 'armhf': '"arm-linux-gnueabihf-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"', 'ppc64el': '"powerpc64le-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"', 'riscv64': '"riscv64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"', 's390x': '"s390x-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"'}>
CONFIG_DYNAMIC_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_DYNAMIC_FTRACE_WITH_ARGS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_DYNAMIC_FTRACE_WITH_CALL_OPS policy<{'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-'}>
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FPROBE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': '-', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FPROBE_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY policy<{'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-'}>
CONFIG_FTRACE_RECORD_RECURSION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING policy<{'amd64': 'n', 'arm64': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_FUNCTION_ALIGNMENT policy<{'amd64': '16', 'arm64': '8', 'armhf': '0', 'ppc64el': '4', 'riscv64': '0', 's390x': '8'}>
CONFIG_FUNCTION_ALIGNMENT_4B policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-'}>
CONFIG_FUNCTION_ALIGNMENT_8B policy<{'arm64': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FUNCTION_GRAPH_RETADDR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FUNCTION_GRAPH_RETVAL policy<{'amd64': 'y', 'arm64': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FUNCTION_GRAPH_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FUNCTION_PROFILER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_FUNCTION_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE policy<{'riscv64': '-'}>
CONFIG_GCC_VERSION policy<{'amd64': '130300', 'arm64': '130300', 'armhf': '130300', 'ppc64el': '130300', 'riscv64': '130300', 's390x': '130300'}>
CONFIG_HAVE_DYNAMIC_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS policy<{'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-'}>
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_HAVE_FUNCTION_GRAPH_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_HAVE_FUNCTION_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_HID_BPF policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-'}>
CONFIG_KPROBE_EVENTS_ON_NOTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_LD_VERSION policy<{'amd64': '24200', 'arm64': '24200', 'armhf': '24200', 'ppc64el': '24200', 'riscv64': '24200', 's390x': '24200'}>
CONFIG_MARCH_Z17 policy<{'s390x': '-'}>
CONFIG_PAHOLE_VERSION policy<{'amd64': '125', 'arm64': '125', 'armhf': '125', 'ppc64el': '125', 'riscv64': '125', 's390x': '125'}>
CONFIG_PROC_PID_CPUSET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}>
CONFIG_PSTORE_FTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': '-'}>
CONFIG_RELR policy<{'arm64': '-'}>
CONFIG_RISCV_ISA_ZABHA policy<{'riscv64': '-'}>
CONFIG_RISCV_ISA_ZACAS policy<{'riscv64': '-'}>
CONFIG_RUSTC_HAS_COERCE_POINTEE policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_RUSTC_LLVM_VERSION policy<{'amd64': '190101', 'arm64': '190101', 'armhf': '190101', 'ppc64el': '190101', 'riscv64': '190101', 's390x': '190101'}>
CONFIG_RUSTC_VERSION policy<{'amd64': '108200', 'arm64': '108200', 'armhf': '108200', 'ppc64el': '108200', 'riscv64': '108200', 's390x': '108200'}>
CONFIG_RUSTC_VERSION_TEXT policy<{'amd64': '"rustc 1.82.0 (f6e511eec 2024-10-15) (built from a source tarball)"', 'arm64': '"rustc 1.82.0 (f6e511eec 2024-10-15) (built from a source tarball)"'}>
CONFIG_RUST_PHYLIB_ABSTRACTIONS policy<{'amd64': 'n', 'arm64': 'n'}>
CONFIG_SAMPLE_FPROBE policy<{'amd64': 'n', 'arm64': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_SAMPLE_FTRACE_DIRECT policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_SAMPLE_FTRACE_DIRECT_MULTI policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_SAMPLE_FTRACE_OPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': '-', 's390x': 'n'}>
CONFIG_STACK_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_TASKS_RUDE_RCU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}>
CONFIG_TOOLCHAIN_HAS_ZABHA policy<{'riscv64': '-'}>
CONFIG_TOOLCHAIN_HAS_ZACAS policy<{'riscv64': '-'}>
CONFIG_TOOLS_SUPPORT_RELR policy<{'amd64': 'y', 'arm64': '-', 'ppc64el': 'y'}>
CONFIG_TUNE_Z17 policy<{'s390x': '-'}>
Loading