The problem: when you set boot flags, only the last one will be set. I added a bit more debug information into the ipmi_chassis.c and here is what's happening:
options=persistent,efiboot
flags for persistent: 0100
flags for efiboot: 0010
flags[0]: 0010
options=efiboot,persistent
flags for efiboot: 0010
flags for persistent: 0100
flags[0]: 0100
This is because of ipmi_chassis.c:1357 line: flags[op->i] &= op->mask;
Applying mask before setting bit clears the previous.
Reported by: Dr. Alex Parker Original Ticket: ipmitool/bugs/481
Hello.
The problem: when you set boot flags, only the last one will be set. I added a bit more debug information into the ipmi_chassis.c and here is what's happening:
options=persistent,efiboot flags for persistent: 0100 flags for efiboot: 0010 flags[0]: 0010
options=efiboot,persistent flags for efiboot: 0010 flags for persistent: 0100 flags[0]: 0100
This is because of ipmi_chassis.c:1357 line: flags[op->i] &= op->mask; Applying mask before setting bit clears the previous.
Is it a bug or feature? Why you need an op->mask?
Thanks