Sha256: 4a7e4b1a37105bf7aa80d408278ec05a88596799c1ad9f6c6c171e3c2d97f540

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

module Getch
  module FileSystem
    module Lvm
      class Deps
        def initialize
          if Helpers::efi?
            install_efi
          else
            install_bios
          end
          install_deps
        end

        def make
          options_make
          Getch::Make.new("genkernel --kernel-config=/usr/src/linux/.config all").run!
        end

        private
        def options_make
          grub = Helpers::efi? ? 'BOOTLOADER="no"' : 'BOOTLOADER="grub2"'
          datas = [
            '',
            grub,
            'INSTALL="yes"',
            'MENUCONFIG="no"',
            'CLEAN="yes"',
            'SAVE_CONFIG="yes"',
            'MOUNTBOOT="yes"',
            'MRPROPER="no"',
            'LVM="yes"',
          ]
          file = "#{MOUNTPOINT}/etc/genkernel.conf"
          File.write(file, datas.join("\n"), mode: 'a')
        end

        def install_efi
        end

        def install_bios
          exec("euse -p sys-boot/grub -E device-mapper")
        end

        def install_deps
          exec("euse -E lvm")
          Getch::Emerge.new('genkernel lvm2').pkg!
          Getch::Garden.new('-a lvm').run!
          exec("systemctl enable lvm2-monitor")
        end

        def exec(cmd)
          Helpers::run_chroot(cmd, MOUNTPOINT)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
getch-0.0.9 lib/getch/filesystem/lvm/deps.rb
getch-0.0.8 lib/getch/filesystem/lvm/deps.rb