blob: 4968f31566973457d54edcc475c925ad0b8983c6 [file] [log] [blame]
import shutil, re, os, os.path, string
from autotest_utils import *
class boottool:
def __init__(self, boottool_exec=None):
if boottool_exec:
self.boottool_exec = boottool_exec
else:
autodir = os.environ['AUTODIR']
self.boottool_exec = autodir + '/tools/boottool'
def run_boottool(self, params):
return system_output('%s %s' % (self.boottool_exec, params))
def bootloader(self):
return self.run_boottool('--bootloader-probe')
def architecture(self):
return self.run_boottool('--arch-probe')
def list_titles(self):
print self.run_boottool('--info all | grep title')
def print_entry(self, index):
print self.run_boottool('--info=%s' % index)
def get_default(self):
self.run_boottool('--default')
def set_default(self, index):
self.run_boottool('--set-default=%s' % index)
# 'kernel' can be an position number or a title
def add_args(self, kernel, args):
self.run_boottool('--update-kernel=%s --args=%s' % \
(kernel, args) )
def remove_args(self, kernel, args):
self.run_boottool('--update-kernel=%s --remove-args=%s' % \
(kernel, args) )
def add_kernel(self, path, title='autotest', initrd=''):
# boot tool needs a dummy argument for add_args to work
parameters = '--add-kernel=%s --title=%s --args=dummy' % \
(path, title)
# add an initrd now or forever hold your peace
if initrd:
parameters += ' --initrd=%s' % initrd
self.run_boottool(parameters)
def remove_kernel(self, kernel):
self.run_boottool('--remove-kernel=%s' % kernel)
def boot_once(self, title):
self.run_boottool('--boot-once --title=%s' % title)
def info(self, index):
return self.run_boottool('--info=%s' % index)
# TODO: backup()
# TODO: set_timeout()