X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fboot%2Fbootctl.c;h=359e273fd9f6d9731aca147d4f0ba7b3f0d09e59;hb=5aa4bb6b5b0b9dcea524d56cf8664b892a5a976a;hp=35daad81c60c23d049a319db4fdd2e800c809770;hpb=bc6f2e7c62bcd08177f879423188c54289694619;p=elogind.git diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 35daad81c..359e273fd 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -33,12 +33,13 @@ #include "utf8.h" static int help(void) { + printf("%s [OPTIONS...] COMMAND ...\n\n" - "Query or change firmware and boot mananger settings.\n\n" + "Query or change firmware and boot manager settings.\n\n" " -h --help Show this help\n" " --version Show package version\n" "Commands:\n" - " status Show current time settings\n", + " status Show current boot settings\n", program_invocation_short_name); return 0; @@ -52,20 +53,20 @@ static int parse_argv(int argc, char *argv[]) { static const struct option options[] = { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, ARG_VERSION }, - { NULL, 0, NULL, 0 } + {} }; int c; assert(argc >= 0); assert(argv); - while ((c = getopt_long(argc, argv, "+hH:P", options, NULL)) >= 0) { + + while ((c = getopt_long(argc, argv, "+h", options, NULL)) >= 0) { switch (c) { case 'h': - help(); - return 0; + return help(); case ARG_VERSION: puts(PACKAGE_STRING); @@ -76,8 +77,7 @@ static int parse_argv(int argc, char *argv[]) { return -EINVAL; default: - log_error("Unknown option code %c", c); - return -EINVAL; + assert_not_reached("Unhandled option"); } } @@ -143,44 +143,48 @@ static int show_status(char **args, unsigned n) { err = boot_info_query(info); - printf("Machine:\n"); - printf(" ID: %s\n", sd_id128_to_string(info->machine_id, buf)); + printf("System:\n"); + printf(" Machine ID: %s\n", sd_id128_to_string(info->machine_id, buf)); printf(" Boot ID: %s\n", sd_id128_to_string(info->boot_id, buf)); - printf("\n"); - - printf("Firmware:\n"); if (info->fw_type) - printf(" Type: %s (%s)\n", info->fw_type, strna(info->fw_info)); - + printf(" Firmware: %s (%s)\n", info->fw_type, strna(info->fw_info)); if (info->fw_secure_boot >= 0) printf(" Secure Boot: %s\n", info->fw_secure_boot ? "enabled" : "disabled"); if (info->fw_secure_boot_setup_mode >= 0) - printf(" Setup Mode: %s\n", info->fw_secure_boot_setup_mode ? "setup" : "user"); + printf(" Setup Mode: %s\n", info->fw_secure_boot_setup_mode ? "setup" : "user"); + printf("\n"); if (info->fw_entry_active >= 0) { + printf("Selected Firmware Entry:\n"); printf(" Title: %s\n", strna(info->fw_entries[info->fw_entry_active].title)); - if (info->fw_entries[info->fw_entry_active].path) - printf(" Binary: %s\n", info->fw_entries[info->fw_entry_active].path); if (!sd_id128_equal(info->fw_entries[info->fw_entry_active].part_uuid, SD_ID128_NULL)) printf(" Partition: /dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n", SD_ID128_FORMAT_VAL(info->fw_entries[info->fw_entry_active].part_uuid)); + else + printf(" Partition: n/a\n"); + if (info->fw_entries[info->fw_entry_active].path) + printf(" File: %s%s\n", draw_special_char(DRAW_TREE_RIGHT), info->fw_entries[info->fw_entry_active].path); } printf("\n"); if (info->loader) { - printf("Boot loader:\n"); - printf(" Type: %s\n", info->loader); - printf(" Binary: %s\n", strna(info->loader_image_path)); + printf("Boot Loader:\n"); + printf(" Product: %s\n", info->loader); if (!sd_id128_equal(info->loader_part_uuid, SD_ID128_NULL)) printf(" Partition: /dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n", SD_ID128_FORMAT_VAL(info->loader_part_uuid)); + else + printf(" Partition: n/a\n"); + printf(" File: %s%s\n", draw_special_char(DRAW_TREE_RIGHT), strna(info->loader_image_path)); + printf("\n"); if (info->loader_entry_active >= 0) { + printf("Selected Boot Loader Entry:\n"); printf(" Title: %s\n", strna(info->loader_entries[info->loader_entry_active].title)); - printf(" Entry: %s\n", info->loader_entries[info->loader_entry_active].path); + printf(" File: %s\n", info->loader_entries[info->loader_entry_active].path); + if (info->loader_options_added) + printf(" Options: %s\n", info->loader_options_added); } - - printf(" Options: %s\n", strna(info->loader_options_added)); } else printf("No suitable data is provided by the boot manager. See:\n" " http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface\n"