Class: Yast::BootArchClass

Inherits:
Module
  • Object
show all
Includes:
Logger
Defined in:
src/modules/BootArch.rb

Instance Method Summary (collapse)

Instance Method Details

- (String) DefaultKernelParams(resume)

Get parameters for the default kernel

Parameters:

  • resume (String)

    string device to resume from (or empty not to set it)

Returns:

  • (String)

    parameters for default kernel



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'src/modules/BootArch.rb', line 39

def DefaultKernelParams(resume)
  features = ProductFeatures.GetStringFeature(
    "globals",
    "additional_kernel_parameters"
  )
  kernel_cmdline = Kernel.GetCmdLine.dup

  if Arch.i386 || Arch.x86_64
    ret = kernel_cmdline
    ret << " resume=#{resume}" unless resume.empty?
    ret << " #{features}" unless features.empty?
    ret.gsub!(/(?:\A|\s)splash=\S*/, "")
    ret << " splash=silent quiet showopts"
    return ret
  elsif Arch.s390
    # TODO: maybe use ENV directly?
    file_desc = SCR.Execute(path(".target.bash_output"), "echo $TERM")
    env_term = file_desc["stdout"]
    if env_term == "linux\n"
      termparm = "TERM=linux console=ttyS0 console=ttyS1"
    else
      termparm = "hvc_iucv=8 TERM=dumb"
    end
    parameters = "#{features} #{termparm}"
    parameters << " resume=#{resume}" unless resume.empty?
    return parameters
  else
    log.warn "Default kernel parameters not defined"
    return kernel_cmdline
  end
end

- (Object) main



26
27
28
29
30
31
32
33
34
# File 'src/modules/BootArch.rb', line 26

def main
  textdomain "bootloader"

  Yast.import "Arch"
  Yast.import "Kernel"
  Yast.import "Linuxrc"
  Yast.import "ProductFeatures"
  Yast.import "Stage"
end

- (Object) ResumeAvailable

Is Suspend to Disk available?

Returns:

  • true if STD is available



79
80
81
# File 'src/modules/BootArch.rb', line 79

def ResumeAvailable
  Arch.i386 || Arch.x86_64 || Arch.s390
end

- (String) StrArch

Return architecture as string

Returns:

  • (String)

    type of architecture e.g. “i386”



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'src/modules/BootArch.rb', line 85

def StrArch
  ret = Arch.architecture
  if ret == "ppc" || ret == "ppc64"
    if Arch.board_iseries
      ret = "iseries"
    elsif Arch.board_prep
      ret = "prep"
    elsif Arch.board_chrp
      ret = "chrp"
    elsif Arch.board_mac_new
      ret = "pmac"
    elsif Arch.board_mac_old
      ret = "pmac"
    else
      ret = "unknown"
    end
  end

  log.info "Type of architecture: #{ret}"
  ret
end

- (Object) VgaAvailable

Is VGA parameter setting available

Returns:

  • true if vga= can be set



73
74
75
# File 'src/modules/BootArch.rb', line 73

def VgaAvailable
  Arch.i386 || Arch.x86_64
end