Skip to content

Instantly share code, notes, and snippets.

@Chester-Gillon
Last active October 20, 2024 13:49
Show Gist options
  • Select an option

  • Save Chester-Gillon/76a99cb3f934c23f2888794b7d329710 to your computer and use it in GitHub Desktop.

Select an option

Save Chester-Gillon/76a99cb3f934c23f2888794b7d329710 to your computer and use it in GitHub Desktop.
Ubuntu upgrade from 18.04 to 22.04

0. Introduction

Notes about upgrading a Ubuntu 18.04.6 LTS installation to the latest long term support version 22.04

This is being done as noticed had gone past the end of the support date:

$ hwe-support-status --verbose
You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2023.

The PC is a HP Z640, which can dual-boot into either Ubuntu or Windows 10, where the bootloader is grub from Ubuntu and Ubuntu is the default operating system.

1. Update from 18.04 to 20.04.6

The Software Updater in the starting 18.04 installation reported: Screenshot from 2023-08-06 10-44-04

Started by selecting Upgrade.... At the Release Notes dialog selected Upgrade.

At the Setting new software channels part of the Distribution Upgrade got the following pop-up with onlt Close as the option:

Third party sources disabled

Some third party entries in your sources.list were disabled. You can re-enable them after the upgrade with the 'software-properties' tool or your package manager.

At the Do you want to start the upgrade? dialog the details pain reported the following package counts:

  • Install : 466
  • No longer needed : 38
  • No longer supported by Canonical : 61
  • Remove : 18
  • Upgrade : 2356

Couldn't see a way of copying the list of packages from the dialog. How to get the list of the unsupported packages mentioned during the OS upgrade? mentions a /var/log/dist-upgrade/main.log, and looking at main.log shows entries from the time at which ran the upgrade from the GUI.

The list of No longer supported by Canonical packages:

$ awk -F\' '/demoted/ {gsub(/ /,"\n",$2); print $2}' /var/log/dist-upgrade/main.log 
adium-theme-ubuntu
cpp-7
dnsutils
enchant
example-content
gcc-7-base
gcc-8-base
geoip-database
gir1.2-gtksource-3.0
gsfonts
guile-2.0-libs
ifupdown
imagemagick
imagemagick-6-common
imagemagick-6.q16
libargon2-0
libart-2.0-2
libaudio2
libclass-accessor-perl
libdbusmenu-gtk4
libegl1-mesa
libenchant1c2a
libfile-copy-recursive-perl
libgeoip1
libgmime-3.0-0
libgtksourceview-3.0-1
libgtksourceview-3.0-common
libindicator3-7
libiptc0
libllvm6.0
liblqr-1-0
libmozjs-52-0
libncurses5
libncursesw5
libnetpbm10
liboauth0
libparse-debianchangelog-perl
libpython2.7
libpython2.7-minimal
libpython2.7-stdlib
libreoffice-style-galaxy
libsdl1.2-dev
libtinfo5
libxapian30
libzeitgeist-2.0-0
light-themes
netpbm
notification-daemon
plymouth-theme-ubuntu-logo
pppoeconf
python3-asn1crypto
python3-keyrings.alt
qpdf
qtbase5-dev
ubuntu-artwork
ubuntu-software
ubuntu-sounds
ubuntu-system-service
ubuntu-wallpapers-bionic
vlan
zeitgeist-core

Copied the log to the Windows partition for later analysis:

$ cp -p /var/log/dist-upgrade/main.log /mnt/windows/Users/mr_halfword/Documents/ubuntu_18.04_to_20.04_main.log

Got the a Replace the customiser configuration file '/etc/security/limits.conf'? dialog for which selected Replace. The changes are recorded below for re-applying as appropriate after the upgrade. The changes were made to perform RDMA or test real-time priority:

--- /etc/security/limits.conf	2018-10-29 15:54:50.250395413 +0000
+++ /etc/security/limits.conf.dpkg-new	2023-02-02 09:22:59.000000000 +0000
@@ -24,7 +24,7 @@
 #        - data - max data size (KB)
 #        - fsize - maximum filesize (KB)
 #        - memlock - max locked-in-memory address space (KB)
-#        - nofile - max number of open files
+#        - nofile - max number of open file descriptors
 #        - rss - max resident set size (KB)
 #        - stack - max stack size (KB)
 #        - cpu - max CPU time (MIN)
@@ -52,9 +52,5 @@
 #ftp             hard    nproc           0
 #ftp             -       chroot          /ftp
 #@student        -       maxlogins       4
-* soft memlock unlimited
-* hard memlock unlimited
-root soft memlock unlimited
-root hard memlock unlimited
-mr_halfword      hard    rtprio          unlimited
+
 # End of file

Got the a Replace the customiser configuration file '/etc/snmp/snmp.conf'? for which selected Replace. Can't remember why originally changed this configuration:

--- /etc/snmp/snmp.conf	2020-12-28 15:31:14.316147634 +0000
+++ /etc/snmp/snmp.conf.dpkg-new	2020-06-23 19:57:12.000000000 +0100
@@ -1,4 +1,10 @@
 # As the snmp packages come without MIB files due to license reasons, loading
 # of MIBs is disabled by default. If you added the MIBs you can reenable
 # loading them by commenting out the following line.
-# mibs :
+mibs :
+
+# If you want to globally change where snmp libraries, commands and daemons
+# look for MIBS, change the line below. Note you can set this for individual
+# tools with the -M option or MIBDIRS environment variable.
+#
+# mibdirs /usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf

Got to the Remove obsolete packages? dialog which reported:

  • No longer needed : 259
  • Remove : 82

Saved the current /var/log/dist-upgrade/main.log contents, and then selected Remove.

When prompted to Restart the system to complete the upgrade saved /var/log/dist-upgrade/main.log a final time, and selected Restart Now.

Rebooted successfully. The updated distribution:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

The updated Kernel:

$ uname -a
Linux Haswell-Ubuntu 5.4.0-155-generic #172-Ubuntu SMP Fri Jul 7 16:10:02 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

2. Update from 20.04.6 to 22.04.3

After updating to 22.04.2 the Software Updater in the reported: Screenshot from 2023-08-06 13-29-24

Started by selecting Upgrade.... At the Release Notes dialog selected Upgrade.

At the Do you want to start the upgrade? dialog the details pain reported the following package counts:

  • Install : 473
  • No longer needed : 19
  • No longer supported by Canonical : 27
  • Remove : 9
  • Upgrade : 2501

/var/log/dist-upgrade is keeping the history of each upgrade, so this time aren't making a copy of /var/log/dist-upgrade/main.log.

Selected Start Upgrade.

During the upgrade the only pop-up was about Firefox being changed to a snap.

Got to the Remove obsolete packages? dialog which reported:

  • No longer needed : 202
  • Remove : 29

Selected Remove.

When prompted to Restart the system to complete the upgrade selected Restart Now.

Rebooted successfully. The updated distribution:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"

The updated Kernel:

$ uname -a
Linux Haswell-Ubuntu 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Support status:

$ hwe-support-status --verbose
You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2027.

The Software Updater says the software is now up-to-date: Screenshot from 2023-08-06 15-27-50

3. Tests on functionality after upgrade to 22.04.3 LTS

The following tests were successful:

  1. User account and password maintained.
  2. On-board Ethernet eno1 has the original static IP address and has internet connectivity.
  3. Thunderbird has access to email account.
  4. ConnectX-2 VPI drivers are bound. Both ConnectX-2 VPI ports have defaulted to Infiniband as expected. Connect both ports to an unmanaged Infiniband switch and ibv_devinfo shows both ports become PORT_ACTIVE. The Infiniband subnet manager is running in Ubuntu, having been configued prior to the upgrade.
  5. /mnt/windows for the Windows installation on a different disk has been automatically mounted.
  6. BeyondCompare 4.4.6 opens.
  7. SmartGit 22.1.7 opens.
  8. The grub menu has been preserved. Defaults to booting Ubuntu but can select to boot Windows 10 instead.
  9. Vivado 2023.1 was able to program a FPGA using xilinx_tcf JTAG probe.
  10. Opened MATLAB 2020a and able to compile and run a mex file.
  11. Used CCS 12.3 to compile and debug a program for a TM4C129, using a Stellaris debug probe.
  12. Used setup_cmake.sh on a clean checkout of fpga_sio and was able to compile and debug some programs using Eclipse Oxygen.3a Release (4.7.3a). The upgrade has updated the rdma-core and libibverbs-dev packages to 39.0-1 which have added definitions which were previously missing (compared to development under AlmaLinux 8) which means more programs are now compiled under Ubuntu.

3.1. AMD Information Center for FPGAs & Adaptive SoCs not displaying correctly at login

With the original Ubuntu 18.04 when logged into the desktop the AMD Information Center opened and could be closed after viewing the state of any updates.

Following the upgrade to Ubuntu 22.04 at desktop login the AMD Information Center is no longer displaying correctly.

There is an icon in the task bar, but can't interact with it. The Quit option doesn't work and no other options:

image

There is the following icon in the top-left of the screen which is partially hidden by the task bar, and can't interact with the icon:

image

Not sure if related to 69915 - 2018.1 Install - I am unable to resize the Xilinx Information Center (XiC) window when opened from running in background which was reported with CentOS 6 and 7.

Can kill the process created at login which doesn't display correctly:

 pkill -f xic

And then manually start it, which then displays correctly:

$ /opt/Xilinx/xic/xic 

There is the following file which starts the AMD Information Center automatically at login:

$ cat ~/.config/autostart/Xilinx\ Information\ Center.desktop 
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Xilinx Information Center
Comment=Xilinx Information Center
Icon=/opt/Xilinx/xic/data/images/xlnx_logo.png
Exec=/opt/Xilinx/xic/xic -c -t

Used Startup Applications Preferences to remove the -t option which means start in tray mode

And the behaviour at desktop login with Ubuntu 22.04.3 LTS is back to that from the original Ubuntu 18.04.6 LTS, in that the AMD Information Center for FPGAs & Adaptive SoCs dialog was displayed in the middle of the screen and can be interacted with.

Asked in AMD (ex. Xilinx) Information Center not starting in tray mode at login following upgrade from Ubuntu 18.04 to 22.04 (via 20.04) to see if any other options.

3.2. Errors compiling a SNMP program with GNAT community edition 2021

Ran setup_cmake.sh from a clean checkout of ibv_message_passing. When compiling using GNAT community edition 2021, as setup by CMake, get compile errors in a program which uses SNMP:

[ 72%] Building CXX object snmp_response_time/CMakeFiles/snmp_response_time.dir/snmp_response_time.cpp.o
In file included from /usr/include/net-snmp/definitions.h:22,
                 from /usr/include/net-snmp/net-snmp-includes.h:24,
                 from /home/mr_halfword/ibv_message_passing/ibv_message_passing_c_project/source/snmp_response_time/snmp_response_time.cpp:26:
/usr/include/net-snmp/types.h:307:21: error: expected ';' at end of member declaration
  307 |     u_short         remote_port NETSNMP_ATTRIBUTE_DEPRECATED;
      |                     ^~~~~~~~~~~
      |                                ;
/usr/include/net-snmp/types.h:307:33: error: 'NETSNMP_ATTRIBUTE_DEPRECATED' does not name a type; did you mean 'NETSNMP_ATTRIBUTE_FORMAT'?
  307 |     u_short         remote_port NETSNMP_ATTRIBUTE_DEPRECATED;
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 NETSNMP_ATTRIBUTE_FORMAT
make[2]: *** [snmp_response_time/CMakeFiles/snmp_response_time.dir/build.make:76: snmp_response_time/CMakeFiles/snmp_response_time.dir/snmp_response_time.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1811: snmp_response_time/CMakeFiles/snmp_response_time.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Where the errors are from files in the system include directory /usr/include/. If in the Eclipse editor use Open Declaration on #include <net-snmp/net-snmp-config.h> it opens /opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/net-snmp/net-snmp-config.h which is in the compiler installation.

The system include file /usr/include/net-snmp/net-snmp-config.h contains the following which is missing in the version of the file in the compiler installation:

/* Used to make the compiler issue a warning about deprecated functions and
   variables */
#define NETSNMP_ATTRIBUTE_DEPRECATED __attribute__((deprecated))

gcc include order broken? links to Breakincludes which suggests when a GCC compiler is installed the installation can create patched versions of system include files in the compiler include-fixed directory. One of the listed flaws is:

Fixincludes prevents library upgrades from working. Suppose for example you have libfoo version 1.0 installed at the time GCC is built and installed. The fixincludes script decides to patch foo.h, and puts its patched version in GCC's include-fixed directory. Now suppose you install libfoo version 2.0, which comes with a new foo.h and which is incompatible with the definitions in the old version of foo.h. Due to GCC's include path order, the new version of the header will be silently ignored and GCC will keep using the old header from the version of libfoo that was present when GCC was installed.

There are multiple include-fixed directories under /opt/GNAT where the GNAT compilers are installed:

$ find /opt/GNAT -name include-fixed
/opt/GNAT/2017/lib/gcc/x86_64-pc-linux-gnu/6.3.1/include-fixed
/opt/GNAT/2021-arm-elf/lib/gcc/arm-eabi/10.3.1/include-fixed
/opt/GNAT/gnat-x86_64-linux-11.2.0-4/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include-fixed
/opt/GNAT/2020-arm-elf/lib/gcc/arm-eabi/9.3.1/include-fixed
/opt/GNAT/2018/lib/gcc/x86_64-pc-linux-gnu/7.3.1/include-fixed
/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed
/opt/GNAT/2019/lib/gcc/x86_64-pc-linux-gnu/8.3.1/include-fixed
/opt/GNAT/2020/lib/gcc/x86_64-pc-linux-gnu/9.3.1/include-fixed

The system /usr/include/net-snmp/net-snmp-config.h was installed by the libsnmp-dev package. Current installed version is 5.9.1+dfsg-1ubuntu2.6

Renamed the existing installation:

$ sudo mv /opt/GNAT/2021 /opt/GNAT/2021-ubuntu_18.04

Re-installed into /opt/GNAT/2021 selecting defaults on the GUI installer:

$ sudo ~/Downloads/gnat-2021-20210519-x86_64-linux-bin 

Following the re-install then ibv_message_passing was successfully compiled. Looking at the differences in the updated file in the compiler include-fixed directory:

$ git diff /usr/include/net-snmp/net-snmp-config.h /opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/net-snmp/net-snmp-config.h|cat
diff --git a/usr/include/net-snmp/net-snmp-config.h b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/net-snmp/net-snmp-config.h
index effa246..e33ee2f 100644
--- a/usr/include/net-snmp/net-snmp-config.h
+++ b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/net-snmp/net-snmp-config.h
@@ -1,3 +1,12 @@
+/*  DO NOT EDIT THIS FILE.
+
+    It has been auto-edited by fixincludes from:
+
+	"/usr/include/net-snmp/net-snmp-config.h"
+
+    This had to be done to correct non-standard usages in the
+    original, manufacturer supplied header file.  */
+
 /* include/net-snmp/net-snmp-config.h.  Generated from net-snmp-config.h.in by configure.  */
 /* include/net-snmp/net-snmp-config.h.in.  Generated from configure.ac by autoheader.  */
 
@@ -2171,7 +2180,7 @@
 #if defined(irix6) || defined(irix5)
 #define NETSNMP_OSTYPE NETSNMP_IRIXID
 #endif
-#ifdef linux
+#ifdef __linux__
 #define NETSNMP_OSTYPE NETSNMP_LINUXID
 #endif
 #if defined(bsdi2) || defined(bsdi3) || defined(bsdi4)

Some further examples of modified files in include-fixed:

$ git diff /usr/include/pthread.h /opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/pthread.h|cat
diff --git a/usr/include/pthread.h b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/pthread.h
index dedad4e..949a08b 100644
--- a/usr/include/pthread.h
+++ b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/pthread.h
@@ -1,3 +1,12 @@
+/*  DO NOT EDIT THIS FILE.
+
+    It has been auto-edited by fixincludes from:
+
+	"/usr/include/pthread.h"
+
+    This had to be done to correct non-standard usages in the
+    original, manufacturer supplied header file.  */
+
 /* Copyright (C) 2002-2022 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -770,7 +779,7 @@ extern int __REDIRECT_NTHNL (__sigsetjmp_cancel,
 #else
 # define __sigsetjmp_cancel(env, savemask) \
   __sigsetjmp ((struct __jmp_buf_tag *) (void *) (env), (savemask))
-extern int __sigsetjmp (struct __jmp_buf_tag __env[1],
+extern int __sigsetjmp (struct __jmp_buf_tag *__env,
 			int __savemask) __THROWNL;
 #endif
 
$ git diff /usr/include/limits.h /opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/limits.h|cat
diff --git a/usr/include/limits.h b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/limits.h
index e332be7..2c16084 100644
--- a/usr/include/limits.h
+++ b/opt/GNAT/2021/lib/gcc/x86_64-pc-linux-gnu/10.3.1/include-fixed/limits.h
@@ -1,204 +1,198 @@
-/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
+/* Copyright (C) 1992-2020 Free Software Foundation, Inc.
 
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
+This file is part of GCC.
 
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
 
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
 
-/*
- *	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
- */
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
 
-#ifndef _LIBC_LIMITS_H_
-#define _LIBC_LIMITS_H_	1
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+/* This administrivia gets added to the beginning of limits.h
+   if the system has its own version of limits.h.  */
 
-#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
-#include <bits/libc-header-start.h>
+/* We use _GCC_LIMITS_H_ because we want this not to match
+   any macros that the system's limits.h uses for its own purposes.  */
+#ifndef _GCC_LIMITS_H_  /* Terminated in limity.h.  */
+#define _GCC_LIMITS_H_
 
+#ifndef _LIBC_LIMITS_H_
+/* Use "..." so that we find syslimits.h only in this same directory.  */
+#include "syslimits.h"
+#endif
+/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
 
-/* Maximum length of any multibyte character in any locale.
-   We define this value here since the gcc header does not define
-   the correct value.  */
-#define MB_LEN_MAX	16
+This file is part of GCC.
 
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
 
-/* If we are not using GNU CC we have to define all the symbols ourself.
-   Otherwise use gcc's definitions (see below).  */
-#if !defined __GNUC__ || __GNUC__ < 2
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
 
-/* We only protect from multiple inclusion here, because all the other
-   #include's protect themselves, and in GCC 2 we may #include_next through
-   multiple copies of this file before we get to GCC's.  */
-# ifndef _LIMITS_H
-#  define _LIMITS_H	1
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
 
-#include <bits/wordsize.h>
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
 
-/* We don't have #include_next.
-   Define ANSI <limits.h> for standard 32-bit words.  */
+#ifndef _LIMITS_H___
+#define _LIMITS_H___
 
-/* These assume 8-bit `char's, 16-bit `short int's,
-   and 32-bit `int's and `long int's.  */
+/* Number of bits in a `char'.  */
+#undef CHAR_BIT
+#define CHAR_BIT __CHAR_BIT__
 
-/* Number of bits in a `char'.	*/
-#  define CHAR_BIT	8
+/* Maximum length of a multibyte character.  */
+#ifndef MB_LEN_MAX
+#define MB_LEN_MAX 1
+#endif
 
 /* Minimum and maximum values a `signed char' can hold.  */
-#  define SCHAR_MIN	(-128)
-#  define SCHAR_MAX	127
-
-/* Maximum value an `unsigned char' can hold.  (Minimum is 0.)  */
-#  define UCHAR_MAX	255
+#undef SCHAR_MIN
+#define SCHAR_MIN (-SCHAR_MAX - 1)
+#undef SCHAR_MAX
+#define SCHAR_MAX __SCHAR_MAX__
+
+/* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
+#undef UCHAR_MAX
+#if __SCHAR_MAX__ == __INT_MAX__
+# define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
+#else
+# define UCHAR_MAX (SCHAR_MAX * 2 + 1)
+#endif
 
 /* Minimum and maximum values a `char' can hold.  */
-#  ifdef __CHAR_UNSIGNED__
-#   define CHAR_MIN	0
-#   define CHAR_MAX	UCHAR_MAX
-#  else
-#   define CHAR_MIN	SCHAR_MIN
-#   define CHAR_MAX	SCHAR_MAX
-#  endif
+#ifdef __CHAR_UNSIGNED__
+# undef CHAR_MIN
+# if __SCHAR_MAX__ == __INT_MAX__
+#  define CHAR_MIN 0U
+# else
+#  define CHAR_MIN 0
+# endif
+# undef CHAR_MAX
+# define CHAR_MAX UCHAR_MAX
+#else
+# undef CHAR_MIN
+# define CHAR_MIN SCHAR_MIN
+# undef CHAR_MAX
+# define CHAR_MAX SCHAR_MAX
+#endif
 
 /* Minimum and maximum values a `signed short int' can hold.  */
-#  define SHRT_MIN	(-32768)
-#  define SHRT_MAX	32767
-
-/* Maximum value an `unsigned short int' can hold.  (Minimum is 0.)  */
-#  define USHRT_MAX	65535
+#undef SHRT_MIN
+#define SHRT_MIN (-SHRT_MAX - 1)
+#undef SHRT_MAX
+#define SHRT_MAX __SHRT_MAX__
+
+/* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
+#undef USHRT_MAX
+#if __SHRT_MAX__ == __INT_MAX__
+# define USHRT_MAX (SHRT_MAX * 2U + 1U)
+#else
+# define USHRT_MAX (SHRT_MAX * 2 + 1)
+#endif
 
 /* Minimum and maximum values a `signed int' can hold.  */
-#  define INT_MIN	(-INT_MAX - 1)
-#  define INT_MAX	2147483647
-
-/* Maximum value an `unsigned int' can hold.  (Minimum is 0.)  */
-#  define UINT_MAX	4294967295U
-
-/* Minimum and maximum values a `signed long int' can hold.  */
-#  if __WORDSIZE == 64
-#   define LONG_MAX	9223372036854775807L
-#  else
-#   define LONG_MAX	2147483647L
-#  endif
-#  define LONG_MIN	(-LONG_MAX - 1L)
-
-/* Maximum value an `unsigned long int' can hold.  (Minimum is 0.)  */
-#  if __WORDSIZE == 64
-#   define ULONG_MAX	18446744073709551615UL
-#  else
-#   define ULONG_MAX	4294967295UL
-#  endif
-
-#  ifdef __USE_ISOC99
-
+#undef INT_MIN
+#define INT_MIN (-INT_MAX - 1)
+#undef INT_MAX
+#define INT_MAX __INT_MAX__
+
+/* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
+#undef UINT_MAX
+#define UINT_MAX (INT_MAX * 2U + 1U)
+
+/* Minimum and maximum values a `signed long int' can hold.
+   (Same as `int').  */
+#undef LONG_MIN
+#define LONG_MIN (-LONG_MAX - 1L)
+#undef LONG_MAX
+#define LONG_MAX __LONG_MAX__
+
+/* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
+#undef ULONG_MAX
+#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 /* Minimum and maximum values a `signed long long int' can hold.  */
-#   define LLONG_MAX	9223372036854775807LL
-#   define LLONG_MIN	(-LLONG_MAX - 1LL)
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */
-#   define ULLONG_MAX	18446744073709551615ULL
-
-#  endif /* ISO C99 */
-
-# endif	/* limits.h  */
-#endif	/* GCC 2.  */
-
-#endif	/* !_LIBC_LIMITS_H_ */
-
- /* Get the compiler's limits.h, which defines almost all the ISO constants.
-
-    We put this #include_next outside the double inclusion check because
-    it should be possible to include this file more than once and still get
-    the definitions from gcc's header.  */
-#if defined __GNUC__ && !defined _GCC_LIMITS_H_
-/* `_GCC_LIMITS_H_' is what GCC's file defines.  */
-# include_next <limits.h>
+# undef LLONG_MIN
+# define LLONG_MIN (-LLONG_MAX - 1LL)
+# undef LLONG_MAX
+# define LLONG_MAX __LONG_LONG_MAX__
+
+/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
+# undef ULLONG_MAX
+# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
 #endif
 
-/* The <limits.h> files in some gcc versions don't define LLONG_MIN,
-   LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
-   ages are available.  */
-#if defined __USE_ISOC99 && defined __GNUC__
-# ifndef LLONG_MIN
-#  define LLONG_MIN	(-LLONG_MAX-1)
-# endif
-# ifndef LLONG_MAX
-#  define LLONG_MAX	__LONG_LONG_MAX__
-# endif
-# ifndef ULLONG_MAX
-#  define ULLONG_MAX	(LLONG_MAX * 2ULL + 1)
-# endif
+#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
+/* Minimum and maximum values a `signed long long int' can hold.  */
+# undef LONG_LONG_MIN
+# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
+# undef LONG_LONG_MAX
+# define LONG_LONG_MAX __LONG_LONG_MAX__
+
+/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
+# undef ULONG_LONG_MAX
+# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
 #endif
 
-/* The integer width macros are not defined by GCC's <limits.h> before
-   GCC 7, or if _GNU_SOURCE rather than
-   __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.  */
-#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
-# ifndef CHAR_WIDTH
-#  define CHAR_WIDTH 8
-# endif
-# ifndef SCHAR_WIDTH
-#  define SCHAR_WIDTH 8
-# endif
-# ifndef UCHAR_WIDTH
-#  define UCHAR_WIDTH 8
-# endif
-# ifndef SHRT_WIDTH
-#  define SHRT_WIDTH 16
-# endif
-# ifndef USHRT_WIDTH
-#  define USHRT_WIDTH 16
-# endif
-# ifndef INT_WIDTH
-#  define INT_WIDTH 32
-# endif
-# ifndef UINT_WIDTH
-#  define UINT_WIDTH 32
-# endif
-# ifndef LONG_WIDTH
-#  define LONG_WIDTH __WORDSIZE
-# endif
-# ifndef ULONG_WIDTH
-#  define ULONG_WIDTH __WORDSIZE
-# endif
-# ifndef LLONG_WIDTH
-#  define LLONG_WIDTH 64
-# endif
-# ifndef ULLONG_WIDTH
-#  define ULLONG_WIDTH 64
-# endif
-#endif /* Use IEC_60559_BFP_EXT.  */
-
-/* The macros for _Bool are not defined by GCC's <limits.h> before GCC
-   11, or if _GNU_SOURCE is defined rather than enabling C2x support
-   with -std.  */
-#if __GLIBC_USE (ISOC2X)
-# ifndef BOOL_MAX
-#  define BOOL_MAX 1
-# endif
-# ifndef BOOL_WIDTH
-#  define BOOL_WIDTH 1
-# endif
+#if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \
+     || (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L))
+/* TS 18661-1 / C2X widths of integer types.  */
+# undef CHAR_WIDTH
+# define CHAR_WIDTH __SCHAR_WIDTH__
+# undef SCHAR_WIDTH
+# define SCHAR_WIDTH __SCHAR_WIDTH__
+# undef UCHAR_WIDTH
+# define UCHAR_WIDTH __SCHAR_WIDTH__
+# undef SHRT_WIDTH
+# define SHRT_WIDTH __SHRT_WIDTH__
+# undef USHRT_WIDTH
+# define USHRT_WIDTH __SHRT_WIDTH__
+# undef INT_WIDTH
+# define INT_WIDTH __INT_WIDTH__
+# undef UINT_WIDTH
+# define UINT_WIDTH __INT_WIDTH__
+# undef LONG_WIDTH
+# define LONG_WIDTH __LONG_WIDTH__
+# undef ULONG_WIDTH
+# define ULONG_WIDTH __LONG_WIDTH__
+# undef LLONG_WIDTH
+# define LLONG_WIDTH __LONG_LONG_WIDTH__
+# undef ULLONG_WIDTH
+# define ULLONG_WIDTH __LONG_LONG_WIDTH__
 #endif
 
-#ifdef	__USE_POSIX
-/* POSIX adds things to <limits.h>.  */
-# include <bits/posix1_lim.h>
-#endif
+#endif /* _LIMITS_H___ */
+/* This administrivia gets added to the end of limits.h
+   if the system has its own version of limits.h.  */
 
-#ifdef	__USE_POSIX2
-# include <bits/posix2_lim.h>
-#endif
+#else /* not _GCC_LIMITS_H_ */
 
-#ifdef	__USE_XOPEN
-# include <bits/xopen_lim.h>
+#ifdef _GCC_NEXT_LIMITS_H
+#include_next <limits.h>		/* recurse down to the real one */
 #endif
+
+#endif /* not _GCC_LIMITS_H_ */

4. Configuring Secure Boot dialogue appeared on then next Kernel update after enabling secure boot

During the initial install of Ubuntu 22.04, secure boot was disabled in the BIOS. Later secure boot was enabled, with no indications of problems. At the point secure boot was enabled, the Kernel version was 5.15.0-112-generic.

During the update to next Kernel version 5.15.0-113-generic the following screen appeared: image

There was no cancel operation on the dialogue. Selecting Next got to the following, but if tried selecting Next again got an error that hadn't entered a valid password: image

At this point didn't want to enter the MOK password, so rebooted the PC. No MOK dialogue appeared during the reboot, and the Kernel version was stll 5.15.0-112-generic.

Decided to try disabling the use of third party drivers. Under Software & Updates -> Additional Drivers showed that was using a proprietary driver from NVIDIA for the graphics card: image

When to the Ubuntu Software tab and unticked the Proprietary drivers for devices (restricted) option: image

Tried to select the Using X.Org X server option on the Aditional Drivers tab but got an error that need to run dpkg to recover from a failed update. The dpkg command completed, and reported information about nvidia.ko, nvidia-modeset.ko and nvidia-drm.ko modules:

$ sudo dpkg --configure -a
[sudo] password for mr_halfword: 
Setting up cups-core-drivers (2.4.1op1-1ubuntu4.10) ...
Setting up google-chrome-stable (126.0.6478.126-1) ...
Setting up cups (2.4.1op1-1ubuntu4.10) ...
Updating PPD files for cups ...
Setting up cups-bsd (2.4.1op1-1ubuntu4.10) ...
Setting up linux-headers-5.15.0-113-generic (5.15.0-113.123) ...
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.15.0-113-generic

nvidia.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.15.0-113-generic/updates/dkms/

nvidia-modeset.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.15.0-113-generic/updates/dkms/

nvidia-drm.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.15.0-113-generic/updates/dkms/

depmod..........
   ...done.
Setting up linux-cloud-tools-5.15.0-113-generic (5.15.0-113.123) ...
Setting up openssl (3.0.2-0ubuntu1.16) ...
Setting up linux-tools-common (5.15.0-113.123) ...
Setting up linux-headers-generic (5.15.0.113.113) ...
Setting up linux-cloud-tools-generic (5.15.0.113.113) ...
Setting up linux-tools-5.15.0-113 (5.15.0-113.123) ...
Setting up linux-tools-5.15.0-113-generic (5.15.0-113.123) ...
Setting up linux-tools-generic (5.15.0.113.113) ...
Setting up linux-image-5.15.0-113-generic (5.15.0-113.123) ...
I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.15.0-112-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-5.15.0-112-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-5.15.0-113-generic
I: /boot/initrd.img is now a symlink to initrd.img-5.15.0-113-generic
Setting up linux-modules-5.15.0-113-generic (5.15.0-113.123) ...
Setting up linux-modules-extra-5.15.0-113-generic (5.15.0-113.123) ...
Setting up linux-image-generic (5.15.0.113.113) ...
Setting up linux-generic (5.15.0.113.113) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Processing triggers for ufw (0.36.1-4ubuntu0.1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for dbus (1.12.20-2ubuntu4.1) ...
Processing triggers for shared-mime-info (2.1-2) ...
Processing triggers for install-info (6.8-4build1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for linux-image-5.15.0-113-generic (5.15.0-113.123) ...
/etc/kernel/postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.15.0-113-generic
   ...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.15.0-113-generic
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-113-generic
Found initrd image: /boot/initrd.img-5.15.0-113-generic
Found linux image: /boot/vmlinuz-5.15.0-112-generic
Found initrd image: /boot/initrd.img-5.15.0-112-generic
Found linux image: /boot/vmlinuz-5.15.0-107-generic
Found initrd image: /boot/initrd.img-5.15.0-107-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
done

Was then able to untick the Proprietary drivers for devices (restricted) option. When prompted rebooted. During the reboot there was no dialogue related to enrolying MOK.

Had updated to the later Kernel version:

$ uname -a
Linux Haswell-Ubuntu 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

The Kernel is locked down due to secure boot:

$ sudo dmesg|grep lockdown
[sudo] password for mr_halfword: 
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7

The Kernel isn't tainted:

$ ~/Downloads/kernel-chktaint 
Kernel not Tainted

The modules in use by the NVIDIA graphics card are:

$ lspci -v -d 10de:
02:00.0 VGA compatible controller: NVIDIA Corporation GK104GL [Quadro K4200] (rev a1) (prog-if 00 [VGA controller])
	Subsystem: Hewlett-Packard Company GK104GL [Quadro K4200]
	Physical Slot: 2
	Flags: bus master, fast devsel, latency 0, IRQ 81, NUMA node 0
	Memory at f2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Memory at f0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 2000 [size=128]
	Expansion ROM at f3080000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: nouveau
	Kernel modules: nvidiafb, nouveau

02:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1)
	Subsystem: Hewlett-Packard Company GK104 HDMI Audio Controller
	Physical Slot: 2
	Flags: bus master, fast devsel, latency 0, IRQ 17, NUMA node 0
	Memory at f3000000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
$ modinfo nvidiafb
filename:       /lib/modules/5.15.0-113-generic/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko
license:        GPL
description:    Framebuffer driver for nVidia graphics chipset
author:         Antonino Daplas
srcversion:     723C9A18FFDF167833671C5
alias:          pci:v000010DEd*sv*sd*bc03sc*i*
depends:        vgastate,i2c-algo-bit,fb_ddc
retpoline:      Y
intree:         Y
name:           nvidiafb
vermagic:       5.15.0-113-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        1E:F3:F8:5A:EF:E4:E4:92:77:81:41:00:76:3C:F0:64:09:A8:E2:8D
sig_hashalgo:   sha512
signature:      18:7F:44:FB:46:3F:2D:A9:5E:BB:81:D4:EA:E2:56:E2:75:F7:E2:EB:
		0B:74:38:42:09:23:84:F6:AF:B3:4A:DC:D6:EB:8E:A1:58:5D:A5:1A:
		A8:08:4B:77:5E:07:C7:3F:BC:A7:BF:04:0B:48:57:19:D8:20:B3:93:
		90:5C:FE:42:34:3C:C2:38:F2:D0:1A:E7:AF:23:57:18:A1:4E:62:E0:
		D3:85:F5:BA:86:51:63:97:CA:A9:5E:CF:E5:24:37:15:63:77:F5:42:
		91:A9:F4:79:91:3F:76:6B:C2:FB:D0:13:16:49:38:93:FA:4B:A7:96:
		DA:BA:6F:7D:93:60:E7:37:47:47:3A:B7:A2:62:13:A7:06:98:DD:67:
		13:35:59:32:9C:97:25:8A:AB:8E:6C:6B:E1:EC:C8:40:A3:9E:F5:FA:
		F5:6B:0E:48:46:B2:5E:B4:67:4D:16:BD:04:A6:1F:60:FC:07:88:B0:
		0A:E2:26:6B:A2:02:0E:D6:BC:6D:7D:D0:D7:20:2A:61:EB:75:5C:78:
		CA:BC:2A:ED:B3:93:14:2A:1E:26:39:15:75:88:9C:7B:4C:1C:A4:60:
		3B:BF:E5:8F:AD:91:87:93:EA:98:9B:0E:1C:3B:26:B4:D4:2D:D3:54:
		94:BC:9D:F3:AE:8E:04:18:B1:AC:D1:2B:93:78:C0:48:B6:AB:CA:06:
		0C:F2:1A:D9:6E:13:16:A4:AD:13:79:5B:08:9C:67:14:35:30:78:18:
		58:59:EB:07:17:08:95:FE:08:BC:C5:28:CE:64:AF:44:9C:5F:60:67:
		E4:0E:3D:8E:B3:99:CC:2F:DB:C7:F4:CA:BF:02:53:66:AE:F7:24:6A:
		E1:C5:F7:AE:2C:11:46:E0:82:F0:B9:72:C1:71:D2:2D:FD:4C:8B:A6:
		E9:AF:9D:03:B7:3D:22:C4:66:22:40:2F:A0:7B:6F:14:5B:33:5A:F9:
		9D:36:E8:FC:96:F9:C9:D0:E6:05:61:5F:72:13:92:E0:5F:15:BE:58:
		EA:50:5D:56:BE:31:9E:84:DC:97:4E:25:17:A4:54:74:E5:A7:16:AF:
		30:FA:AD:D0:A3:A7:B4:57:70:21:A0:1D:1D:42:F2:35:E3:CA:B2:D6:
		3A:0B:E6:BB:17:82:19:E2:7D:37:D8:69:FB:80:99:93:2C:CD:DE:18:
		6D:7B:E3:5D:E9:04:43:A8:08:21:65:C1:BE:22:8C:59:E3:27:71:C8:
		69:49:6E:6A:EB:4B:21:38:0E:30:96:CE:E6:8C:EE:F1:BD:74:92:66:
		FC:E5:AC:20:13:25:06:92:DF:3B:90:1B:C2:5D:AB:F4:C8:34:4C:65:
		F0:28:77:5C:CA:10:23:F3:16:B7:88:D1
parm:           flatpanel:Enables experimental flat panel support for some chipsets. (0=disabled, 1=enabled, -1=autodetect) (default=-1) (int)
parm:           fpdither:Enables dithering of flat panel for 6 bits panels. (0=disabled, 1=enabled, -1=autodetect) (default=-1) (int)
parm:           hwcur:Enables hardware cursor implementation. (0 or 1=enabled) (default=0) (int)
parm:           noaccel:Disables hardware acceleration. (0 or 1=disable) (default=0) (int)
parm:           noscale:Disables screen scaling. (0 or 1=disable) (default=0, do scaling) (int)
parm:           paneltweak:Tweak display settings for flatpanels. (default=0, no tweaks) (int)
parm:           forceCRTC:Forces usage of a particular CRTC in case autodetection fails. (0 or 1) (default=autodetect) (int)
parm:           vram:amount of framebuffer memory to remap in MiB(default=0 - remap entire memory) (int)
parm:           mode_option:Specify initial video mode (charp)
parm:           bpp:pixel width in bits(default=8) (int)
parm:           reverse_i2c:reverse port assignment of the i2c bus (int)
parm:           nomtrr:Disables MTRR support (0 or 1=disabled) (default=0) (bool)
$ modinfo nouveau
filename:       /lib/modules/5.15.0-113-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko
firmware:       nvidia/gp100/acr/ucode_load.bin
firmware:       nvidia/gp100/acr/bl.bin
firmware:       nvidia/gm206/acr/ucode_load.bin
firmware:       nvidia/gm206/acr/bl.bin
firmware:       nvidia/gm204/acr/ucode_load.bin
firmware:       nvidia/gm204/acr/bl.bin
firmware:       nvidia/gm200/acr/ucode_load.bin
firmware:       nvidia/gm200/acr/bl.bin
firmware:       nvidia/gp100/acr/ucode_unload.bin
firmware:       nvidia/gm206/acr/ucode_unload.bin
firmware:       nvidia/gm204/acr/ucode_unload.bin
firmware:       nvidia/gm200/acr/ucode_unload.bin
firmware:       nvidia/gp107/acr/ucode_load.bin
firmware:       nvidia/gp107/acr/bl.bin
firmware:       nvidia/gp106/acr/ucode_load.bin
firmware:       nvidia/gp106/acr/bl.bin
firmware:       nvidia/gp104/acr/ucode_load.bin
firmware:       nvidia/gp104/acr/bl.bin
firmware:       nvidia/gp102/acr/ucode_load.bin
firmware:       nvidia/gp102/acr/bl.bin
firmware:       nvidia/gp107/acr/ucode_unload.bin
firmware:       nvidia/gp107/acr/unload_bl.bin
firmware:       nvidia/gp106/acr/ucode_unload.bin
firmware:       nvidia/gp106/acr/unload_bl.bin
firmware:       nvidia/gp104/acr/ucode_unload.bin
firmware:       nvidia/gp104/acr/unload_bl.bin
firmware:       nvidia/gp102/acr/ucode_unload.bin
firmware:       nvidia/gp102/acr/unload_bl.bin
firmware:       nvidia/gv100/acr/ucode_load.bin
firmware:       nvidia/gv100/acr/bl.bin
firmware:       nvidia/gp108/acr/ucode_load.bin
firmware:       nvidia/gp108/acr/bl.bin
firmware:       nvidia/gv100/acr/ucode_unload.bin
firmware:       nvidia/gv100/acr/unload_bl.bin
firmware:       nvidia/gp108/acr/ucode_unload.bin
firmware:       nvidia/gp108/acr/unload_bl.bin
firmware:       nvidia/tu117/acr/ucode_ahesasc.bin
firmware:       nvidia/tu117/acr/bl.bin
firmware:       nvidia/tu116/acr/ucode_ahesasc.bin
firmware:       nvidia/tu116/acr/bl.bin
firmware:       nvidia/tu106/acr/ucode_ahesasc.bin
firmware:       nvidia/tu106/acr/bl.bin
firmware:       nvidia/tu104/acr/ucode_ahesasc.bin
firmware:       nvidia/tu104/acr/bl.bin
firmware:       nvidia/tu102/acr/ucode_ahesasc.bin
firmware:       nvidia/tu102/acr/bl.bin
firmware:       nvidia/tu117/acr/ucode_asb.bin
firmware:       nvidia/tu116/acr/ucode_asb.bin
firmware:       nvidia/tu106/acr/ucode_asb.bin
firmware:       nvidia/tu104/acr/ucode_asb.bin
firmware:       nvidia/tu102/acr/ucode_asb.bin
firmware:       nvidia/tu117/acr/ucode_unload.bin
firmware:       nvidia/tu117/acr/unload_bl.bin
firmware:       nvidia/tu116/acr/ucode_unload.bin
firmware:       nvidia/tu116/acr/unload_bl.bin
firmware:       nvidia/tu106/acr/ucode_unload.bin
firmware:       nvidia/tu106/acr/unload_bl.bin
firmware:       nvidia/tu104/acr/ucode_unload.bin
firmware:       nvidia/tu104/acr/unload_bl.bin
firmware:       nvidia/tu102/acr/ucode_unload.bin
firmware:       nvidia/tu102/acr/unload_bl.bin
firmware:       nvidia/gp108/nvdec/scrubber.bin
firmware:       nvidia/gp107/nvdec/scrubber.bin
firmware:       nvidia/gp106/nvdec/scrubber.bin
firmware:       nvidia/gp104/nvdec/scrubber.bin
firmware:       nvidia/gp102/nvdec/scrubber.bin
firmware:       nvidia/tu117/nvdec/scrubber.bin
firmware:       nvidia/tu116/nvdec/scrubber.bin
firmware:       nvidia/tu106/nvdec/scrubber.bin
firmware:       nvidia/tu104/nvdec/scrubber.bin
firmware:       nvidia/tu102/nvdec/scrubber.bin
firmware:       nvidia/gv100/nvdec/scrubber.bin
firmware:       nvidia/gm206/gr/sw_method_init.bin
firmware:       nvidia/gm206/gr/sw_bundle_init.bin
firmware:       nvidia/gm206/gr/sw_nonctx.bin
firmware:       nvidia/gm206/gr/sw_ctx.bin
firmware:       nvidia/gm206/gr/gpccs_sig.bin
firmware:       nvidia/gm206/gr/gpccs_data.bin
firmware:       nvidia/gm206/gr/gpccs_inst.bin
firmware:       nvidia/gm206/gr/gpccs_bl.bin
firmware:       nvidia/gm206/gr/fecs_sig.bin
firmware:       nvidia/gm206/gr/fecs_data.bin
firmware:       nvidia/gm206/gr/fecs_inst.bin
firmware:       nvidia/gm206/gr/fecs_bl.bin
firmware:       nvidia/gm204/gr/sw_method_init.bin
firmware:       nvidia/gm204/gr/sw_bundle_init.bin
firmware:       nvidia/gm204/gr/sw_nonctx.bin
firmware:       nvidia/gm204/gr/sw_ctx.bin
firmware:       nvidia/gm204/gr/gpccs_sig.bin
firmware:       nvidia/gm204/gr/gpccs_data.bin
firmware:       nvidia/gm204/gr/gpccs_inst.bin
firmware:       nvidia/gm204/gr/gpccs_bl.bin
firmware:       nvidia/gm204/gr/fecs_sig.bin
firmware:       nvidia/gm204/gr/fecs_data.bin
firmware:       nvidia/gm204/gr/fecs_inst.bin
firmware:       nvidia/gm204/gr/fecs_bl.bin
firmware:       nvidia/gm200/gr/sw_method_init.bin
firmware:       nvidia/gm200/gr/sw_bundle_init.bin
firmware:       nvidia/gm200/gr/sw_nonctx.bin
firmware:       nvidia/gm200/gr/sw_ctx.bin
firmware:       nvidia/gm200/gr/gpccs_sig.bin
firmware:       nvidia/gm200/gr/gpccs_data.bin
firmware:       nvidia/gm200/gr/gpccs_inst.bin
firmware:       nvidia/gm200/gr/gpccs_bl.bin
firmware:       nvidia/gm200/gr/fecs_sig.bin
firmware:       nvidia/gm200/gr/fecs_data.bin
firmware:       nvidia/gm200/gr/fecs_inst.bin
firmware:       nvidia/gm200/gr/fecs_bl.bin
firmware:       nvidia/gp100/gr/sw_method_init.bin
firmware:       nvidia/gp100/gr/sw_bundle_init.bin
firmware:       nvidia/gp100/gr/sw_nonctx.bin
firmware:       nvidia/gp100/gr/sw_ctx.bin
firmware:       nvidia/gp100/gr/gpccs_sig.bin
firmware:       nvidia/gp100/gr/gpccs_data.bin
firmware:       nvidia/gp100/gr/gpccs_inst.bin
firmware:       nvidia/gp100/gr/gpccs_bl.bin
firmware:       nvidia/gp100/gr/fecs_sig.bin
firmware:       nvidia/gp100/gr/fecs_data.bin
firmware:       nvidia/gp100/gr/fecs_inst.bin
firmware:       nvidia/gp100/gr/fecs_bl.bin
firmware:       nvidia/gp102/gr/sw_method_init.bin
firmware:       nvidia/gp102/gr/sw_bundle_init.bin
firmware:       nvidia/gp102/gr/sw_nonctx.bin
firmware:       nvidia/gp102/gr/sw_ctx.bin
firmware:       nvidia/gp102/gr/gpccs_sig.bin
firmware:       nvidia/gp102/gr/gpccs_data.bin
firmware:       nvidia/gp102/gr/gpccs_inst.bin
firmware:       nvidia/gp102/gr/gpccs_bl.bin
firmware:       nvidia/gp102/gr/fecs_sig.bin
firmware:       nvidia/gp102/gr/fecs_data.bin
firmware:       nvidia/gp102/gr/fecs_inst.bin
firmware:       nvidia/gp102/gr/fecs_bl.bin
firmware:       nvidia/gp106/gr/sw_method_init.bin
firmware:       nvidia/gp106/gr/sw_bundle_init.bin
firmware:       nvidia/gp106/gr/sw_nonctx.bin
firmware:       nvidia/gp106/gr/sw_ctx.bin
firmware:       nvidia/gp106/gr/gpccs_sig.bin
firmware:       nvidia/gp106/gr/gpccs_data.bin
firmware:       nvidia/gp106/gr/gpccs_inst.bin
firmware:       nvidia/gp106/gr/gpccs_bl.bin
firmware:       nvidia/gp106/gr/fecs_sig.bin
firmware:       nvidia/gp106/gr/fecs_data.bin
firmware:       nvidia/gp106/gr/fecs_inst.bin
firmware:       nvidia/gp106/gr/fecs_bl.bin
firmware:       nvidia/gp104/gr/sw_method_init.bin
firmware:       nvidia/gp104/gr/sw_bundle_init.bin
firmware:       nvidia/gp104/gr/sw_nonctx.bin
firmware:       nvidia/gp104/gr/sw_ctx.bin
firmware:       nvidia/gp104/gr/gpccs_sig.bin
firmware:       nvidia/gp104/gr/gpccs_data.bin
firmware:       nvidia/gp104/gr/gpccs_inst.bin
firmware:       nvidia/gp104/gr/gpccs_bl.bin
firmware:       nvidia/gp104/gr/fecs_sig.bin
firmware:       nvidia/gp104/gr/fecs_data.bin
firmware:       nvidia/gp104/gr/fecs_inst.bin
firmware:       nvidia/gp104/gr/fecs_bl.bin
firmware:       nvidia/gp107/gr/sw_method_init.bin
firmware:       nvidia/gp107/gr/sw_bundle_init.bin
firmware:       nvidia/gp107/gr/sw_nonctx.bin
firmware:       nvidia/gp107/gr/sw_ctx.bin
firmware:       nvidia/gp107/gr/gpccs_sig.bin
firmware:       nvidia/gp107/gr/gpccs_data.bin
firmware:       nvidia/gp107/gr/gpccs_inst.bin
firmware:       nvidia/gp107/gr/gpccs_bl.bin
firmware:       nvidia/gp107/gr/fecs_sig.bin
firmware:       nvidia/gp107/gr/fecs_data.bin
firmware:       nvidia/gp107/gr/fecs_inst.bin
firmware:       nvidia/gp107/gr/fecs_bl.bin
firmware:       nvidia/gp108/gr/sw_method_init.bin
firmware:       nvidia/gp108/gr/sw_bundle_init.bin
firmware:       nvidia/gp108/gr/sw_nonctx.bin
firmware:       nvidia/gp108/gr/sw_ctx.bin
firmware:       nvidia/gp108/gr/gpccs_sig.bin
firmware:       nvidia/gp108/gr/gpccs_data.bin
firmware:       nvidia/gp108/gr/gpccs_inst.bin
firmware:       nvidia/gp108/gr/gpccs_bl.bin
firmware:       nvidia/gp108/gr/fecs_sig.bin
firmware:       nvidia/gp108/gr/fecs_data.bin
firmware:       nvidia/gp108/gr/fecs_inst.bin
firmware:       nvidia/gp108/gr/fecs_bl.bin
firmware:       nvidia/gv100/gr/sw_method_init.bin
firmware:       nvidia/gv100/gr/sw_bundle_init.bin
firmware:       nvidia/gv100/gr/sw_nonctx.bin
firmware:       nvidia/gv100/gr/sw_ctx.bin
firmware:       nvidia/gv100/gr/gpccs_sig.bin
firmware:       nvidia/gv100/gr/gpccs_data.bin
firmware:       nvidia/gv100/gr/gpccs_inst.bin
firmware:       nvidia/gv100/gr/gpccs_bl.bin
firmware:       nvidia/gv100/gr/fecs_sig.bin
firmware:       nvidia/gv100/gr/fecs_data.bin
firmware:       nvidia/gv100/gr/fecs_inst.bin
firmware:       nvidia/gv100/gr/fecs_bl.bin
firmware:       nvidia/tu116/gr/sw_method_init.bin
firmware:       nvidia/tu116/gr/sw_bundle_init.bin
firmware:       nvidia/tu116/gr/sw_nonctx.bin
firmware:       nvidia/tu116/gr/sw_ctx.bin
firmware:       nvidia/tu116/gr/gpccs_sig.bin
firmware:       nvidia/tu116/gr/gpccs_data.bin
firmware:       nvidia/tu116/gr/gpccs_inst.bin
firmware:       nvidia/tu116/gr/gpccs_bl.bin
firmware:       nvidia/tu116/gr/fecs_sig.bin
firmware:       nvidia/tu116/gr/fecs_data.bin
firmware:       nvidia/tu116/gr/fecs_inst.bin
firmware:       nvidia/tu116/gr/fecs_bl.bin
firmware:       nvidia/tu117/gr/sw_method_init.bin
firmware:       nvidia/tu117/gr/sw_bundle_init.bin
firmware:       nvidia/tu117/gr/sw_nonctx.bin
firmware:       nvidia/tu117/gr/sw_ctx.bin
firmware:       nvidia/tu117/gr/gpccs_sig.bin
firmware:       nvidia/tu117/gr/gpccs_data.bin
firmware:       nvidia/tu117/gr/gpccs_inst.bin
firmware:       nvidia/tu117/gr/gpccs_bl.bin
firmware:       nvidia/tu117/gr/fecs_sig.bin
firmware:       nvidia/tu117/gr/fecs_data.bin
firmware:       nvidia/tu117/gr/fecs_inst.bin
firmware:       nvidia/tu117/gr/fecs_bl.bin
firmware:       nvidia/tu106/gr/sw_method_init.bin
firmware:       nvidia/tu106/gr/sw_bundle_init.bin
firmware:       nvidia/tu106/gr/sw_nonctx.bin
firmware:       nvidia/tu106/gr/sw_ctx.bin
firmware:       nvidia/tu106/gr/gpccs_sig.bin
firmware:       nvidia/tu106/gr/gpccs_data.bin
firmware:       nvidia/tu106/gr/gpccs_inst.bin
firmware:       nvidia/tu106/gr/gpccs_bl.bin
firmware:       nvidia/tu106/gr/fecs_sig.bin
firmware:       nvidia/tu106/gr/fecs_data.bin
firmware:       nvidia/tu106/gr/fecs_inst.bin
firmware:       nvidia/tu106/gr/fecs_bl.bin
firmware:       nvidia/tu104/gr/sw_method_init.bin
firmware:       nvidia/tu104/gr/sw_bundle_init.bin
firmware:       nvidia/tu104/gr/sw_nonctx.bin
firmware:       nvidia/tu104/gr/sw_ctx.bin
firmware:       nvidia/tu104/gr/gpccs_sig.bin
firmware:       nvidia/tu104/gr/gpccs_data.bin
firmware:       nvidia/tu104/gr/gpccs_inst.bin
firmware:       nvidia/tu104/gr/gpccs_bl.bin
firmware:       nvidia/tu104/gr/fecs_sig.bin
firmware:       nvidia/tu104/gr/fecs_data.bin
firmware:       nvidia/tu104/gr/fecs_inst.bin
firmware:       nvidia/tu104/gr/fecs_bl.bin
firmware:       nvidia/tu102/gr/sw_method_init.bin
firmware:       nvidia/tu102/gr/sw_bundle_init.bin
firmware:       nvidia/tu102/gr/sw_nonctx.bin
firmware:       nvidia/tu102/gr/sw_ctx.bin
firmware:       nvidia/tu102/gr/gpccs_sig.bin
firmware:       nvidia/tu102/gr/gpccs_data.bin
firmware:       nvidia/tu102/gr/gpccs_inst.bin
firmware:       nvidia/tu102/gr/gpccs_bl.bin
firmware:       nvidia/tu102/gr/fecs_sig.bin
firmware:       nvidia/tu102/gr/fecs_data.bin
firmware:       nvidia/tu102/gr/fecs_inst.bin
firmware:       nvidia/tu102/gr/fecs_bl.bin
firmware:       nvidia/gp107/sec2/sig-1.bin
firmware:       nvidia/gp107/sec2/image-1.bin
firmware:       nvidia/gp107/sec2/desc-1.bin
firmware:       nvidia/gp106/sec2/sig-1.bin
firmware:       nvidia/gp106/sec2/image-1.bin
firmware:       nvidia/gp106/sec2/desc-1.bin
firmware:       nvidia/gp104/sec2/sig-1.bin
firmware:       nvidia/gp104/sec2/image-1.bin
firmware:       nvidia/gp104/sec2/desc-1.bin
firmware:       nvidia/gp102/sec2/sig-1.bin
firmware:       nvidia/gp102/sec2/image-1.bin
firmware:       nvidia/gp102/sec2/desc-1.bin
firmware:       nvidia/gp107/sec2/sig.bin
firmware:       nvidia/gp107/sec2/image.bin
firmware:       nvidia/gp107/sec2/desc.bin
firmware:       nvidia/gp106/sec2/sig.bin
firmware:       nvidia/gp106/sec2/image.bin
firmware:       nvidia/gp106/sec2/desc.bin
firmware:       nvidia/gp104/sec2/sig.bin
firmware:       nvidia/gp104/sec2/image.bin
firmware:       nvidia/gp104/sec2/desc.bin
firmware:       nvidia/gp102/sec2/sig.bin
firmware:       nvidia/gp102/sec2/image.bin
firmware:       nvidia/gp102/sec2/desc.bin
firmware:       nvidia/gv100/sec2/sig.bin
firmware:       nvidia/gv100/sec2/image.bin
firmware:       nvidia/gv100/sec2/desc.bin
firmware:       nvidia/gp108/sec2/sig.bin
firmware:       nvidia/gp108/sec2/image.bin
firmware:       nvidia/gp108/sec2/desc.bin
firmware:       nvidia/tu117/sec2/sig.bin
firmware:       nvidia/tu117/sec2/image.bin
firmware:       nvidia/tu117/sec2/desc.bin
firmware:       nvidia/tu116/sec2/sig.bin
firmware:       nvidia/tu116/sec2/image.bin
firmware:       nvidia/tu116/sec2/desc.bin
firmware:       nvidia/tu106/sec2/sig.bin
firmware:       nvidia/tu106/sec2/image.bin
firmware:       nvidia/tu106/sec2/desc.bin
firmware:       nvidia/tu104/sec2/sig.bin
firmware:       nvidia/tu104/sec2/image.bin
firmware:       nvidia/tu104/sec2/desc.bin
firmware:       nvidia/tu102/sec2/sig.bin
firmware:       nvidia/tu102/sec2/image.bin
firmware:       nvidia/tu102/sec2/desc.bin
license:        GPL and additional rights
description:    nVidia Riva/TNT/GeForce/Quadro/Tesla/Tegra K1+
author:         Nouveau Project
srcversion:     EE5BA2A7DA08A51EC28AB62
alias:          pci:v000012D2d*sv*sd*bc03sc*i*
alias:          pci:v000010DEd*sv*sd*bc03sc*i*
depends:        drm_kms_helper,drm,ttm,drm_ttm_helper,video,mxm-wmi,i2c-algo-bit,wmi
retpoline:      Y
intree:         Y
name:           nouveau
vermagic:       5.15.0-113-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        1E:F3:F8:5A:EF:E4:E4:92:77:81:41:00:76:3C:F0:64:09:A8:E2:8D
sig_hashalgo:   sha512
signature:      1A:87:EA:A8:34:9B:22:DB:94:58:C3:31:52:48:03:8A:61:1C:42:8D:
		A1:61:41:2F:DE:A8:BB:AE:8D:BB:22:F3:7D:27:AC:D7:02:3D:F3:0D:
		D2:23:CE:BB:B3:54:F1:AD:6B:5C:29:90:D5:EA:C7:4E:21:FC:F7:41:
		85:AA:69:90:3B:34:98:1D:B7:D2:F4:2A:9F:D1:B2:36:B4:04:F5:77:
		0E:94:E4:0E:B2:A1:33:1A:3D:F0:BD:C6:D0:82:22:94:2C:B4:10:D0:
		E1:B2:B1:09:A4:B1:A6:59:D2:96:BA:3C:B4:73:85:70:FF:DF:F5:02:
		D1:F8:92:5E:17:3E:CE:4F:8B:74:B0:E9:AE:37:4F:24:78:8F:F1:6F:
		2D:84:54:02:D6:A3:D9:79:46:AC:6A:A7:83:4D:13:DB:84:65:C1:38:
		2F:9F:64:EF:37:D6:BA:73:53:A1:58:22:F4:71:9E:18:9C:9A:5D:12:
		4C:5B:B3:1D:AB:71:54:9C:4F:97:80:BA:57:F1:C4:2F:00:60:7C:3D:
		22:C3:34:29:C5:43:EC:AE:5B:9C:A6:50:53:BD:F0:FE:43:19:32:8B:
		E5:7F:FA:C7:2F:9F:DD:4F:E3:F2:9E:DA:15:C6:F5:FB:40:21:FC:66:
		CE:6B:21:1C:AD:E3:95:E8:A2:1C:3D:70:AF:78:65:60:4D:E4:F2:3F:
		B2:91:A5:51:E8:4C:9C:01:4A:00:A9:83:8D:1F:A4:9A:F1:A0:C3:4E:
		7A:70:2B:9E:3E:DF:B2:01:C2:C8:6F:38:D2:AD:57:98:DC:DA:19:7C:
		A7:38:EA:06:4A:83:0E:37:02:24:B3:16:AD:77:1B:0B:80:C7:02:3B:
		F9:5B:85:02:44:BB:CB:99:99:67:6F:3B:38:B2:D5:2B:36:B9:C8:76:
		87:01:F8:C7:1E:FB:98:0A:5C:F1:66:88:EC:A8:63:19:E4:9B:50:F1:
		00:C1:D1:CE:AC:CF:6D:19:52:A7:BC:41:C3:C9:B8:F6:0F:37:17:4A:
		1C:AC:29:AF:C6:DA:BF:A2:88:F4:AF:6B:56:C1:7A:9E:97:77:4B:8C:
		D3:2D:33:DF:21:31:7E:9C:5A:01:69:04:29:A1:A2:90:1A:68:2C:3A:
		78:C0:CD:F3:4F:D5:9F:3F:35:07:8D:13:14:6A:AF:A8:EC:D3:1F:83:
		A0:DE:6A:0F:02:08:D2:92:7E:2F:0A:8D:67:D4:29:2D:35:A5:45:E2:
		7E:2F:55:91:F4:48:C4:5D:88:F2:31:55:CF:3A:04:9E:54:E9:51:23:
		BC:23:DE:EB:35:F1:2B:DA:5A:F0:8B:AA:8C:30:4E:C0:1D:6B:85:B8:
		DA:F5:CC:1F:0D:48:73:C6:09:D0:04:05
parm:           vram_pushbuf:Create DMA push buffers in VRAM (int)
parm:           kms_vram_pushbuf:Place EVO/NVD push buffers in VRAM (default: auto) (int)
parm:           tv_norm:Default TV norm.
		Supported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,
			hd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.
		Default: PAL
		*NOTE* Ignored for cards with external TV encoders. (charp)
parm:           nofbaccel:Disable fbcon acceleration (int)
parm:           fbcon_bpp:fbcon bits-per-pixel (default: auto) (int)
parm:           mst:Enable DisplayPort multi-stream (default: enabled) (int)
parm:           tv_disable:Disable TV-out detection (int)
parm:           ignorelid:Ignore ACPI lid status (int)
parm:           duallink:Allow dual-link TMDS (default: enabled) (int)
parm:           hdmimhz:Force a maximum HDMI pixel clock (in MHz) (int)
parm:           config:option string to pass to driver core (charp)
parm:           debug:debug string to pass to driver core (charp)
parm:           noaccel:disable kernel/abi16 acceleration (int)
parm:           modeset:enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)
parm:           atomic:Expose atomic ioctl (default: disabled) (int)
parm:           runpm:disable (0), force enable (1), optimus only default (-1) (int)
$ modinfo snd_hda_intel
filename:       /lib/modules/5.15.0-113-generic/kernel/sound/pci/hda/snd-hda-intel.ko
description:    Intel HDA driver
license:        GPL
srcversion:     CDDC21177AB8884585A75E4
alias:          pci:v00001D17d00003288sv*sd*bc*sc*i*
alias:          pci:v00001022d*sv*sd*bc04sc03i00*
alias:          pci:v00001002d*sv*sd*bc04sc03i00*
alias:          pci:v000015ADd00001977sv*sd*bc*sc*i*
alias:          pci:v000017F3d00003010sv*sd*bc*sc*i*
alias:          pci:v000013F6d00005011sv*sd*bc*sc*i*
alias:          pci:v00001102d00000009sv*sd*bc*sc*i*
alias:          pci:v00001102d00000012sv*sd*bc*sc*i*
alias:          pci:v00001102d00000010sv*sd*bc*sc*i*
alias:          pci:v00006549d00002200sv*sd*bc*sc*i*
alias:          pci:v00006549d00001200sv*sd*bc*sc*i*
alias:          pci:v000010DEd*sv*sd*bc04sc03i00*
alias:          pci:v000010B9d00005461sv*sd*bc*sc*i*
alias:          pci:v00001039d00007502sv*sd*bc*sc*i*
alias:          pci:v00001106d00009140sv*sd*bc*sc*i*
alias:          pci:v00001106d00009170sv*sd*bc*sc*i*
alias:          pci:v00001106d00003288sv*sd*bc*sc*i*
alias:          pci:v00006766d*sv*sd*bc04sc03i00*
alias:          pci:v00001002d0000AB38sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB30sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB28sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB20sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB18sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB10sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB08sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AB00sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAF8sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAF0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAE8sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAE0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAD8sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAC8sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAC0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAB0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAA8sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AAA0sv*sd*bc*sc*i*
alias:          pci:v00001002d00009902sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA98sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA90sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA88sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA80sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA68sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA60sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA58sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA50sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA48sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA40sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA38sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA30sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA28sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA20sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA18sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA10sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA08sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA00sv*sd*bc*sc*i*
alias:          pci:v00001002d00009840sv*sd*bc*sc*i*
alias:          pci:v00001002d0000970Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000960Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007919sv*sd*bc*sc*i*
alias:          pci:v00001002d0000793Bsv*sd*bc*sc*i*
alias:          pci:v00001002d000015B3sv*sd*bc*sc*i*
alias:          pci:v00001002d0000157Asv*sd*bc*sc*i*
alias:          pci:v00001002d00001308sv*sd*bc*sc*i*
alias:          pci:v00001002d00000002sv*sd*bc*sc*i*
alias:          pci:v00001022d000015E3sv*sd*bc*sc*i*
alias:          pci:v00001022d0000157Asv*sd*bc*sc*i*
alias:          pci:v00001022d00001487sv*sd*bc*sc*i*
alias:          pci:v00001022d00001457sv*sd*bc*sc*i*
alias:          pci:v00001022d0000780Dsv*sd*bc*sc*i*
alias:          pci:v00001002d00004383sv*sd*bc*sc*i*
alias:          pci:v00001002d0000437Bsv*sd*bc*sc*i*
alias:          pci:v00008086d*sv*sd*bc04sc03i00*
alias:          pci:v00008086d00003A6Esv*sd*bc*sc*i*
alias:          pci:v00008086d00003A3Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000293Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000293Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000284Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000269Asv*sd*bc*sc*i*
alias:          pci:v00008086d000027D8sv*sd*bc*sc*i*
alias:          pci:v00008086d00002668sv*sd*bc*sc*i*
alias:          pci:v00008086d00002284sv*sd*bc*sc*i*
alias:          pci:v00008086d00000F04sv*sd*bc*sc*i*
alias:          pci:v00008086d0000080Asv*sd*bc*sc*i*
alias:          pci:v00008086d0000811Bsv*sd*bc*sc*i*
alias:          pci:v00008086d00003B57sv*sd*bc*sc*i*
alias:          pci:v00008086d00003B56sv*sd*bc*sc*i*
alias:          pci:v00008086d0000160Csv*sd*bc*sc*i*
alias:          pci:v00008086d00000D0Csv*sd*bc*sc*i*
alias:          pci:v00008086d00000C0Csv*sd*bc*sc*i*
alias:          pci:v00008086d00000A0Csv*sd*bc*sc*i*
alias:          pci:v00008086d00003198sv*sd*bc*sc*i*
alias:          pci:v00008086d00001A98sv*sd*bc*sc*i*
alias:          pci:v00008086d00005A98sv*sd*bc*sc*i*
alias:          pci:v00008086d00007728sv*sd*bc*sc*i*
alias:          pci:v00008086d000051CFsv*sd*bc*sc*i*
alias:          pci:v00008086d000051CEsv*sd*bc*sc*i*
alias:          pci:v00008086d000051CBsv*sd*bc*sc*i*
alias:          pci:v00008086d000051CAsv*sd*bc*sc*i*
alias:          pci:v00008086d00007A50sv*sd*bc*sc*i*
alias:          pci:v00008086d00004B58sv*sd*bc*sc*i*
alias:          pci:v00008086d00004B55sv*sd*bc*sc*i*
alias:          pci:v00008086d000051CCsv*sd*bc*sc*i*
alias:          pci:v00008086d000051C8sv*sd*bc*sc*i*
alias:          pci:v00008086d00007AD0sv*sd*bc*sc*i*
alias:          pci:v00008086d00004F92sv*sd*bc*sc*i*
alias:          pci:v00008086d00004F91sv*sd*bc*sc*i*
alias:          pci:v00008086d00004F90sv*sd*bc*sc*i*
alias:          pci:v00008086d0000490Dsv*sd*bc*sc*i*
alias:          pci:v00008086d000043C8sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A0C8sv*sd*bc*sc*i*
alias:          pci:v00008086d00004DC8sv*sd*bc*sc*i*
alias:          pci:v00008086d000038C8sv*sd*bc*sc*i*
alias:          pci:v00008086d00003DC8sv*sd*bc*sc*i*
alias:          pci:v00008086d000034C8sv*sd*bc*sc*i*
alias:          pci:v00008086d0000F0C8sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A3F0sv*sd*bc*sc*i*
alias:          pci:v00008086d0000F1C8sv*sd*bc*sc*i*
alias:          pci:v00008086d000006C8sv*sd*bc*sc*i*
alias:          pci:v00008086d000002C8sv*sd*bc*sc*i*
alias:          pci:v00008086d00009DC8sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A348sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A2F0sv*sd*bc*sc*i*
alias:          pci:v00008086d00009D71sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A171sv*sd*bc*sc*i*
alias:          pci:v00008086d00009D70sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A170sv*sd*bc*sc*i*
alias:          pci:v00008086d00009CA0sv*sd*bc*sc*i*
alias:          pci:v00008086d00009C21sv*sd*bc*sc*i*
alias:          pci:v00008086d00009C20sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A270sv*sd*bc*sc*i*
alias:          pci:v00008086d0000A1F0sv*sd*bc*sc*i*
alias:          pci:v00008086d00008D21sv*sd*bc*sc*i*
alias:          pci:v00008086d00008D20sv*sd*bc*sc*i*
alias:          pci:v00008086d00008CA0sv*sd*bc*sc*i*
alias:          pci:v00008086d00008C20sv*sd*bc*sc*i*
alias:          pci:v00008086d00001E20sv*sd*bc*sc*i*
alias:          pci:v00008086d00001D20sv*sd*bc*sc*i*
alias:          pci:v00008086d00001C20sv*sd*bc*sc*i*
depends:        snd-hda-core,snd-hda-codec,snd-pcm,snd,snd-intel-dspcfg
retpoline:      Y
intree:         Y
name:           snd_hda_intel
vermagic:       5.15.0-113-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        1E:F3:F8:5A:EF:E4:E4:92:77:81:41:00:76:3C:F0:64:09:A8:E2:8D
sig_hashalgo:   sha512
signature:      1F:61:F5:9D:4C:9C:02:67:48:BC:24:95:93:DB:E4:77:A5:E9:FA:18:
		1F:21:D3:B2:2C:B9:A2:DF:8F:F4:5E:C1:1C:9B:9F:97:85:2D:03:93:
		87:A6:F9:22:3A:DF:6F:4D:35:E1:26:37:51:E1:90:EB:A7:DB:56:01:
		EE:39:D5:FA:D8:1D:09:AA:34:4E:E1:18:B8:32:FF:52:A1:CC:EE:AD:
		C2:05:14:05:40:14:53:C5:C3:B6:AF:7E:71:01:B7:05:46:C2:81:78:
		17:CB:BB:BC:B8:9B:9F:FE:88:EF:D5:C7:23:44:21:A5:8C:DF:E8:32:
		81:39:BE:1B:60:B8:81:D0:A6:4A:FA:FF:AB:C9:3C:BB:D7:CC:23:76:
		DD:DF:6F:B2:26:0D:BB:B6:71:5C:96:1A:72:EF:DF:94:A4:CA:C2:6D:
		B1:B5:E3:17:D1:76:62:A6:7C:6A:3D:20:35:B1:52:2F:77:4C:7B:D1:
		8E:B8:6C:97:B0:4A:45:B1:2C:5E:96:F7:8C:1A:72:DC:95:73:95:90:
		CC:F1:50:A1:EB:84:79:65:9D:FD:81:F4:D1:88:87:E4:00:55:90:9B:
		26:94:62:51:61:BB:D0:AB:61:17:88:DE:D7:3B:03:C8:A8:BA:E5:7A:
		77:B6:AF:49:40:B2:4B:D2:37:60:B9:48:6D:99:3B:A6:8A:1B:EC:8C:
		CF:7B:2A:0C:61:F0:46:A6:B1:55:87:E1:8E:6A:79:CE:06:C8:18:CA:
		53:8A:B1:F1:D4:8E:CA:31:97:66:E5:4B:E3:9F:5A:F0:A3:D1:FF:A7:
		EB:D4:16:6B:D2:1D:28:AB:35:59:C2:C9:FA:F1:F5:22:6F:E4:49:90:
		1B:3B:5D:1A:F1:0A:09:81:BD:21:95:B3:D0:FA:3B:36:C7:A1:DE:A1:
		37:E8:8A:27:4C:EC:E9:4B:D1:B0:1F:1E:AC:EE:35:CD:F8:81:A8:09:
		D6:11:7E:9F:FA:02:59:C1:76:16:DE:1F:7F:39:D5:CD:83:B1:38:C7:
		E6:C4:A3:E5:10:48:9E:2F:8B:0B:B0:02:2D:65:A7:BA:D0:6F:0F:90:
		73:BC:6F:77:63:D8:39:93:4B:93:97:70:C0:0D:EB:1F:FA:2A:72:AE:
		B1:F8:FB:F4:95:FE:B9:AB:2D:A3:AD:F5:53:33:E9:38:74:70:4B:C0:
		70:71:89:26:45:34:C0:A0:4A:FA:4F:D0:9D:62:70:F2:8D:10:0D:0C:
		E8:5E:68:31:8C:DA:0E:1D:7C:32:75:18:0C:BE:6D:ED:06:52:05:DD:
		71:82:97:91:E1:76:14:CB:20:43:8E:DD:9B:EE:6D:85:B7:06:28:A6:
		32:18:07:C0:60:43:E1:D9:87:FD:50:21
parm:           index:Index value for Intel HD audio interface. (array of int)
parm:           id:ID string for Intel HD audio interface. (array of charp)
parm:           enable:Enable Intel HD audio interface. (array of bool)
parm:           model:Use the given board model. (array of charp)
parm:           position_fix:DMA pointer read method.(-1 = system default, 0 = auto, 1 = LPIB, 2 = POSBUF, 3 = VIACOMBO, 4 = COMBO, 5 = SKL+, 6 = FIFO). (array of int)
parm:           bdl_pos_adj:BDL position adjustment offset. (array of int)
parm:           probe_mask:Bitmask to probe codecs (default = -1). (array of int)
parm:           probe_only:Only probing and no codec initialization. (array of int)
parm:           jackpoll_ms:Ms between polling for jack events (default = 0, using unsol events only) (array of int)
parm:           single_cmd:Use single command to communicate with codecs (for debugging only). (bint)
parm:           enable_msi:Enable Message Signaled Interrupt (MSI) (bint)
parm:           patch:Patch file for Intel HD audio interface. (array of charp)
parm:           beep_mode:Select HDA Beep registration mode (0=off, 1=on) (default=1). (array of bool)
parm:           dmic_detect:Allow DSP driver selection (bypass this driver) (0=off, 1=on) (default=1); deprecated, use snd-intel-dspcfg.dsp_driver option instead (bool)
parm:           power_save:Automatic power-saving timeout (in second, 0 = disable). (xint)
parm:           pm_blacklist:Enable power-management denylist (bool)
parm:           power_save_controller:Reset controller in power save mode. (bool)
parm:           align_buffer_size:Force buffer and period sizes to be multiple of 128 bytes. (bint)
parm:           snoop:Enable/disable snooping (bint)

Where all the modules have a signer: Build time autogenerated kernel key line which think means they are signed by Ubuntu.

Whereas Quadro K4200 graphics card from the previous 5.15.0-112-generic Kernel shows the following additional modules which had signer: Haswell-Ubuntu Secure Boot Module Signature key:

  • nvidia-drm.ko
  • nvidia.ko

Where the above modules were signed on the workstation which has the Haswell-Ubuntu hostname.

4.1. Still get prompted for configuring secure boot on further Kernel updates

During further updates to Kernels 5.15.0-116-generic, 5.15.0-117-generic, 5.15.0-118-generic and 5.15.0-119-generic the following sequence occurred:

  1. During the initial update got a Configuring Secure Boot dialogue with no option to cancel.
  2. Without configuring a secure boot password, rebooted.
  3. No secure boot password prompt appeared during the reboot.
  4. After the reboot, the updated Kernel version appeared in /boot but was still running the previous Kernel version.
  5. Completed the updates, and selected to reboot when prompted.
  6. No secure boot password prompt appeared during the reboot.
  7. After the reboot the updated Kernel version was running.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment