On 06/22/2012 05:30 PM, Cleber Rosa wrote: > On 06/22/2012 03:10 PM, Lucas Meneghel Rodrigues wrote: >> This fixes a problem where autotest will always >> fail to boot-once any kernels on Ubuntu (12.04, >> I assume other Ubuntu versions with grub2 are >> also affected). >> >> Ubuntu requires that we run 'update-grub' after >> 'grub-reboot', otherwise the changes won't be >> in effect on next boot. So, update boottool to >> execute that in case it's found. >> >> Signed-off-by: Lucas Meneghel Rodrigues <[email protected]> >> --- >> client/tools/boottool | 16 ++++++++++++++-- >> 1 file changed, 14 insertions(+), 2 deletions(-) >> >> diff --git a/client/tools/boottool b/client/tools/boottool >> index 7a1cce1..8631081 100755 >> --- a/client/tools/boottool >> +++ b/client/tools/boottool >> @@ -1442,8 +1442,20 @@ class Grubby(object): >> '%s',' ,'.join(grub_reboot_names)) >> return -1 >> >> - return self._run_get_return([executable, >> - '%s' % entry_index]) >> + rc_gr = self._run_get_return([executable, '%s' % entry_index]) >> + # If grub-reboot itself failed, return the rc right away >> + if rc_gr: >> + return rc_gr >> + >> + # If all went well, on ubuntu we still have to run update-grub >> + # for the changes to be set. If we didn't find it, then let's >> + # just return grub_reboot's rc. >> + update_grub = 'update-grub' >> + executable = find_executable(update_grub) >> + if executable is not None: >> + return self._run_get_return([executable]) >> + else: >> + return rc_gr >> >> >> def boot_once_yaboot(self, entry_title): > Lucas, > > I've not tested your proposal, but I'm confused at how this works. AFAIK > 'update-grub' runs 'grub-mkconfig', which regenerates the grub > configuration file. > > If /etc/default/grub has GRUB_DEFAULT=0 (the default) then the generated > grub.conf will still have 'set default=0'. If we manually set > GRUB_DEFAULT=saved in /etc/default/grub, then later runs of update-grub > will do the right, that is set 'set default=${saved_entry}'. If what I'm > saying is absolutely correct, both approaches involve editing a file and > running and extra utility. > > Can you confirm you have not edited /etc/default/grub? > > Thanks, > CR. > _______________________________________________ > Autotest mailing list > [email protected] > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
Oops, answered the first message and missed the follow up. Never mind this. _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
