Previously, we didn't handle builtins very well, displaying things like:
$ modprobe -D btrfs
insmod /lib/modules/3.2.6-foo/kernel/crypto/crc32c.ko.gz
insmod (null)
insmod /lib/modules/3.2.6-foo/kernel/lib/libcrc32c.ko.gz
insmod /lib/modules/3.2.6-foo/kernel/lib/zlib_deflate/zlib_deflate.ko.gz
insmod /lib/modules/3.2.6-foo/kernel/fs/btrfs/btrfs.ko.gz
Follow module-init-tools and show builtins with the label 'builtin' and
their name:
$ modprobe -D btrfs
insmod /lib/modules/3.2.6-foo/kernel/crypto/crc32c.ko.gz
builtin intel_crc32c
insmod /lib/modules/3.2.6-foo/kernel/lib/libcrc32c.ko.gz
insmod /lib/modules/3.2.6-foo/kernel/lib/zlib_deflate/zlib_deflate.ko.gz
insmod /lib/modules/3.2.6-foo/kernel/fs/btrfs/btrfs.ko.gz
printf("install %s %s\n", kmod_module_get_install_commands(m),
options);
else
- printf("insmod %s %s\n", kmod_module_get_path(m), options);
+ kmod_module_get_initstate(m) == KMOD_MODULE_BUILTIN
+ ? printf("builtin %s\n", kmod_module_get_name(m))
+ : printf("insmod %s %s\n", kmod_module_get_path(m), options);
}
static int insmod(struct kmod_ctx *ctx, const char *alias,