Class: Bootloader::DeviceMap

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Yast::Logger
Defined in:
src/lib/bootloader/device_map.rb

Overview

Class representing grub device map structure

Constant Summary

Instance Method Summary (collapse)

Constructor Details

- (DeviceMap) initialize

Returns a new instance of DeviceMap



17
18
19
20
21
22
23
24
# File 'src/lib/bootloader/device_map.rb', line 17

def initialize
  # lazy load to avoid circular dependencies
  Yast.import "Arch"
  Yast.import "BootStorage"
  Yast.import "Mode"
  Yast.import "Storage"
  @model = CFA::Grub2::DeviceMap.new
end

Instance Method Details

- (Object) clear_mapping



46
47
48
49
50
# File 'src/lib/bootloader/device_map.rb', line 46

def clear_mapping
  grub_devices.each do |grub_dev|
    remove_mapping(grub_dev)
  end
end

- (Boolean) contain_disk?(disk)

Returns:

  • (Boolean)


52
53
54
55
56
57
# File 'src/lib/bootloader/device_map.rb', line 52

def contain_disk?(disk)
  disk = grub_device_for(disk) ||
    grub_device_for(::Bootloader::UdevMapping.to_mountby_device(disk))

  !disk.nil?
end

- (Object) disks_order



59
60
61
# File 'src/lib/bootloader/device_map.rb', line 59

def disks_order
  sorted_disks.map { |d| system_device_for(d) }
end

- (Boolean) empty?

Returns:

  • (Boolean)


42
43
44
# File 'src/lib/bootloader/device_map.rb', line 42

def empty?
  size == 0
end

- (Object) propose



63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'src/lib/bootloader/device_map.rb', line 63

def propose
  @model = CFA::Grub2::DeviceMap.new

  if Yast::Mode.config
    log.info("Skipping device map proposing in Config mode")
    return
  end

  fill_mapping

  order_boot_device

  reduce_to_bios_limit
end

- (Object) read



30
31
32
# File 'src/lib/bootloader/device_map.rb', line 30

def read
  @model.load
end

- (Object) size



38
39
40
# File 'src/lib/bootloader/device_map.rb', line 38

def size
  grub_devices.size
end

- (Object) to_s



26
27
28
# File 'src/lib/bootloader/device_map.rb', line 26

def to_s
  "Device Map: #{grub_devices}"
end

- (Object) write



34
35
36
# File 'src/lib/bootloader/device_map.rb', line 34

def write
  @model.save
end