mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 18:32:12 +02: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"
|
||||
|
||||
modulesloaddir ??= "${sysconfdir}/modules-load.d"
|
||||
modprobedir ??= "${sysconfdir}/modprobe.d"
|
||||
|
||||
KERNEL_SPLIT_MODULES ?= "1"
|
||||
PACKAGESPLITFUNCS =+ "split_kernel_module_packages"
|
||||
|
||||
@@ -88,7 +91,7 @@ python split_kernel_module_packages () {
|
||||
|
||||
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
|
||||
autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split()
|
||||
autoload = d.getVar('module_autoload_%s' % basename)
|
||||
@@ -97,7 +100,7 @@ python split_kernel_module_packages () {
|
||||
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))
|
||||
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)
|
||||
os.makedirs(os.path.dirname(name), exist_ok=True)
|
||||
with open(name, 'w') as f:
|
||||
@@ -119,7 +122,7 @@ python split_kernel_module_packages () {
|
||||
modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
|
||||
modconf = d.getVar('module_conf_%s' % basename)
|
||||
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)
|
||||
os.makedirs(os.path.dirname(name), exist_ok=True)
|
||||
with open(name, 'w') as f:
|
||||
@@ -165,8 +168,8 @@ python split_kernel_module_packages () {
|
||||
postrm = d.getVar('pkg_postrm:modules')
|
||||
|
||||
if splitmods != '1':
|
||||
etcdir = d.getVar('sysconfdir')
|
||||
d.appendVar('FILES:' + metapkg, '%s/modules-load.d/ %s/modprobe.d/ %s/modules/' % (etcdir, etcdir, d.getVar("nonarch_base_libdir")))
|
||||
d.appendVar('FILES:' + metapkg, '%s %s %s/modules' %
|
||||
(d.getVar('modulesloaddir'), d.getVar('modprobedir'), d.getVar("nonarch_base_libdir")))
|
||||
d.appendVar('pkg_postinst:%s' % metapkg, postinst)
|
||||
d.prependVar('pkg_postrm:%s' % metapkg, postrm);
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user