mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 01:36:38 +01:00
To correctly create the modules.dep when it is empty, we need to call depmod with '-a' instead of '-Ae' since the quick option uses the mtime to decide whether or not it needs to update. This way we can guarantee that it will be recreated completely and not only when adding new modules. (From OE-Core rev: 37c9cb2ed8920bd51f176d78cb505642afa9b472) Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 9292e9050fd95be4b556909e2775a45bce1ca79a) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: module-init-tools
|
|
# Required-Start:
|
|
# Required-Stop:
|
|
# Should-Start: checkroot
|
|
# Should-stop:
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
# Short-Description: Process /etc/modules.
|
|
# Description: Load the modules listed in /etc/modules.
|
|
### END INIT INFO
|
|
|
|
LOAD_MODULE=modprobe
|
|
[ -f /proc/modules ] || exit 0
|
|
[ -f /etc/modules ] || [ -d /etc/modules-load.d ] || exit 0
|
|
[ -e /sbin/modprobe ] || LOAD_MODULE=insmod
|
|
|
|
if [ ! -f /lib/modules/`uname -r`/modules.dep ]; then
|
|
[ "$VERBOSE" != no ] && echo "Calculating module dependencies ..."
|
|
depmod -a
|
|
fi
|
|
|
|
loaded_modules=" "
|
|
|
|
process_file() {
|
|
file=$1
|
|
|
|
(cat $file; echo; ) |
|
|
while read module args
|
|
do
|
|
case "$module" in
|
|
\#*|"") continue ;;
|
|
esac
|
|
[ -n "$(echo $loaded_modules | grep " $module ")" ] && continue
|
|
[ "$VERBOSE" != no ] && echo -n "$module "
|
|
eval "$LOAD_MODULE $module $args >/dev/null 2>&1"
|
|
loaded_modules="${loaded_modules}${module} "
|
|
done
|
|
}
|
|
|
|
[ "$VERBOSE" != no ] && echo -n "Loading modules: "
|
|
[ -f /etc/modules ] && process_file /etc/modules
|
|
|
|
[ -d /etc/modules-load.d ] || exit 0
|
|
|
|
for f in /etc/modules-load.d/*.conf; do
|
|
process_file $f
|
|
done
|
|
[ "$VERBOSE" != no ] && echo
|
|
|
|
exit 0
|