diff --git a/man/kernel-install.xml b/man/kernel-install.xml
index 4f71d67e2f0..06a95480e6b 100644
--- a/man/kernel-install.xml
+++ b/man/kernel-install.xml
@@ -40,6 +40,7 @@
kernel-install
OPTIONS
inspect
+ KERNEL-IMAGE
@@ -158,7 +159,7 @@
- inspect
+ inspect [KERNEL-IMAGE]
Shows the various paths and parameters configured or auto-detected. In particular shows the
values of the various $KERNEL_INSTALL_* environment variables listed
diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c
index de744fe1c40..5dde1eb2891 100644
--- a/src/kernel-install/kernel-install.c
+++ b/src/kernel-install/kernel-install.c
@@ -866,7 +866,7 @@ static int context_build_arguments(Context *c) {
return log_oom();
} else if (c->action == ACTION_INSPECT) {
- r = strv_extend(&a, "[KERNEL_IMAGE]");
+ r = strv_extend(&a, c->kernel ?: "[KERNEL_IMAGE]");
if (r < 0)
return log_oom();
@@ -1043,6 +1043,12 @@ static int verb_inspect(int argc, char *argv[], void *userdata) {
c->action = ACTION_INSPECT;
+ if (argc >= 2) {
+ r = context_set_kernel(c, argv[1]);
+ if (r < 0)
+ return r;
+ }
+
r = context_prepare_execution(c);
if (r < 0)
return r;
@@ -1093,7 +1099,7 @@ static int help(void) {
"\nUsage:\n"
" %1$s [OPTIONS...] add KERNEL-VERSION KERNEL-IMAGE [INITRD-FILE...]\n"
" %1$s [OPTIONS...] remove KERNEL-VERSION\n"
- " %1$s [OPTIONS...] inspect\n"
+ " %1$s [OPTIONS...] inspect [KERNEL-IMAGE]\n"
"\nOptions:\n"
" -h --help Show this help\n"
" --version Show package version\n"
@@ -1149,7 +1155,7 @@ static int run(int argc, char* argv[]) {
static const Verb verbs[] = {
{ "add", 3, VERB_ANY, 0, verb_add },
{ "remove", 2, 2, 0, verb_remove },
- { "inspect", 1, 1, VERB_DEFAULT, verb_inspect },
+ { "inspect", 1, 2, VERB_DEFAULT, verb_inspect },
{}
};
_cleanup_(context_done) Context c = {
diff --git a/src/kernel-install/test-kernel-install.sh b/src/kernel-install/test-kernel-install.sh
index 4be87713597..654137b068a 100755
--- a/src/kernel-install/test-kernel-install.sh
+++ b/src/kernel-install/test-kernel-install.sh
@@ -63,6 +63,7 @@ grep -qE 'image' "$BOOT_ROOT/the-token/1.1.1/linux"
grep -qE 'initrd' "$BOOT_ROOT/the-token/1.1.1/initrd"
"$kernel_install" inspect
+"$kernel_install" inspect "$D/sources/linux"
"$kernel_install" -v remove 1.1.1
test ! -e "$entry"