Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
fbd203f
net/sched: Always pass notifications when child class becomes empty
Jul 22, 2025
ef3480d
UBUNTU: Start new release
mdiewa Aug 7, 2025
2d6c744
UBUNTU: link-to-tracker: update tracking bug
mdiewa Aug 7, 2025
76be7b7
UBUNTU: Ubuntu-6.14.0-29.29
mdiewa Aug 7, 2025
40b4d77
UBUNTU: [Packaging] Start of noble:linux-hwe-6.14
smb49 Mar 10, 2025
2d28593
UBUNTU: [Packaging] update update.conf
smb49 Mar 10, 2025
fcde865
UBUNTU: [Packaging] update Ubuntu.md
smb49 Mar 10, 2025
1c31f81
UBUNTU: [Packaging] update variants
smb49 Mar 10, 2025
8779bb8
UBUNTU: Start new release
smb49 Mar 21, 2025
f59c5f0
UBUNTU: Ubuntu-hwe-6.14-6.14.0-11.11~24.04.1
smb49 Apr 9, 2025
f753852
UBUNTU: Start new release
smb49 Apr 9, 2025
d1006be
UBUNTU: [Packaging] debian.hwe-6.14/dkms-versions -- update from kern…
smb49 Apr 9, 2025
851c3cf
UBUNTU: Ubuntu-hwe-6.14-6.14.0-15.15~24.04.1
smb49 Apr 9, 2025
7f95d41
UBUNTU: [Packaging] update variants
smb49 May 26, 2025
849ceb0
UBUNTU: Start new release
smb49 May 26, 2025
3ddab3b
UBUNTU: link-to-tracker: update tracking bug
smb49 May 26, 2025
9b879a0
UBUNTU: [Packaging] debian.hwe-6.14/dkms-versions -- update from kern…
smb49 May 26, 2025
dbbaed3
UBUNTU: Ubuntu-hwe-6.14-6.14.0-22.22~24.04.1
smb49 May 26, 2025
324af70
UBUNTU: [Packaging] update variants
smb49 Jun 20, 2025
06c9ffd
UBUNTU: Start new release
smb49 Jun 20, 2025
8185b05
UBUNTU: link-to-tracker: update tracking bug
smb49 Jun 20, 2025
6bcceb6
UBUNTU: Ubuntu-hwe-6.14-6.14.0-23.23~24.04.1
smb49 Jun 20, 2025
18b328b
UBUNTU: Start new release
smb49 Jun 24, 2025
44dcb6b
UBUNTU: link-to-tracker: update tracking bug
smb49 Jun 24, 2025
8966f32
UBUNTU: [Packaging] update variants
smb49 Jun 24, 2025
5074981
UBUNTU: [Packaging] debian.hwe-6.14/dkms-versions -- update from kern…
smb49 Jun 24, 2025
2ec085e
UBUNTU: Ubuntu-hwe-6.14-6.14.0-24.24~24.04.1
smb49 Jun 24, 2025
451abff
UBUNTU: Start new release
smb49 Jun 27, 2025
1cf2c12
UBUNTU: link-to-tracker: update tracking bug
smb49 Jun 27, 2025
e1ed110
UBUNTU: Ubuntu-hwe-6.14-6.14.0-24.24~24.04.2
smb49 Jun 27, 2025
e5a22e2
UBUNTU: [Packaging] Stop suggesting fdutils from linux-image
smb49 Jun 17, 2025
c7730f7
UBUNTU: Start new release
smb49 Jul 7, 2025
e9cba76
UBUNTU: [Packaging] debian.hwe-6.14/dkms-versions -- update from kern…
smb49 Jul 7, 2025
176ed29
UBUNTU: link-to-tracker: update tracking bug
smb49 Jul 7, 2025
2553cb0
UBUNTU: Ubuntu-hwe-6.14-6.14.0-24.24~24.04.3
smb49 Jul 7, 2025
5117d21
UBUNTU: Start new release
smb49 Jul 16, 2025
6a6cdfb
UBUNTU: link-to-tracker: update tracking bug
smb49 Jul 16, 2025
8182c2c
UBUNTU: Ubuntu-hwe-6.14-6.14.0-25.25~24.04.1
smb49 Jul 16, 2025
deb9d23
UBUNTU: Start new release
smb49 Jul 22, 2025
31564e0
UBUNTU: link-to-tracker: update tracking bug
smb49 Jul 22, 2025
8e65d30
UBUNTU: Ubuntu-hwe-6.14-6.14.0-27.27~24.04.1
smb49 Jul 22, 2025
38d5537
UBUNTU: Start new release
smb49 Jul 25, 2025
83e254b
UBUNTU: link-to-tracker: update tracking bug
smb49 Jul 25, 2025
98adccd
UBUNTU: [Packaging] debian.hwe-6.14/dkms-versions -- update from kern…
smb49 Jul 25, 2025
21de1ed
UBUNTU: Ubuntu-hwe-6.14-6.14.0-28.28~24.04.1
smb49 Jul 25, 2025
079d987
UBUNTU: Start new release
smb49 Aug 14, 2025
c110b3d
UBUNTU: link-to-tracker: update tracking bug
smb49 Aug 14, 2025
a9d4b16
UBUNTU: Ubuntu-hwe-6.14-6.14.0-29.29~24.04.1
smb49 Aug 14, 2025
e829eb3
@@DELPHIX_PATCHSET_START@@
jwk404 Apr 1, 2021
7abe357
DLPX-71852 iSCSI: journal flooded with "Unable to locate Target IQN" …
pzakha Feb 9, 2021
7cd9fe7
DLPX-72065 Aborted iSCSI command never completes after LUN reset (#4)
pzakha Mar 8, 2021
838cfaf
DLPX-83697 iscsi target login should wait until tx/rx threads have pr…
pcd1193182 Nov 14, 2022
cfa8727
DLPX-83701 Make function mnt_add_count() traceable (#16)
Dec 9, 2022
5aae71a
Extract PKG_ABI from mutated string
palash-gandhi Oct 17, 2024
d30a697
Reintroduce fix from DLPX-87344 to build only with amd64 annotations
palash-gandhi Oct 17, 2024
8852344
DLPX-94999 linux-kernel updates to 6.14 are failing
prakashsurya Aug 4, 2025
bc68dfb
DLPX-94999 linux-kernel updates to 6.14 are failing
prakashsurya Aug 1, 2025
7ef1d64
Framebuffer overrides
tonynguien Sep 25, 2025
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
10 changes: 5 additions & 5 deletions Ubuntu.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Name: linux
Version: 6.11.0
Series: 24.10 (oracular)
Name: linux-hwe-6.14
Version: 6.14.0
Series: 24.04 (noble)
Description:
This is the source code for the Ubuntu linux kernel for the 24.10 series. This
source tree is used to produce the flavours: generic, generic-64k, generic-lpae.
This is the source code for the Ubuntu hwe-6.14 kernel for the 24.04 series. 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,650 changes: 3,650 additions & 0 deletions debian.hwe-6.14/changelog

Large diffs are not rendered by default.

185 changes: 185 additions & 0 deletions debian.hwe-6.14/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.
6 changes: 6 additions & 0 deletions debian.hwe-6.14/config/amd64/config.flavour.generic
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CONFIG_DRM=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FB_EFI=n
38 changes: 38 additions & 0 deletions debian.hwe-6.14/config/annotations
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Menu: HEADER
# FORMAT: 4
# ARCH: amd64
# FLAVOUR: amd64-generic

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


# ---- 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': '-', 'arm64': '-'}>
CONFIG_BLK_DEV_RUST_NULL policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_CC_ASM_FLAG_OUTPUT_BROKEN policy<{'s390x': 'y'}>
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_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_DRM_PANIC_SCREEN_QR_CODE policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_GCC_VERSION policy<{'amd64': '130300', 'arm64': '130300', 'armhf': '130300', 'ppc64el': '130300', 'riscv64': '130300', 's390x': '130300'}>
CONFIG_HAVE_RUST policy<{'amd64': 'y', 'arm64': '-', 'riscv64': '-'}>
CONFIG_LD_VERSION policy<{'amd64': '24200', 'arm64': '24200', 'armhf': '24200', 'ppc64el': '24200', 'riscv64': '24200', 's390x': '24200'}>
CONFIG_PAHOLE_VERSION policy<{'amd64': '125', 'arm64': '125', 'armhf': '125', 'ppc64el': '125', 'riscv64': '125', 's390x': '125'}>
CONFIG_RELR policy<{'arm64': '-'}>
CONFIG_RUST policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUSTC_HAS_COERCE_POINTEE policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}>
CONFIG_RUSTC_LLVM_VERSION policy<{'amd64': '180103', 'arm64': '180103', 'armhf': '180103', 'ppc64el': '180103', 'riscv64': '180103', 's390x': '180103'}>
CONFIG_RUSTC_SUPPORTS_ARM64 policy<{'arm64': '-'}>
CONFIG_RUSTC_VERSION policy<{'amd64': '108001', 'arm64': '108001', 'armhf': '108001', 'ppc64el': '108001', 'riscv64': '108001', 's390x': '108001'}>
CONFIG_RUSTC_VERSION_TEXT policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUST_BUILD_ASSERT_ALLOW policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUST_DEBUG_ASSERTIONS policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUST_FW_LOADER_ABSTRACTIONS policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUST_OVERFLOW_CHECKS policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_RUST_PHYLIB_ABSTRACTIONS policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_SAMPLES_RUST policy<{'amd64': '-', 'arm64': '-'}>
CONFIG_TOOLS_SUPPORT_RELR policy<{'amd64': 'y', 'arm64': '-', 'ppc64el': 'y'}>
108 changes: 108 additions & 0 deletions debian.hwe-6.14/control.d/flavour-control.stub
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Items that get replaced:
# FLAVOUR
# ARCH
# SUPPORTED
# TARGET
# BOOTLOADER
# =PROVIDES=
#
# Items marked with =FOO= are optional
#
# This file describes the template for packages that are created for each flavour
# in debian/control.d/vars.*
#
# This file gets edited in a couple of places. See the debian/control.stub rule in
# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the
# process of creating debian/control.
#
# The flavour specific strings (ARCH, etc) are converted using values from the various
# flavour files in debian/control.d/vars.*
#
# XXX: Leave the blank line before the first package!!

Package: linux-modules-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: kernel
Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}
Built-Using: ${linux:BuiltUsing}
Description: Linux kernel extra modules for version PKGVER
Contains the corresponding System.map file, the modules built by the
packager, and scripts that try to ensure that the system is not left in an
unbootable state after an update.
.
Supports SUPPORTED processors.
.
TARGET
.
You likely do not want to install this package directly. Instead, install
the linux-FLAVOUR meta-package, which will ensure that upgrades work
correctly, and that supporting packages are also installed.

Package: linux-modules-extra-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: kernel
Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}, linux-modules-PKGVER-ABINUM-FLAVOUR, wireless-regdb
Description: Linux kernel extra modules for version PKGVER
This package contains the Linux kernel extra modules for version PKGVER.
.
Also includes the corresponding System.map file, the modules built by the
packager, and scripts that try to ensure that the system is not left in an
unbootable state after an update.
.
Supports SUPPORTED processors.
.
TARGET
.
You likely do not want to install this package directly. Instead, install
the linux-FLAVOUR meta-package, which will ensure that upgrades work
correctly, and that supporting packages are also installed.

Package: linux-headers-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: devel
Priority: optional
Depends: ${misc:Depends}, SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends}
Provides: linux-headers, linux-headers-3.0
Description: Linux kernel headers for version PKGVER
This package provides kernel header files for version PKGVER.
.
This is for sites that want the latest kernel headers. Please read
/usr/share/doc/linux-headers-PKGVER-ABINUM/debian.README.gz for details.

Package: linux-lib-rust-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: amd64
Multi-Arch: foreign
Section: devel
Priority: optional
Depends: ${misc:Depends}, coreutils
Description: Rust library files related to Linux kernel version PKGVER
This package provides kernel library files for version PKGVER, that allow to
compile out-of-tree kernel modules written in Rust.

Package: linux-tools-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: devel
Priority: optional
Depends: ${misc:Depends}, SRCPKGNAME-tools-PKGVER-ABINUM
Description: Linux kernel version specific tools for version PKGVER-ABINUM
This package provides the architecture dependant parts for kernel
version locked tools (such as perf and x86_energy_perf_policy) for
version PKGVER-ABINUM.

Package: linux-cloud-tools-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: devel
Priority: optional
Depends: ${misc:Depends}, SRCPKGNAME-cloud-tools-PKGVER-ABINUM
Description: Linux kernel version specific cloud tools for version PKGVER-ABINUM
This package provides the architecture dependant parts for kernel
version locked tools for cloud for version PKGVER-ABINUM.

38 changes: 38 additions & 0 deletions debian.hwe-6.14/control.d/flavour-signed-control.stub
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR
Build-Profiles: <!stage1>
Architecture: ARCH
Section: kernel
Priority: optional
Provides: linux-image, fuse-module, =PROVIDES=${linux:rprovides}
Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-PKGVER-ABINUM-FLAVOUR
Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
Suggests: SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
Description: Linux kernel image for version PKGVER
This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER.
.
Supports SUPPORTED processors.
.
TARGET
.
You likely do not want to install this package directly. Instead, install
the linux-FLAVOUR meta-package, which will ensure that upgrades work
correctly, and that supporting packages are also installed.

Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR-dbgsym
Build-Profiles: <!stage1>
Architecture: ARCH
Section: devel
Priority: optional
Depends: ${misc:Depends}
Provides: linux-debug
Description: Linux kernel debug image for version PKGVER
This package provides the=SIGN-ME-TXT= kernel debug image for version PKGVER.
.
This is for sites that wish to debug the kernel.
.
The kernel image contained in this package is NOT meant to boot from. It
is uncompressed, and unstripped. This package also includes the
unstripped modules.

Loading