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

Reply via email to