Linux kbuild/kconfig development
 help / color / mirror / Atom feed
* Re: Building signed debs
       [not found] <CAFSh4UwYYAOb0YpC=WAL6SD+8jTLuSkhgrgjh8JmogUb10V=zw@mail.gmail.com>
@ 2023-12-08 12:06 ` Bagas Sanjaya
  2023-12-11 10:24   ` Tom Cook
  0 siblings, 1 reply; 2+ messages in thread
From: Bagas Sanjaya @ 2023-12-08 12:06 UTC (permalink / raw)
  To: Tom Cook, Linux Kernel Mailing List, Linux Kernel Build System,
	Linux Crypto API
  Cc: Masahiro Yamada, Herbert Xu, David S. Miller, Nick Terrell

[-- Attachment #1: Type: text/plain, Size: 2000 bytes --]

On Fri, Dec 08, 2023 at 11:14:35AM +0000, Tom Cook wrote:
> I'm trying to build a signed .deb kernel package of
> https://github.com/torvalds/linux/tree/v6.6.  I've copied
> certs/default_x509.genkey to certs/x509.genkey.  The .config is the
> one from Ubuntu 23.10's default kernel with all new options accepted
> at their default and CONFIG_SYSTEM_TRUSTED_KEYS="" and
> CONFIG_SYSTEM_REVOCATION_KEYS="".
> 
> This builds the kernel and modules, signs the modules, compresses the
> modules and then attempts to sign the modules again.  That fails,
> because the .ko module files are now .ko.zst files and the file it's
> trying to sign isn't there.  Full failure is pasted below.
> 
> Unsetting CONFIG_MODULE_COMPRESS_ZSTD is a workaround (ie disable
> module compression).
> 

Seriously? Unrelated option becomes a workaround?

> Is there a way to build a .deb of a signed kernel with compressed modules?
> 
> Thanks for any help,
> Tom
> 
>   INSTALL debian/linux-libc-dev/usr/include
>   SIGN    debian/linux-image/lib/modules/6.6.0-local/kernel/arch/x86/events/amd/amd-uncore.ko
>   SIGN    debian/linux-image/lib/modules/6.6.0-local/kernel/arch/x86/events/intel/intel-cstate.ko
> At main.c:298:
> - SSL error:FFFFFFFF80000002:system library::No such file or
> directory: ../crypto/bio/bss_file.c:67

Above means that you don't have a valid certificate/keypair set in
CONFIG_MODULE_SIG_KEY. If you keep the option value on `certs/signing_key.pem`
(which is the default), the key should be automatically generated
(with your observation, only if `certs/x509.genkey` doesn't already exist).
After building the kernel with `make all`, you should check if the certificate
pointed in CONFIG_MODULE_SIG_KEY is present or not. If it isn't the case,
you have to generate the certificate yourself. For more information, see
Documentation/admin-guide/module.signing.rst in the kernel sources.

Thanks.

-- 
An old man doll... just what I always wanted! - Clara

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Building signed debs
  2023-12-08 12:06 ` Building signed debs Bagas Sanjaya
@ 2023-12-11 10:24   ` Tom Cook
  0 siblings, 0 replies; 2+ messages in thread
From: Tom Cook @ 2023-12-11 10:24 UTC (permalink / raw)
  To: Bagas Sanjaya
  Cc: Linux Kernel Mailing List, Linux Kernel Build System,
	Linux Crypto API, Masahiro Yamada, Herbert Xu, David S. Miller,
	Nick Terrell

On Fri, Dec 8, 2023 at 12:06 PM Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> On Fri, Dec 08, 2023 at 11:14:35AM +0000, Tom Cook wrote:
> > Unsetting CONFIG_MODULE_COMPRESS_ZSTD is a workaround (ie disable
> > module compression).
> >
>
> Seriously? Unrelated option becomes a workaround?

"Workaround" as in "With this options set, `make deb-pkg` crashes out with the
reported error, while with this option unset it produces a deb package
of a signed
kernel and modules."  This looks like a defect in the build system to me and the
workaround allows me to build a package in the meantime.

> > Is there a way to build a .deb of a signed kernel with compressed modules?
> >
> > Thanks for any help,
> > Tom
> >
> >   INSTALL debian/linux-libc-dev/usr/include
> >   SIGN    debian/linux-image/lib/modules/6.6.0-local/kernel/arch/x86/events/amd/amd-uncore.ko
> >   SIGN    debian/linux-image/lib/modules/6.6.0-local/kernel/arch/x86/events/intel/intel-cstate.ko
> > At main.c:298:
> > - SSL error:FFFFFFFF80000002:system library::No such file or
> > directory: ../crypto/bio/bss_file.c:67
>
> Above means that you don't have a valid certificate/keypair set in
> CONFIG_MODULE_SIG_KEY. If you keep the option value on `certs/signing_key.pem`
> (which is the default), the key should be automatically generated
> (with your observation, only if `certs/x509.genkey` doesn't already exist).
> After building the kernel with `make all`, you should check if the certificate
> pointed in CONFIG_MODULE_SIG_KEY is present or not. If it isn't the case,
> you have to generate the certificate yourself. For more information, see
> Documentation/admin-guide/module.signing.rst in the kernel sources.

Sorry for being unclear - I'm not building with `make all`, I'm
building with `make deb-pkg`.
If I had to guess, I'd say the .deb depends on the uncompressed modules
rather than the dependency depending on whether module compression is turned
on or not, but it's only a guess.

Regards,
Tom

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-12-11 10:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAFSh4UwYYAOb0YpC=WAL6SD+8jTLuSkhgrgjh8JmogUb10V=zw@mail.gmail.com>
2023-12-08 12:06 ` Building signed debs Bagas Sanjaya
2023-12-11 10:24   ` Tom Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox