mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
kernel-module-split: make autoload and probeconf distribution specific
The modules-load.d [1] - Configure kernel modules to load at boot should install their configuration files in /usr/lib/modules-load.d. The modprobe.d [2] - Configuration directory for modprobe should install their configuration files in /lib/modprobe.d [1] https://man7.org/linux/man-pages/man5/modules-load.d.5.html [2] https://man7.org/linux/man-pages/man5/modprobe.d.5.html [YOCTO #12212] https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212 CC: Ola x Nilsson <Ola.x.Nilsson@axis.com> CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com> (From OE-Core rev: 347830e67c5ad72b4da165d644e3add69c20acb8) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
696982900b
commit
303421dce0
@@ -30,6 +30,9 @@ fi
|
|||||||
|
|
||||||
PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
|
PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
|
||||||
|
|
||||||
|
modulesloaddir ??= "${sysconfdir}/modules-load.d"
|
||||||
|
modprobedir ??= "${sysconfdir}/modprobe.d"
|
||||||
|
|
||||||
KERNEL_SPLIT_MODULES ?= "1"
|
KERNEL_SPLIT_MODULES ?= "1"
|
||||||
PACKAGESPLITFUNCS =+ "split_kernel_module_packages"
|
PACKAGESPLITFUNCS =+ "split_kernel_module_packages"
|
||||||
|
|
||||||
@@ -88,7 +91,7 @@ python split_kernel_module_packages () {
|
|||||||
|
|
||||||
dvar = d.getVar('PKGD')
|
dvar = d.getVar('PKGD')
|
||||||
|
|
||||||
# If autoloading is requested, output /etc/modules-load.d/<name>.conf and append
|
# If autoloading is requested, output ${modulesloaddir}/<name>.conf and append
|
||||||
# appropriate modprobe commands to the postinst
|
# appropriate modprobe commands to the postinst
|
||||||
autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split()
|
autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split()
|
||||||
autoload = d.getVar('module_autoload_%s' % basename)
|
autoload = d.getVar('module_autoload_%s' % basename)
|
||||||
@@ -97,7 +100,7 @@ python split_kernel_module_packages () {
|
|||||||
if autoload and basename not in autoloadlist:
|
if autoload and basename not in autoloadlist:
|
||||||
bb.warn("module_autoload_%s is defined but '%s' isn't included in KERNEL_MODULE_AUTOLOAD, please add it there" % (basename, basename))
|
bb.warn("module_autoload_%s is defined but '%s' isn't included in KERNEL_MODULE_AUTOLOAD, please add it there" % (basename, basename))
|
||||||
if basename in autoloadlist:
|
if basename in autoloadlist:
|
||||||
conf = '/etc/modules-load.d/%s.conf' % basename
|
conf = '%s/%s.conf' % (d.getVar('modulesloaddir'), basename)
|
||||||
name = '%s%s' % (dvar, conf)
|
name = '%s%s' % (dvar, conf)
|
||||||
os.makedirs(os.path.dirname(name), exist_ok=True)
|
os.makedirs(os.path.dirname(name), exist_ok=True)
|
||||||
with open(name, 'w') as f:
|
with open(name, 'w') as f:
|
||||||
@@ -119,7 +122,7 @@ python split_kernel_module_packages () {
|
|||||||
modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
|
modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
|
||||||
modconf = d.getVar('module_conf_%s' % basename)
|
modconf = d.getVar('module_conf_%s' % basename)
|
||||||
if modconf and basename in modconflist:
|
if modconf and basename in modconflist:
|
||||||
conf = '/etc/modprobe.d/%s.conf' % basename
|
conf = '%s/%s.conf' % (d.getVar('modprobedir'), basename)
|
||||||
name = '%s%s' % (dvar, conf)
|
name = '%s%s' % (dvar, conf)
|
||||||
os.makedirs(os.path.dirname(name), exist_ok=True)
|
os.makedirs(os.path.dirname(name), exist_ok=True)
|
||||||
with open(name, 'w') as f:
|
with open(name, 'w') as f:
|
||||||
@@ -165,8 +168,8 @@ python split_kernel_module_packages () {
|
|||||||
postrm = d.getVar('pkg_postrm:modules')
|
postrm = d.getVar('pkg_postrm:modules')
|
||||||
|
|
||||||
if splitmods != '1':
|
if splitmods != '1':
|
||||||
etcdir = d.getVar('sysconfdir')
|
d.appendVar('FILES:' + metapkg, '%s %s %s/modules' %
|
||||||
d.appendVar('FILES:' + metapkg, '%s/modules-load.d/ %s/modprobe.d/ %s/modules/' % (etcdir, etcdir, d.getVar("nonarch_base_libdir")))
|
(d.getVar('modulesloaddir'), d.getVar('modprobedir'), d.getVar("nonarch_base_libdir")))
|
||||||
d.appendVar('pkg_postinst:%s' % metapkg, postinst)
|
d.appendVar('pkg_postinst:%s' % metapkg, postinst)
|
||||||
d.prependVar('pkg_postrm:%s' % metapkg, postrm);
|
d.prependVar('pkg_postrm:%s' % metapkg, postrm);
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user