It crashes here: https://github.com/yast/yast-bootloader/blob/master/src/lib/bootloader/systemdboot_widgets.rb#L55 >> Yast::UI.ChangeWidget(Id(:cont_boot), :Value, systemdboot.menu_timeout >= 0) According to the error, it's this systemdboot.menu_timeout that is 'nil' so it cannot be compared >= 0. Unfortunately, this whole initialization does not do any logging at all, but it is safe to assume that the value is not initialized at all in SystemdBoot::initialize() or in SystemdBoot::read_menu_timeout() where it can easily remain 'nil': https://github.com/yast/yast-bootloader/blob/master/src/lib/bootloader/systemdboot.rb#L225-L234 >> def read_menu_timeout >> return unless config.menu_timeout It might go over some more indirections, but the bottom line is that this code should be more robust against 'nil'. It is also possible that systemdboot was erroneously detected as the current bootloader (maybe systemdboot was simply the first or fallback value), but still, it should either make sure that menu_timeout is initialized to a valid value, or that 'nil' is handled properly.