https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231013

Warner Losh <i...@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |i...@freebsd.org

--- Comment #3 from Warner Losh <i...@freebsd.org> ---
-a should already be there for that.

diff --git a/usr.sbin/efibootmgr/efibootmgr.c
b/usr.sbin/efibootmgr/efibootmgr.c
index eaf7a1c1903..103c993f66d 100644
--- a/usr.sbin/efibootmgr/efibootmgr.c
+++ b/usr.sbin/efibootmgr/efibootmgr.c
@@ -622,7 +622,7 @@ create_loadopt(uint8_t *buf, size_t bufmax, uint32_t
attributes, efidp dp, size_

 static int
 make_boot_var(const char *label, const char *loader, const char *kernel, const
char *env, bool dry_run,
-       int bootnum)
+    int bootnum, bool activate)
 {
        struct entry *new_ent;
        uint32_t load_attrs = 0;
@@ -665,6 +665,8 @@ make_boot_var(const char *label, const char *loader, const
char *kernel, const c

        /* don't make the new bootvar active by default, use the -a option
later */
        load_attrs = LOAD_OPTION_CATEGORY_BOOT;
+       if (activate)
+               load_attrs |= LOAD_OPTION_ACTIVE;
        load_opt_buf = malloc(MAX_LOADOPT_LEN);
        if (load_opt_buf == NULL)
                err(1, "malloc");
@@ -693,7 +695,6 @@ make_boot_var(const char *label, const char *loader, const
char *kernel, const c
        LIST_INSERT_HEAD(&efivars, new_ent, entries);
        free(load_opt_buf);
        free(dp);
-
        return 0;
 }

@@ -915,7 +916,7 @@ main(int argc, char *argv[])
                 */
                make_boot_var(opts.label ? opts.label : "",
                    opts.loader, opts.kernel, opts.env, opts.dry_run,
-                   opts.has_bootnum ? opts.bootnum : -1);
+                   opts.has_bootnum ? opts.bootnum : -1, opts.set_active);
        else if (opts.set_active || opts.set_inactive )
                handle_activity(opts.bootnum, opts.set_active);
        else if (opts.order != NULL)

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to