mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: linux-libre: Enable Zstd compression of kernel modules.
This brings the on disk size of the kernel from 164 MiB to 144 MiB, or about 12%. * gnu/packages/linux.scm (default-extra-linux-options) [version>=5.13]: Enable CONFIG_MODULE_COMPRESS_ZSTD, else CONFIG_MODULE_COMPRESS_GZIP. (make-linux-libre*) [phases] {set-environment}: Set ZSTD_CLEVEL environment variable to 19. [native-inputs]: Add zstd. * gnu/build/linux-modules.scm (module-regex): Add .zst to regexp. Update doc. (modinfo-section-contents): Extend support to Zstd compressed module. (dot-ko): Register the 'zstd compression type. (ensure-dot-ko, file-name->module-name, load-linux-module*) (module-name->file-name/guess, write-module-name-database) (write-module-alias-database, write-module-device-database): Update doc. (module-name-lookup): Also consider zstd-compressed modules. * gnu/installer.scm (installer-program): Add guile-zstd extension to gexp. * gnu/system/linux-initrd.scm (flat-linux-module-directory): Likewise. Decompress zstd-compressed modules for use in initrd. * guix/profiles.scm (linux-module-database): Add guile-zstd extension to gexp. Change-Id: Ide899dc5c58ea5033583b1a91a92c025fc8d901a
This commit is contained in:
parent
b72b6063ce
commit
afacfa33ec
5 changed files with 57 additions and 32 deletions
|
@ -128,7 +128,7 @@ MODULES and taken from LINUX."
|
|||
|
||||
(define build-exp
|
||||
(with-imported-modules imported-modules
|
||||
(with-extensions (list guile-zlib)
|
||||
(with-extensions (list guile-zlib guile-zstd)
|
||||
#~(begin
|
||||
(use-modules (gnu build linux-modules)
|
||||
(guix build utils)
|
||||
|
@ -168,7 +168,9 @@ MODULES and taken from LINUX."
|
|||
;; is already gzipped as a whole.
|
||||
(cond
|
||||
((string-contains file ".ko.gz")
|
||||
(invoke #+(file-append gzip "/bin/gunzip") file))))
|
||||
(invoke #+(file-append gzip "/bin/gunzip") file))
|
||||
((string-contains file ".ko.zst")
|
||||
(invoke #+(file-append zstd "/bin/zstd") "-d" file))))
|
||||
|
||||
(mkdir #$output)
|
||||
(for-each (lambda (module)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue