diff options
Diffstat (limited to '')
-rw-r--r-- | modules/syslinux/lib/facter/efibootmgr.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/syslinux/lib/facter/efibootmgr.rb b/modules/syslinux/lib/facter/efibootmgr.rb new file mode 100644 index 0000000..fdf95e0 --- /dev/null +++ b/modules/syslinux/lib/facter/efibootmgr.rb @@ -0,0 +1,19 @@ +Facter.add('efi') do + setcode do + out = {} + data = Facter::Core::Execution.execute('efibootmgr') + boots = {} + data.split("\n").each do |item| + if a = item.match(/BootOrder: (.*)/) then + out['BootOrder'] = a[1].split(',') + elsif a = item.match(/(\w*): (.*)/) then + out[a[1]] = a[2] + elsif a = item.match(/Boot(\d*)(\*?) (.*)/) + # a[2] contains if it's active + boots[a[1]] = a[3] + end + end + out['boots'] = boots + out + end +end |