diff options
Diffstat (limited to 'src/boot/bootctl-uki.c')
-rw-r--r-- | src/boot/bootctl-uki.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/boot/bootctl-uki.c b/src/boot/bootctl-uki.c new file mode 100644 index 0000000..8808c30 --- /dev/null +++ b/src/boot/bootctl-uki.c @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include <fcntl.h> + +#include "alloc-util.h" +#include "bootctl-uki.h" +#include "kernel-image.h" + +int verb_kernel_identify(int argc, char *argv[], void *userdata) { + KernelImageType t; + int r; + + r = inspect_kernel(AT_FDCWD, argv[1], &t, NULL, NULL, NULL); + if (r < 0) + return r; + + puts(kernel_image_type_to_string(t)); + return 0; +} + +int verb_kernel_inspect(int argc, char *argv[], void *userdata) { + _cleanup_free_ char *cmdline = NULL, *uname = NULL, *pname = NULL; + KernelImageType t; + int r; + + r = inspect_kernel(AT_FDCWD, argv[1], &t, &cmdline, &uname, &pname); + if (r < 0) + return r; + + printf("Kernel Type: %s\n", kernel_image_type_to_string(t)); + if (cmdline) + printf(" Cmdline: %s\n", cmdline); + if (uname) + printf(" Version: %s\n", uname); + if (pname) + printf(" OS: %s\n", pname); + + return 0; +} |