Class: Bootloader::SecureBootWidget

Inherits:
CWM::CheckBox
  • Object
show all
Defined in:
src/lib/bootloader/generic_widgets.rb

Overview

Represents switcher for secure boot on EFI

Instance Method Summary collapse

Constructor Details

#initializeSecureBootWidget

Returns a new instance of SecureBootWidget.



173
174
175
176
177
# File 'src/lib/bootloader/generic_widgets.rb', line 173

def initialize
  textdomain "bootloader"

  super
end

Instance Method Details

#helpObject



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# File 'src/lib/bootloader/generic_widgets.rb', line 183

def help
  if Yast::Arch.s390
    _(
      "<p><b>Secure Boot Support</b> if checked enables Secure Boot support.<br>" \
      "This does not turn on secure booting. " \
      "It only switches to the new secure-boot enabled boot data format. " \
      "Note that this new format works only on z15 or later and "\
      "only for some disk types. " \
      "For more details see the requirements at  " \
      "https://www.ibm.com/docs/en/linux-on-systems?topic=introduction-requirements</p>"
    )
  else
    _(
      "<p><b>Secure Boot Support</b> if checked enables Secure Boot support.<br>" \
      "This does not turn on secure booting. " \
      "It only sets up the boot loader in a way that supports secure booting. " \
      "You still have to enable Secure Boot in the UEFI Firmware.</p> "
    )
  end
end

#initObject



204
205
206
# File 'src/lib/bootloader/generic_widgets.rb', line 204

def init
  self.value = Bootloader::BootloaderFactory.current.secure_boot
end

#labelObject



179
180
181
# File 'src/lib/bootloader/generic_widgets.rb', line 179

def label
  _("&Secure Boot Support")
end

#storeObject



208
209
210
# File 'src/lib/bootloader/generic_widgets.rb', line 208

def store
  Bootloader::BootloaderFactory.current.secure_boot = value
end

#validateObject



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'src/lib/bootloader/generic_widgets.rb', line 212

def validate
  return true if Yast::Mode.config ||
    !Yast::Arch.s390 ||
    !value ||
    value == Systeminfo.secure_boot_active?

  Yast::Popup.ContinueCancel(
    # text is identical like one in proposal client. Keep in sync!
    # TRANSLATORS: IPL stands for Initial Program Load, IBM speak for system boot
    _(
      "Secure boot IPL has the following minimum system requirements,\n" \
      "depending on the boot device to be IPLed:\n" \
      "NVMe disk: IBM LinuxONE III or newer.\n" \
      "FC-attached SCSI disk: IBM LinuxONE III, IBM z15 or newer.\n" \
      "ECKD DASD with CDL layout: IBM z16, LinuxONE 4 or newer.\n" \
      "If these requirements are not met, the system can be IPLed in non-secure mode only."
    )
  )
end