mbox series

[0/1,SRU,Noble/Mantic/Jammy] Move dmi-sysfs.ko into linux-modules

Message ID 20240222175826.3860669-1-vicamo.yang@canonical.com
Headers show
Series Move dmi-sysfs.ko into linux-modules | expand

Message

You-Sheng Yang Feb. 22, 2024, 5:58 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/2045561

[Impact]

The dmi-sysfs.ko module (CONFIG_DMI_SYSFS) is currently shipped in
linux-modules-extra. This makes it hard to pull in via the linux-virtual
package, it can only come from the linux-generic one that also pulls in the
firmware and everything else needed for baremetal, and that serves no purpose in
a qemu VM. This stops VMs using these kernels from being configurable using qemu
or cloud-hypervisor's SMBIOS type 11 strings. This feature is supported and used
widely by systemd:

https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html
https://systemd.io/CREDENTIALS/

A user launching a VM using the linux-kvm kernel image is not able to specify
SMBIOS strings to automatically configured userspace services and programs due
to the lack of this kconfig. We make extensive use of these in systemd's
upstream CI, which is running on Github Actions, which uses Jammy, so it would
be great to have this backported.

For example:

qemu-system-x86_64 \
        -machine type=q35,accel=kvm,smm=on \
        -smp 2 \
        -m 1G \
        -cpu host \
        -nographic \
        -nodefaults \
        -serial mon:stdio \
        -drive if=none,id=hd,file=ubuntu_jammy.raw,format=raw \
        -device virtio-scsi-pci,id=scsi \
        -device scsi-hd,drive=hd,bootindex=1 \
        -smbios type=11,value=io.systemd.credential:mycred=supersecret

[Fix]

Please consider moving this module to linux-modules.

These are already enabled in the 'main' kernel config, and in other distros. In
Debian/Archlinux/Fedora it is a built-in, and on SUSE it is a module installed
by default.

To verify this works, it is sufficient to check that the
/sys/firmware/dmi/entries/ directory in sysfs is present:

$ ls /sys/firmware/dmi/entries/
0-0 126-1 126-4 126-8 130-0 133-0 136-0 140-2 15-0 18-0 21-1 221-1 24-0 7-1 8-2 8-6
1-0 126-10 126-5 126-9 131-0 134-0 14-0 140-3 16-0 19-0 219-0 221-2 3-0 7-2 8-3 9-0
12-0 126-2 126-6 127-0 131-1 135-0 140-0 140-4 17-0 2-0 22-0 221-3 4-0 8-0 8-4 9-1
126-0 126-3 126-7 13-0 132-0 135-1 140-1 14-1 17-1 21-0 221-0 222-0 7-0 8-1 8-5

Without this module installed and loaded, the directory won't be there. Once
enabled, it will be there.

[Test]

1. pull built linux-modules packages for architectures with do_extras_package
   set to true;
2. extract the deb and check if dmi-sysfs kernel module file exists:

   $ dpkg-deb -R linux-modules-*.deb .
   $ find . -name dmi-sysfs.ko\*

[Regression Potential]

Moving a module from a less-common to a more-common package should not have any
negative side effects. The main effect will be a little more disk space used by
the more common package, whether the module is in use or not. There will also be
more functionality available in the default installation, which means a slightly
increased surface and possibility of new bugs in case it gets used.

[Other Info]

Fix for linux-unstable is in gitea kernel/noble-linux-unstable#18.

You-Sheng Yang (1):
  UBUNTU: [Packaging] Move dmi-sysfs.ko into linux-modules

 debian.master/control.d/generic.inclusion-list | 1 +
 1 file changed, 1 insertion(+)

Comments

Roxana Nicolescu Feb. 23, 2024, 10:05 a.m. UTC | #1
On 22/02/2024 18:58, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2045561
>
> [Impact]
>
> The dmi-sysfs.ko module (CONFIG_DMI_SYSFS) is currently shipped in
> linux-modules-extra. This makes it hard to pull in via the linux-virtual
> package, it can only come from the linux-generic one that also pulls in the
> firmware and everything else needed for baremetal, and that serves no purpose in
> a qemu VM. This stops VMs using these kernels from being configurable using qemu
> or cloud-hypervisor's SMBIOS type 11 strings. This feature is supported and used
> widely by systemd:
>
> https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html
> https://systemd.io/CREDENTIALS/
>
> A user launching a VM using the linux-kvm kernel image is not able to specify
> SMBIOS strings to automatically configured userspace services and programs due
> to the lack of this kconfig. We make extensive use of these in systemd's
> upstream CI, which is running on Github Actions, which uses Jammy, so it would
> be great to have this backported.
>
> For example:
>
> qemu-system-x86_64 \
>          -machine type=q35,accel=kvm,smm=on \
>          -smp 2 \
>          -m 1G \
>          -cpu host \
>          -nographic \
>          -nodefaults \
>          -serial mon:stdio \
>          -drive if=none,id=hd,file=ubuntu_jammy.raw,format=raw \
>          -device virtio-scsi-pci,id=scsi \
>          -device scsi-hd,drive=hd,bootindex=1 \
>          -smbios type=11,value=io.systemd.credential:mycred=supersecret
>
> [Fix]
>
> Please consider moving this module to linux-modules.
>
> These are already enabled in the 'main' kernel config, and in other distros. In
> Debian/Archlinux/Fedora it is a built-in, and on SUSE it is a module installed
> by default.
>
> To verify this works, it is sufficient to check that the
> /sys/firmware/dmi/entries/ directory in sysfs is present:
>
> $ ls /sys/firmware/dmi/entries/
> 0-0 126-1 126-4 126-8 130-0 133-0 136-0 140-2 15-0 18-0 21-1 221-1 24-0 7-1 8-2 8-6
> 1-0 126-10 126-5 126-9 131-0 134-0 14-0 140-3 16-0 19-0 219-0 221-2 3-0 7-2 8-3 9-0
> 12-0 126-2 126-6 127-0 131-1 135-0 140-0 140-4 17-0 2-0 22-0 221-3 4-0 8-0 8-4 9-1
> 126-0 126-3 126-7 13-0 132-0 135-1 140-1 14-1 17-1 21-0 221-0 222-0 7-0 8-1 8-5
>
> Without this module installed and loaded, the directory won't be there. Once
> enabled, it will be there.
>
> [Test]
>
> 1. pull built linux-modules packages for architectures with do_extras_package
>     set to true;
> 2. extract the deb and check if dmi-sysfs kernel module file exists:
>
>     $ dpkg-deb -R linux-modules-*.deb .
>     $ find . -name dmi-sysfs.ko\*
>
> [Regression Potential]
>
> Moving a module from a less-common to a more-common package should not have any
> negative side effects. The main effect will be a little more disk space used by
> the more common package, whether the module is in use or not. There will also be
> more functionality available in the default installation, which means a slightly
> increased surface and possibility of new bugs in case it gets used.
>
> [Other Info]
>
> Fix for linux-unstable is in gitea kernel/noble-linux-unstable#18.
>
> You-Sheng Yang (1):
>    UBUNTU: [Packaging] Move dmi-sysfs.ko into linux-modules
>
>   debian.master/control.d/generic.inclusion-list | 1 +
>   1 file changed, 1 insertion(+)
>
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
Tim Gardner Feb. 23, 2024, 3:40 p.m. UTC | #2
On 2/22/24 10:58 AM, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2045561
> 
> [Impact]
> 
> The dmi-sysfs.ko module (CONFIG_DMI_SYSFS) is currently shipped in
> linux-modules-extra. This makes it hard to pull in via the linux-virtual
> package, it can only come from the linux-generic one that also pulls in the
> firmware and everything else needed for baremetal, and that serves no purpose in
> a qemu VM. This stops VMs using these kernels from being configurable using qemu
> or cloud-hypervisor's SMBIOS type 11 strings. This feature is supported and used
> widely by systemd:
> 
> https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html
> https://systemd.io/CREDENTIALS/
> 
> A user launching a VM using the linux-kvm kernel image is not able to specify
> SMBIOS strings to automatically configured userspace services and programs due
> to the lack of this kconfig. We make extensive use of these in systemd's
> upstream CI, which is running on Github Actions, which uses Jammy, so it would
> be great to have this backported.
> 
> For example:
> 
> qemu-system-x86_64 \
>          -machine type=q35,accel=kvm,smm=on \
>          -smp 2 \
>          -m 1G \
>          -cpu host \
>          -nographic \
>          -nodefaults \
>          -serial mon:stdio \
>          -drive if=none,id=hd,file=ubuntu_jammy.raw,format=raw \
>          -device virtio-scsi-pci,id=scsi \
>          -device scsi-hd,drive=hd,bootindex=1 \
>          -smbios type=11,value=io.systemd.credential:mycred=supersecret
> 
> [Fix]
> 
> Please consider moving this module to linux-modules.
> 
> These are already enabled in the 'main' kernel config, and in other distros. In
> Debian/Archlinux/Fedora it is a built-in, and on SUSE it is a module installed
> by default.
> 
> To verify this works, it is sufficient to check that the
> /sys/firmware/dmi/entries/ directory in sysfs is present:
> 
> $ ls /sys/firmware/dmi/entries/
> 0-0 126-1 126-4 126-8 130-0 133-0 136-0 140-2 15-0 18-0 21-1 221-1 24-0 7-1 8-2 8-6
> 1-0 126-10 126-5 126-9 131-0 134-0 14-0 140-3 16-0 19-0 219-0 221-2 3-0 7-2 8-3 9-0
> 12-0 126-2 126-6 127-0 131-1 135-0 140-0 140-4 17-0 2-0 22-0 221-3 4-0 8-0 8-4 9-1
> 126-0 126-3 126-7 13-0 132-0 135-1 140-1 14-1 17-1 21-0 221-0 222-0 7-0 8-1 8-5
> 
> Without this module installed and loaded, the directory won't be there. Once
> enabled, it will be there.
> 
> [Test]
> 
> 1. pull built linux-modules packages for architectures with do_extras_package
>     set to true;
> 2. extract the deb and check if dmi-sysfs kernel module file exists:
> 
>     $ dpkg-deb -R linux-modules-*.deb .
>     $ find . -name dmi-sysfs.ko\*
> 
> [Regression Potential]
> 
> Moving a module from a less-common to a more-common package should not have any
> negative side effects. The main effect will be a little more disk space used by
> the more common package, whether the module is in use or not. There will also be
> more functionality available in the default installation, which means a slightly
> increased surface and possibility of new bugs in case it gets used.
> 
> [Other Info]
> 
> Fix for linux-unstable is in gitea kernel/noble-linux-unstable#18.
> 
> You-Sheng Yang (1):
>    UBUNTU: [Packaging] Move dmi-sysfs.ko into linux-modules
> 
>   debian.master/control.d/generic.inclusion-list | 1 +
>   1 file changed, 1 insertion(+)
> 
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Stefan Bader Feb. 29, 2024, 2:49 p.m. UTC | #3
On 22.02.24 18:58, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2045561
> 
> [Impact]
> 
> The dmi-sysfs.ko module (CONFIG_DMI_SYSFS) is currently shipped in
> linux-modules-extra. This makes it hard to pull in via the linux-virtual
> package, it can only come from the linux-generic one that also pulls in the
> firmware and everything else needed for baremetal, and that serves no purpose in
> a qemu VM. This stops VMs using these kernels from being configurable using qemu
> or cloud-hypervisor's SMBIOS type 11 strings. This feature is supported and used
> widely by systemd:
> 
> https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html
> https://systemd.io/CREDENTIALS/
> 
> A user launching a VM using the linux-kvm kernel image is not able to specify
> SMBIOS strings to automatically configured userspace services and programs due
> to the lack of this kconfig. We make extensive use of these in systemd's
> upstream CI, which is running on Github Actions, which uses Jammy, so it would
> be great to have this backported.
> 
> For example:
> 
> qemu-system-x86_64 \
>          -machine type=q35,accel=kvm,smm=on \
>          -smp 2 \
>          -m 1G \
>          -cpu host \
>          -nographic \
>          -nodefaults \
>          -serial mon:stdio \
>          -drive if=none,id=hd,file=ubuntu_jammy.raw,format=raw \
>          -device virtio-scsi-pci,id=scsi \
>          -device scsi-hd,drive=hd,bootindex=1 \
>          -smbios type=11,value=io.systemd.credential:mycred=supersecret
> 
> [Fix]
> 
> Please consider moving this module to linux-modules.
> 
> These are already enabled in the 'main' kernel config, and in other distros. In
> Debian/Archlinux/Fedora it is a built-in, and on SUSE it is a module installed
> by default.
> 
> To verify this works, it is sufficient to check that the
> /sys/firmware/dmi/entries/ directory in sysfs is present:
> 
> $ ls /sys/firmware/dmi/entries/
> 0-0 126-1 126-4 126-8 130-0 133-0 136-0 140-2 15-0 18-0 21-1 221-1 24-0 7-1 8-2 8-6
> 1-0 126-10 126-5 126-9 131-0 134-0 14-0 140-3 16-0 19-0 219-0 221-2 3-0 7-2 8-3 9-0
> 12-0 126-2 126-6 127-0 131-1 135-0 140-0 140-4 17-0 2-0 22-0 221-3 4-0 8-0 8-4 9-1
> 126-0 126-3 126-7 13-0 132-0 135-1 140-1 14-1 17-1 21-0 221-0 222-0 7-0 8-1 8-5
> 
> Without this module installed and loaded, the directory won't be there. Once
> enabled, it will be there.
> 
> [Test]
> 
> 1. pull built linux-modules packages for architectures with do_extras_package
>     set to true;
> 2. extract the deb and check if dmi-sysfs kernel module file exists:
> 
>     $ dpkg-deb -R linux-modules-*.deb .
>     $ find . -name dmi-sysfs.ko\*
> 
> [Regression Potential]
> 
> Moving a module from a less-common to a more-common package should not have any
> negative side effects. The main effect will be a little more disk space used by
> the more common package, whether the module is in use or not. There will also be
> more functionality available in the default installation, which means a slightly
> increased surface and possibility of new bugs in case it gets used.
> 
> [Other Info]
> 
> Fix for linux-unstable is in gitea kernel/noble-linux-unstable#18.
> 
> You-Sheng Yang (1):
>    UBUNTU: [Packaging] Move dmi-sysfs.ko into linux-modules
> 
>   debian.master/control.d/generic.inclusion-list | 1 +
>   1 file changed, 1 insertion(+)
> 

Applied to mantic,jammy:linux/master-next. Thanks.

-Stefan
Paolo Pisati March 1, 2024, 10:14 a.m. UTC | #4
On Fri, Feb 23, 2024 at 01:58:25AM +0800, You-Sheng Yang wrote:
> BugLink: https://bugs.launchpad.net/bugs/2045561

Applied.