X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Ftwin%2Fmain-generic.c;h=517422e4da9285ded2c1dfb8ec5d1d593bfd149a;hp=5020fa2f345ff8319a8805f07de400fc3b073379;hb=b8122dc9340e2f208220f0c88b4d71f91b78774f;hpb=ae0ba68f475ae5b057aad6538765bc8702134b9a diff --git a/ui/twin/main-generic.c b/ui/twin/main-generic.c index 5020fa2..517422e 100644 --- a/ui/twin/main-generic.c +++ b/ui/twin/main-generic.c @@ -71,7 +71,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu, struct pbt_quad q; top_item = pbt_item_create_reduced(menu, "system", 0, - PB_ARTWORK_PATH "/system.png"); + PB_ARTWORK_PATH "/applications-system.png"); if (!top_item) goto fail_top_item_create; @@ -90,7 +90,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu, goto fail_sub_menu_create; sub_item = pbt_item_create(top_item->sub_menu, "Preferences", 0, - PB_ARTWORK_PATH "/system.png", "Preferences", + PB_ARTWORK_PATH "/configure.png", "Preferences", "Edit petitboot preferences"); if (!sub_item) @@ -101,7 +101,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu, pbt_menu_set_selected(top_item->sub_menu, sub_item); sub_item = pbt_item_create(top_item->sub_menu, "Exit to Shell", 1, - PB_ARTWORK_PATH "/system.png", "Exit to Shell", + PB_ARTWORK_PATH "/utilities-terminal.png", "Exit to Shell", "Exit to a system shell prompt"); if (!sub_item) @@ -199,7 +199,7 @@ fail_menu: return NULL; } -static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb_opt_data *opt_data) +static int boot_cb(struct pbt_client *client, struct pb_opt_data *opt_data) { int result; @@ -207,7 +207,7 @@ static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb pb_log("%s: %s\n", __func__, opt_data->name); - result = pb_run_kexec(opt_data->kd); + result = pb_boot(opt_data->bd, client->dry_run); return result; } @@ -215,7 +215,7 @@ static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb static int run(struct pbt_client *client) { while (1) { - int result = waiter_poll(); + int result = waiter_poll(client->waitset); if (result < 0 && errno != EINTR) { pb_log("%s: poll: %s\n", __func__, strerror(errno)); @@ -285,7 +285,6 @@ int main(int argc, char *argv[]) static struct pbt_opts opts; int result; int ui_result; - FILE *log; struct pbt_client *client; result = pbt_opts_parse(&opts, argc, argv); @@ -305,9 +304,13 @@ int main(int argc, char *argv[]) return EXIT_SUCCESS; } - log = fopen(opts.log_file, "a"); - assert(log); - pb_log_set_stream(log); + if (strcmp(opts.log_file, "-")) { + FILE *log = fopen(opts.log_file, "a"); + + assert(log); + pb_log_set_stream(log); + } else + pb_log_set_stream(stderr); #if defined(DEBUG) pb_log_always_flush(1); @@ -327,7 +330,8 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - client = pbt_client_init(opts.backend, 900, 300, kexec_cb); + client = pbt_client_init(opts.backend, 1024, 640, boot_cb, + opts.start_daemon, opts.dry_run); if (!client) { ui_result = EXIT_FAILURE;