def post_init(self, custom_args): """ grub2 post initialization method Setup class attributes """ self.custom_args = custom_args arch = platform.machine() if arch == 'x86_64': # grub2 support for bios and efi systems self.arch = arch elif arch.startswith('ppc64'): # grub2 support for ofw and opal systems self.arch = arch elif arch == 'i686' or arch == 'i586': # grub2 support for bios systems self.arch = 'ix86' elif arch == 'aarch64' or arch.startswith('arm'): # grub2 support for efi systems self.arch = arch else: raise KiwiBootLoaderGrubPlatformError( 'host architecture %s not supported for grub2 setup' % arch ) if self.custom_args and 'grub_directory_name' in self.custom_args: self.boot_directory_name = self.custom_args['grub_directory_name'] else: self.boot_directory_name = 'grub' self.terminal = self.xml_state.build_type.get_bootloader_console() \ or 'gfxterm' self.gfxmode = self.get_gfxmode('grub2') self.bootpath = self.get_boot_path() self.theme = self.get_boot_theme() self.timeout = self.get_boot_timeout_seconds() self.failsafe_boot = self.failsafe_boot_entry_requested() self.xen_guest = self.xml_state.is_xen_guest() self.firmware = FirmWare( self.xml_state ) if self.xml_state.is_xen_server(): self.hybrid_boot = False self.multiboot = True elif self.xen_guest: self.hybrid_boot = False self.multiboot = False else: self.hybrid_boot = True self.multiboot = False self.grub2 = BootLoaderTemplateGrub2() self.config = None self.efi_boot_path = None self.cmdline_failsafe = None self.cmdline = None self.iso_boot = False self.shim_fallback_setup = False
def post_init(self, custom_args): """ grub2 post initialization method :param dict custom_args: Contains grub config arguments .. code:: python {'grub_directory_name': 'grub|grub2'} """ self.custom_args = custom_args arch = platform.machine() if arch == 'x86_64': # grub2 support for bios and efi systems self.arch = arch elif arch.startswith('ppc64'): # grub2 support for ofw and opal systems self.arch = arch elif arch == 'i686' or arch == 'i586': # grub2 support for bios systems self.arch = 'ix86' elif arch == 'aarch64' or arch.startswith('arm'): # grub2 support for efi systems self.arch = arch else: raise KiwiBootLoaderGrubPlatformError( 'host architecture %s not supported for grub2 setup' % arch ) if self.custom_args and 'grub_directory_name' in self.custom_args: self.boot_directory_name = self.custom_args['grub_directory_name'] else: self.boot_directory_name = 'grub' self.terminal = self.xml_state.build_type.get_bootloader_console() \ or 'gfxterm' self.gfxmode = self.get_gfxmode('grub2') self.theme = self.get_boot_theme() self.timeout = self.get_boot_timeout_seconds() self.continue_on_timeout = self.get_continue_on_timeout() self.failsafe_boot = self.failsafe_boot_entry_requested() self.mediacheck_boot = self.xml_state.build_type.get_mediacheck() self.xen_guest = self.xml_state.is_xen_guest() self.firmware = FirmWare( self.xml_state ) self.live_type = self.xml_state.build_type.get_flags() if not self.live_type: self.live_type = Defaults.get_default_live_iso_type() self.volume_id = self.xml_state.build_type.get_volid() or \ Defaults.get_volume_id() self.install_volid = self.xml_state.build_type.get_volid() or \ Defaults.get_install_volume_id() self.live_boot_options = [ 'root=live:CDLABEL={0}'.format(self.volume_id), 'rd.live.image' ] self.install_boot_options = [ 'loglevel=0' ] if self.xml_state.get_initrd_system() == 'dracut': self.install_boot_options.append( 'root=install:CDLABEL={0}'.format(self.install_volid) ) if self.xml_state.build_type.get_hybridpersistent(): self.live_boot_options += \ Defaults.get_live_iso_persistent_boot_options( self.xml_state.build_type.get_hybridpersistent_filesystem() ) if self.xml_state.is_xen_server(): self.hybrid_boot = False self.multiboot = True elif self.xen_guest: self.hybrid_boot = False self.multiboot = False else: self.hybrid_boot = True self.multiboot = False self.grub2 = BootLoaderTemplateGrub2() self.config = None self.efi_boot_path = None self.cmdline_failsafe = None self.root_reference = None self.cmdline = None self.iso_boot = False self.shim_fallback_setup = False self.validate_use_of_linuxefi = False
def setup(self): self.grub2 = BootLoaderTemplateGrub2()