Class: Bootloader::DeviceMap
- Inherits:
-
Object
- Object
- Bootloader::DeviceMap
- Includes:
- Yast::Logger
- Defined in:
- src/lib/bootloader/device_map.rb
Overview
Class representing grub device map structure
Constant Summary
Instance Method Summary (collapse)
- - (Boolean) contain_disk?(disk)
- - (Object) disks_order
- - (Boolean) empty?
-
- (DeviceMap) initialize(mapping = {})
constructor
A new instance of DeviceMap.
- - (Object) propose
-
- (Hash{String => String}) remapped_hash
Function remap device map to device name (/dev/sda) or to label (ufo_disk).
- - (Object) to_hash
- - (Object) to_s
Constructor Details
- (DeviceMap) initialize(mapping = {})
Returns a new instance of DeviceMap
10 11 12 13 14 15 16 17 |
# File 'src/lib/bootloader/device_map.rb', line 10 def initialize(mapping = {}) # lazy load to avoid circular dependencies Yast.import "Arch" Yast.import "BootStorage" Yast.import "Mode" Yast.import "Storage" @mapping = mapping end |
Instance Method Details
- (Boolean) contain_disk?(disk)
31 32 33 34 |
# File 'src/lib/bootloader/device_map.rb', line 31 def contain_disk?(disk) @mapping.include?(disk) || @mapping.include?(::Bootloader::UdevMapping.to_mountby_device(disk)) end |
- (Object) disks_order
36 37 38 39 40 |
# File 'src/lib/bootloader/device_map.rb', line 36 def disks_order disks = @mapping.select { |_k, v| v.start_with?("hd") }.keys disks.sort_by { |d| @mapping[d][2..-1].to_i } end |
- (Boolean) empty?
27 28 29 |
# File 'src/lib/bootloader/device_map.rb', line 27 def empty? @mapping.empty? end |
- (Object) propose
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'src/lib/bootloader/device_map.rb', line 58 def propose @mapping = {} if Yast::Mode.config log.info("Skipping device map proposing in Config mode") return end return propose_s390_device_map if Yast::Arch.s390 fill_mapping order_boot_device reduce_to_bios_limit end |
- (Hash{String => String}) remapped_hash
Function remap device map to device name (/dev/sda) or to label (ufo_disk)
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'src/lib/bootloader/device_map.rb', line 45 def remapped_hash if !Yast::Arch.ppc return to_hash if Yast::Storage.GetDefaultMountBy == :label end # convert device names in device map to the device names by device or label remapped = @mapping.map do |k, v| [UdevMapping.to_kernel_device(k), v] end Hash[remapped] end |
- (Object) to_hash
19 20 21 |
# File 'src/lib/bootloader/device_map.rb', line 19 def to_hash @mapping.dup end |
- (Object) to_s
23 24 25 |
# File 'src/lib/bootloader/device_map.rb', line 23 def to_s "Device Map: #{@mapping.inspect}" end |