On 02/06/2012 11:40 AM, Josh Boyer wrote:
On Mon, Feb 6, 2012 at 11:36 AM, Matthew
> On Mon, Feb 06, 2012 at 05:25:08PM +0100, Reindl Harald wrote:
>> and why are there so many noobs with questions like "after a kernel
>> update my machine does no longer boot" if this decision would
>> be smart?
> The solution to "My kernel update doesn't boot" should be
> detect that that happened, give the user that information and fall back
> to the old kernel", not "Always show the user a menu that they almost
> always don't care about". Solve the actual problem.
Agreed. Having a simple one-shot boot facility would be awesome. If anyone
has ideas on how to accomplish this, please let me know. I'd be willing to
look at implementing this.
So, this is something we could probably do with what we've got now. It'd
require some changes to kernel's .spec, and probably a few minor changes in
grubby, and something would have to provide a systemd service. Here's the
1) kernel's %post/%posttrans adds the new stanza using new-kernel-package/
grubby, but doesn't make the new kernel default.
2) kernel's %post saves new kernel version someplace (/etc/sysconfig/newkernel
for the purpose of this text, we can decide if there's a more appropraite
3) set next boot kernel to the new kernel with grub2-reboot
4) during boot up, a systemd service compares uname to /etc/sysconfig/newkernel
a) if they match, it worked - use grubby to make it the default
b) if they don't match, it failed - do whatever it is you guys want to do.
The only problem here is that when we get to 4b, we don't *really* know
that we've attempted to boot the new kernel - the user could have manually
intervened and booted the old (or some other) kernel. Dunno how to avoid that.