getch 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGELOG.md +9 -0
  5. data/README.md +18 -4
  6. data/lib/getch.rb +14 -7
  7. data/lib/getch/command.rb +18 -4
  8. data/lib/getch/filesystem.rb +5 -0
  9. data/lib/getch/filesystem/clean.rb +51 -0
  10. data/lib/getch/filesystem/device.rb +55 -0
  11. data/lib/getch/filesystem/ext4/config.rb +8 -9
  12. data/lib/getch/filesystem/ext4/device.rb +2 -7
  13. data/lib/getch/filesystem/ext4/encrypt/config.rb +9 -9
  14. data/lib/getch/filesystem/ext4/encrypt/deps.rb +1 -1
  15. data/lib/getch/filesystem/ext4/encrypt/device.rb +3 -8
  16. data/lib/getch/filesystem/ext4/encrypt/format.rb +3 -5
  17. data/lib/getch/filesystem/ext4/encrypt/mount.rb +6 -43
  18. data/lib/getch/filesystem/ext4/encrypt/partition.rb +19 -38
  19. data/lib/getch/filesystem/ext4/format.rb +3 -5
  20. data/lib/getch/filesystem/ext4/mount.rb +7 -46
  21. data/lib/getch/filesystem/ext4/partition.rb +16 -39
  22. data/lib/getch/filesystem/lvm/config.rb +5 -5
  23. data/lib/getch/filesystem/lvm/deps.rb +3 -2
  24. data/lib/getch/filesystem/lvm/device.rb +23 -7
  25. data/lib/getch/filesystem/lvm/encrypt/config.rb +3 -3
  26. data/lib/getch/filesystem/lvm/encrypt/deps.rb +1 -1
  27. data/lib/getch/filesystem/lvm/encrypt/device.rb +23 -7
  28. data/lib/getch/filesystem/lvm/encrypt/format.rb +3 -3
  29. data/lib/getch/filesystem/lvm/encrypt/mount.rb +7 -46
  30. data/lib/getch/filesystem/lvm/encrypt/partition.rb +19 -31
  31. data/lib/getch/filesystem/lvm/format.rb +11 -7
  32. data/lib/getch/filesystem/lvm/mount.rb +7 -46
  33. data/lib/getch/filesystem/lvm/partition.rb +19 -31
  34. data/lib/getch/filesystem/mount.rb +56 -0
  35. data/lib/getch/filesystem/partition.rb +77 -0
  36. data/lib/getch/filesystem/zfs/config.rb +4 -5
  37. data/lib/getch/filesystem/zfs/deps.rb +3 -6
  38. data/lib/getch/filesystem/zfs/device.rb +30 -9
  39. data/lib/getch/filesystem/zfs/encrypt/config.rb +7 -7
  40. data/lib/getch/filesystem/zfs/encrypt/deps.rb +2 -6
  41. data/lib/getch/filesystem/zfs/encrypt/device.rb +30 -9
  42. data/lib/getch/filesystem/zfs/encrypt/format.rb +84 -1
  43. data/lib/getch/filesystem/zfs/encrypt/mount.rb +4 -20
  44. data/lib/getch/filesystem/zfs/encrypt/partition.rb +15 -111
  45. data/lib/getch/filesystem/zfs/format.rb +84 -2
  46. data/lib/getch/filesystem/zfs/mount.rb +5 -24
  47. data/lib/getch/filesystem/zfs/partition.rb +15 -108
  48. data/lib/getch/gentoo.rb +2 -1
  49. data/lib/getch/gentoo/boot.rb +2 -2
  50. data/lib/getch/gentoo/chroot.rb +10 -24
  51. data/lib/getch/gentoo/config.rb +22 -2
  52. data/lib/getch/gentoo/sources.rb +11 -11
  53. data/lib/getch/helpers.rb +13 -0
  54. data/lib/getch/options.rb +20 -5
  55. data/lib/getch/version.rb +1 -1
  56. metadata +6 -2
  57. metadata.gz.sig +0 -0
@@ -7,54 +7,17 @@ module Getch
7
7
  class Mount < Getch::FileSystem::Ext4::Encrypt::Device
8
8
  def initialize
9
9
  super
10
- @root_dir = MOUNTPOINT
11
- @boot_dir = "#{@root_dir}/boot"
12
- @boot_efi_dir = "#{@root_dir}/boot/efi"
13
- @home_dir = @user ? "#{@root_dir}/home/#{@user}" : nil
10
+ @mount = Getch::FileSystem::Mount.new
14
11
  @state = Getch::States.new()
15
12
  end
16
13
 
17
14
  def run
18
15
  return if STATES[:mount]
19
- #mount_swap
20
- mount_root
21
- mount_boot
22
- mount_home
23
- mount_boot_efi
24
- @state.mount
25
- end
26
-
27
- private
28
-
29
- def mount_swap
30
- return if ! @dev_swap
31
- system("swapon #{@dev_swap}")
32
- end
33
-
34
- def mount_root
35
- return if ! @dev_root
36
- Dir.mkdir(@root_dir, 0700) if ! Dir.exist?(@root_dir)
37
- system("mount #{@luks_root} #{@root_dir}")
38
- end
39
-
40
- def mount_boot_efi
41
- return if ! @dev_boot_efi
42
- FileUtils.mkdir_p @boot_efi_dir, mode: 0700 if ! Dir.exist?(@boot_efi_dir)
43
- system("mount #{@dev_boot_efi} #{@boot_efi_dir}")
44
- end
45
-
46
- def mount_boot
47
- return if ! @dev_boot
48
- FileUtils.mkdir_p @boot_dir, mode: 0700 if ! Dir.exist?(@boot_dir)
49
- system("mount #{@dev_boot} #{@boot_dir}")
50
- end
51
-
52
- def mount_home
53
- return if ! @dev_home
54
- if @user != nil then
55
- FileUtils.mkdir_p @home_dir, mode: 0700 if ! Dir.exist?(@home_dir)
56
- system("mount #{@luks_home} #{@home_dir}")
57
- end
16
+ @mount.swap(@dev_swap)
17
+ @mount.root(@luks_root)
18
+ @mount.boot(@dev_boot)
19
+ @mount.esp(@dev_esp)
20
+ @mount.home(@luks_home)
58
21
  @state.mount
59
22
  end
60
23
  end
@@ -5,15 +5,17 @@ module Getch
5
5
  class Partition < Getch::FileSystem::Ext4::Encrypt::Device
6
6
  def initialize
7
7
  super
8
- @state = Getch::States.new()
8
+ @state = Getch::States.new
9
+ @partition = Getch::FileSystem::Partition.new
10
+ @clean = Getch::FileSystem::Clean
9
11
  @log = Log.new
10
12
  run_partition
11
13
  end
12
14
 
13
15
  def run_partition
14
16
  return if STATES[:partition ]
15
- clear_struct
16
- cleaning
17
+ @clean.struct(@disk, @cache_disk, @home_disk)
18
+ @clean.hdd(@disk, @cache_disk, @home_disk)
17
19
  if Helpers::efi?
18
20
  partition_efi
19
21
  encrypt_efi
@@ -26,35 +28,16 @@ module Getch
26
28
 
27
29
  private
28
30
 
29
- def clear_struct
30
- exec("sgdisk -Z /dev/#{@disk}")
31
- exec("wipefs -a /dev/#{@disk}")
32
- end
33
-
34
- def cleaning
35
- puts
36
- print "Cleaning data on #{@disk}, can be long, avoid this on Flash Memory (SSD,USB,...) ? (n,y) "
37
- case gets.chomp
38
- when /^y|^Y/
39
- bloc=`blockdev --getbsz /dev/#{@disk}`.chomp
40
- exec("dd if=/dev/urandom of=/dev/#{@disk} bs=#{bloc} status=progress")
41
- else
42
- return
43
- end
44
- end
45
-
46
31
  # Follow https://wiki.archlinux.org/index.php/Partitioning
47
32
  def partition_efi
48
- # /boot/efi - EFI system partition - 260MB
49
- # / - Root
50
- # swap - Linux Swap - size of the ram
51
- # /home - Home
52
- mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
53
-
54
- exec("sgdisk -n1:1M:+260M -t1:EF00 /dev/#{@disk}")
55
- exec("sgdisk -n2:0:+15G -t2:8309 /dev/#{@disk}")
56
- exec("sgdisk -n3:0:+#{mem} -t3:8200 /dev/#{@disk}")
57
- exec("sgdisk -n4:0:0 -t4:8309 /dev/#{@disk}") if @dev_home
33
+ # /efi - EFI system partition - 260MB
34
+ # swap - Linux Swap - size of the ram
35
+ # / - Root
36
+ # /home - Home
37
+ @partition.efi(@dev_esp)
38
+ @partition.swap(@dev_swap)
39
+ @partition.root(@dev_root, "8309")
40
+ @partition.home(@dev_home, "8309") if @dev_home
58
41
  end
59
42
 
60
43
  def encrypt_efi
@@ -90,20 +73,18 @@ module Getch
90
73
  key_name = "crypto_keyfile.bin"
91
74
  @key_path = "#{keys_dir}/#{key_name}"
92
75
  FileUtils.mkdir keys_dir, mode: 0700 if ! Dir.exist?(keys_dir)
93
- Getch::Command.new("dd bs=512 count=4 if=/dev/urandom of=#{@key_path}").run!
76
+ exec("dd bs=512 count=4 if=/dev/urandom of=#{@key_path}")
94
77
  end
95
78
 
96
79
  def partition_bios
97
80
  # None - Bios Boot Partition - 1MiB
98
- # / - Root
99
81
  # swap - Linux Swap - size of the ram
82
+ # / - Root
100
83
  # /home - Home
101
- mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
102
-
103
- exec("sgdisk -n1:1MiB:+1MiB -t1:EF02 /dev/#{@disk}")
104
- exec("sgdisk -n2:0:+15G -t2:8309 /dev/#{@disk}")
105
- exec("sgdisk -n3:0:+#{mem} -t3:8200 /dev/#{@disk}")
106
- exec("sgdisk -n4:0:0 -t4:8309 /dev/#{@disk}") if @dev_home
84
+ @partition.gpt(@dev_gpt)
85
+ @partition.swap(@dev_swap)
86
+ @partition.root(@dev_root, "8309")
87
+ @partition.home(@dev_home, "8309") if @dev_home
107
88
  end
108
89
 
109
90
  def exec(cmd)
@@ -4,18 +4,16 @@ module Getch
4
4
  class Format < Getch::FileSystem::Ext4::Device
5
5
  def initialize
6
6
  super
7
- @fs = 'ext4'
8
7
  @state = Getch::States.new()
9
8
  format
10
9
  end
11
10
 
12
11
  def format
13
12
  return if STATES[:format]
14
- puts "Format #{@disk} with #{@fs}"
15
- exec("mkfs.fat -F32 #{@dev_boot_efi}") if Helpers::efi?
13
+ exec("mkfs.fat -F32 #{@dev_esp}") if @dev_esp
16
14
  exec("mkswap -f #{@dev_swap}")
17
- exec("mkfs.#{@fs} -F #{@dev_root}")
18
- exec("mkfs.#{@fs} -F #{@dev_home}") if @dev_home
15
+ exec("mkfs.ext4 -F #{@dev_root}")
16
+ exec("mkfs.ext4 -F #{@dev_home}") if @dev_home
19
17
  @state.format
20
18
  end
21
19
 
@@ -1,59 +1,20 @@
1
- require 'fileutils'
2
-
3
1
  module Getch
4
2
  module FileSystem
5
3
  module Ext4
6
4
  class Mount < Getch::FileSystem::Ext4::Device
7
5
  def initialize
8
6
  super
9
- @root_dir = MOUNTPOINT
10
- @boot_dir = "#{@root_dir}/boot"
11
- @boot_efi_dir = "#{@root_dir}/boot/efi"
12
- @home_dir = @user ? "#{@root_dir}/home/#{@user}" : nil
13
- @state = Getch::States.new()
7
+ @mount = Getch::FileSystem::Mount.new
8
+ @state = Getch::States.new
14
9
  end
15
10
 
16
11
  def run
17
12
  return if STATES[:mount]
18
- mount_swap
19
- mount_root
20
- mount_boot
21
- mount_home
22
- mount_boot_efi
23
- @state.mount
24
- end
25
-
26
- private
27
-
28
- def mount_swap
29
- return if ! @dev_swap
30
- system("swapon #{@dev_swap}")
31
- end
32
-
33
- def mount_root
34
- return if ! @dev_root
35
- Dir.mkdir(@root_dir, 0700) if ! Dir.exist?(@root_dir)
36
- system("mount #{@dev_root} #{@root_dir}")
37
- end
38
-
39
- def mount_boot_efi
40
- return if ! @dev_boot_efi
41
- FileUtils.mkdir_p @boot_efi_dir, mode: 0700 if ! Dir.exist?(@boot_efi_dir)
42
- system("mount #{@dev_boot_efi} #{@boot_efi_dir}")
43
- end
44
-
45
- def mount_boot
46
- return if ! @dev_boot
47
- FileUtils.mkdir_p @boot_dir, mode: 0700 if ! Dir.exist?(@boot_dir)
48
- system("mount #{@dev_boot} #{@boot_dir}")
49
- end
50
-
51
- def mount_home
52
- return if ! @dev_home
53
- if @user != nil then
54
- FileUtils.mkdir_p @home_dir, mode: 0700 if ! Dir.exist?(@home_dir)
55
- system("mount #{@dev_home} #{@home_dir}")
56
- end
13
+ @mount.swap(@dev_swap)
14
+ @mount.root(@dev_root)
15
+ @mount.boot(@dev_boot)
16
+ @mount.esp(@dev_esp)
17
+ @mount.home(@dev_home)
57
18
  @state.mount
58
19
  end
59
20
  end
@@ -5,13 +5,15 @@ module Getch
5
5
  def initialize
6
6
  super
7
7
  @state = Getch::States.new()
8
+ @clean = Getch::FileSystem::Clean
9
+ @partition = Getch::FileSystem::Partition.new
8
10
  run_partition
9
11
  end
10
12
 
11
13
  def run_partition
12
14
  return if STATES[:partition ]
13
- clear_struct
14
- cleaning
15
+ @clean.struct(@disk, @cache_disk, @home_disk)
16
+ @clean.hdd(@disk, @cache_disk, @home_disk)
15
17
  if Helpers::efi?
16
18
  partition_efi
17
19
  else
@@ -22,35 +24,16 @@ module Getch
22
24
 
23
25
  private
24
26
 
25
- def clear_struct
26
- exec("sgdisk -Z /dev/#{@disk}")
27
- exec("wipefs -a /dev/#{@disk}")
28
- end
29
-
30
- def cleaning
31
- puts
32
- print "Cleaning data on #{@disk}, can be long, avoid this on Flash Memory (SSD,USB,...) ? (n,y) "
33
- case gets.chomp
34
- when /^y|^Y/
35
- bloc=`blockdev --getbsz /dev/#{@disk}`.chomp
36
- exec("dd if=/dev/urandom of=/dev/#{@disk} bs=#{bloc} status=progress")
37
- else
38
- return
39
- end
40
- end
41
-
42
27
  # Follow https://wiki.archlinux.org/index.php/Partitioning
43
28
  def partition_efi
44
- # /boot/efi - EFI system partition - 260MB
45
- # / - Root
46
- # swap - Linux Swap - size of the ram
47
- # /home - Home
48
- mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
49
-
50
- exec("sgdisk -n1:1M:+260M -t1:EF00 /dev/#{@disk}")
51
- exec("sgdisk -n2:0:+15G -t2:8304 /dev/#{@disk}")
52
- exec("sgdisk -n3:0:+#{mem} -t3:8200 /dev/#{@disk}")
53
- exec("sgdisk -n4:0:0 -t4:8302 /dev/#{@disk}") if @dev_home
29
+ # /efi - EFI system partition - 260MB
30
+ # swap - Linux Swap - size of the ram
31
+ # / - Root
32
+ # /home - Home
33
+ @partition.efi(@dev_esp)
34
+ @partition.swap(@dev_swap)
35
+ @partition.root(@dev_root, "8304")
36
+ @partition.home(@dev_home, "8302") if @dev_home
54
37
  end
55
38
 
56
39
  def partition_bios
@@ -58,16 +41,10 @@ module Getch
58
41
  # / - Root
59
42
  # swap - Linux Swap - size of the ram
60
43
  # /home - Home
61
- mem=`awk '/MemTotal/ {print $2}' /proc/meminfo`.chomp + 'K'
62
-
63
- exec("sgdisk -n1:1MiB:+1MiB -t1:EF02 /dev/#{@disk}")
64
- exec("sgdisk -n2:0:+15G -t2:8304 /dev/#{@disk}")
65
- exec("sgdisk -n3:0:+#{mem} -t3:8200 /dev/#{@disk}")
66
- exec("sgdisk -n4:0:0 -t4:8302 /dev/#{@disk}") if @dev_home
67
- end
68
-
69
- def exec(cmd)
70
- Getch::Command.new(cmd).run!
44
+ @partition.gpt(@dev_gpt)
45
+ @partition.swap(@dev_swap)
46
+ @partition.root(@dev_root, "8304")
47
+ @partition.home(@dev_home, "8302") if @dev_home
71
48
  end
72
49
  end
73
50
  end
@@ -16,8 +16,8 @@ module Getch
16
16
  end
17
17
 
18
18
  def systemd_boot
19
- return if ! Helpers::efi?
20
- esp = '/boot/efi'
19
+ return if ! @efi
20
+ esp = '/efi'
21
21
  dir = "#{@root_dir}/#{esp}/loader/entries/"
22
22
  datas_gentoo = [
23
23
  'title Gentoo Linux',
@@ -44,18 +44,18 @@ module Getch
44
44
  @uuid_root = `lsblk -o "UUID" #{@lv_root} | tail -1`.chomp() if @lv_root
45
45
  @uuid_dev_root = `lsblk -o "UUID" #{@dev_root} | tail -1`.chomp() if @dev_root
46
46
  @uuid_boot = `lsblk -o "UUID" #{@dev_boot} | tail -1`.chomp() if @dev_boot
47
- @uuid_boot_efi = `lsblk -o "UUID" #{@dev_boot_efi} | tail -1`.chomp() if @dev_boot_efi
47
+ @uuid_esp = `lsblk -o "UUID" #{@dev_esp} | tail -1`.chomp() if @dev_esp
48
48
  @uuid_home = `lsblk -o "UUID" #{@lv_home} | tail -1`.chomp() if @lv_home
49
49
  end
50
50
 
51
51
  def data_fstab
52
- boot_efi = @dev_boot_efi ? "UUID=#{@uuid_boot_efi} /boot/efi vfat noauto,noatime 1 2" : ''
52
+ efi = @dev_esp ? "UUID=#{@uuid_esp} /efi vfat noauto,noatime 1 2" : ''
53
53
  boot = @dev_boot ? "UUID=#{@uuid_boot} /boot ext4 noauto,noatime 1 2" : ''
54
54
  swap = @lv_swap ? "UUID=#{@uuid_swap} none swap discard 0 0" : ''
55
55
  root = @lv_root ? "UUID=#{@uuid_root} / ext4 defaults 0 1" : ''
56
56
  home = @lv_home ? "UUID=#{@uuid_home} /home/#{@user} ext4 defaults 0 2" : ''
57
57
 
58
- [ boot_efi, boot, swap, root, home ]
58
+ [ efi, boot, swap, root, home ]
59
59
  end
60
60
  end
61
61
  end
@@ -42,9 +42,10 @@ module Getch
42
42
  end
43
43
 
44
44
  def install_deps
45
- exec("euse -E lvm")
45
+ make_conf = "#{MOUNTPOINT}/etc/portage/make.conf"
46
+ exec("euse -E lvm") if ! Helpers::grep?(make_conf, /lvm/)
46
47
  Getch::Emerge.new('genkernel lvm2').pkg!
47
- Getch::Garden.new('-a lvm').run!
48
+ Getch::Bask.new('-a lvm').run!
48
49
  exec("systemctl enable lvm2-monitor")
49
50
  end
50
51
 
@@ -1,17 +1,33 @@
1
1
  module Getch
2
2
  module FileSystem
3
3
  module Lvm
4
- class Device
4
+ class Device < Getch::FileSystem::Device
5
5
  def initialize
6
- @disk = DEFAULT_OPTIONS[:disk]
7
- @user = DEFAULT_OPTIONS[:username]
8
- @dev_boot_efi = Helpers::efi? ? "/dev/#{@disk}1" : nil
9
- @dev_boot = Helpers::efi? ? nil : "/dev/#{@disk}2"
10
- @dev_root = Helpers::efi? ? "/dev/#{@disk}2" : "/dev/#{@disk}3"
6
+ super
11
7
  @vg = 'vg0'
12
8
  @lv_root = "/dev/mapper/#{@vg}-root"
13
9
  @lv_swap = "/dev/mapper/#{@vg}-swap"
14
- @lv_home = @user ? "/dev/mapper/#{@vg}-home" : nil
10
+ @lv_home = @home_disk ? "/dev/mapper/#{@vg}-home" : nil
11
+ end
12
+
13
+ private
14
+
15
+ def search_boot
16
+ if @boot_disk
17
+ @dev_gpt = @efi ? nil : "/dev/#{@boot_disk}1"
18
+ @dev_boot = @efi ? nil : "/dev/#{@boot_disk}2"
19
+ @dev_esp = @efi ? "/dev/#{@boot_disk}1" : nil
20
+ else
21
+ @dev_gpt = @efi ? nil : "/dev/#{@disk}1"
22
+ @dev_boot = @efi ? nil : "/dev/#{@disk}2"
23
+ @dev_esp = @efi ? "/dev/#{@disk}1" : nil
24
+ @root_part += 1
25
+ @root_part += 1 if ! @efi
26
+ end
27
+ end
28
+
29
+ # The swap is a part of the LVM volume, so we clean the func
30
+ def search_swap
15
31
  end
16
32
  end
17
33
  end
@@ -19,7 +19,7 @@ module Getch
19
19
 
20
20
  def systemd_boot
21
21
  return if ! Helpers::efi?
22
- esp = '/boot/efi'
22
+ esp = '/efi'
23
23
  dir = "#{@root_dir}/#{esp}/loader/entries/"
24
24
  datas_gentoo = [
25
25
  'title Gentoo Linux',
@@ -54,12 +54,12 @@ module Getch
54
54
  @uuid_root = `lsblk -d -o "UUID" #{@lv_root} | tail -1`.chomp() if @lv_root
55
55
  @uuid_dev_root = `lsblk -d -o "UUID" #{@dev_root} | tail -1`.chomp() if @dev_root
56
56
  @uuid_boot = `lsblk -o "UUID" #{@dev_boot} | tail -1`.chomp() if @dev_boot
57
- @uuid_boot_efi = `lsblk -o "UUID" #{@dev_boot_efi} | tail -1`.chomp() if @dev_boot_efi
57
+ @uuid_esp = `lsblk -o "UUID" #{@dev_esp} | tail -1`.chomp() if @dev_esp
58
58
  @uuid_home = `lsblk -o "UUID" #{@lv_home} | tail -1`.chomp() if @lv_home
59
59
  end
60
60
 
61
61
  def data_fstab
62
- boot_efi = @dev_boot_efi ? "UUID=#{@uuid_boot_efi} /boot/efi vfat noauto,noatime 1 2" : ''
62
+ boot_efi = @dev_esp ? "UUID=#{@uuid_esp} /efi vfat noauto,noatime 1 2" : ''
63
63
  boot = @dev_boot ? "UUID=#{@uuid_boot} /boot ext4 noauto,noatime 1 2" : ''
64
64
  swap = @lv_swap ? "/dev/mapper/cryptswap none swap discard 0 0" : ''
65
65
  root = @lv_root ? "UUID=#{@uuid_root} / ext4 defaults 0 1" : ''
@@ -49,7 +49,7 @@ module Getch
49
49
  exec("euse -E lvm") if ! Helpers::grep?(make_conf, /lvm/)
50
50
  exec("euse -E cryptsetup") if ! Helpers::grep?(make_conf, /cryptsetup/)
51
51
  Getch::Emerge.new('genkernel systemd sys-fs/cryptsetup lvm2').pkg!
52
- Getch::Garden.new('-a lvm').run!
52
+ Getch::Bask.new('-a lvm').run!
53
53
  exec("systemctl enable lvm2-monitor")
54
54
  end
55
55
 
@@ -2,18 +2,34 @@ module Getch
2
2
  module FileSystem
3
3
  module Lvm
4
4
  module Encrypt
5
- class Device
5
+ class Device < Getch::FileSystem::Device
6
6
  def initialize
7
- @disk = DEFAULT_OPTIONS[:disk]
8
- @user = DEFAULT_OPTIONS[:username]
9
- @dev_boot_efi = Helpers::efi? ? "/dev/#{@disk}1" : nil
10
- @dev_boot = Helpers::efi? ? nil : "/dev/#{@disk}2"
11
- @dev_root = Helpers::efi? ? "/dev/#{@disk}2" : "/dev/#{@disk}3"
7
+ super
12
8
  @vg = 'vg0'
13
9
  @lv_root = "/dev/mapper/#{@vg}-root"
14
10
  @lv_swap = "/dev/mapper/#{@vg}-swap"
15
- @lv_home = @user ? "/dev/mapper/#{@vg}-home" : nil
11
+ @lv_home = @home_disk ? "/dev/mapper/#{@vg}-home" : nil
16
12
  @luks_root = "/dev/mapper/cryptroot"
13
+ @luks_home = @home_disk ? "/dev/mapper/crypthome" : nil
14
+ end
15
+
16
+ private
17
+
18
+ def search_boot
19
+ if @boot_disk
20
+ @dev_gpt = @efi ? nil : "/dev/#{@boot_disk}1"
21
+ @dev_boot = @efi ? nil : "/dev/#{@boot_disk}2"
22
+ @dev_esp = @efi ? "/dev/#{@boot_disk}1" : nil
23
+ else
24
+ @dev_gpt = @efi ? nil : "/dev/#{@disk}1"
25
+ @dev_boot = @efi ? nil : "/dev/#{@disk}2"
26
+ @dev_esp = @efi ? "/dev/#{@disk}1" : nil
27
+ @root_part += 1
28
+ @root_part += 1 if ! @efi
29
+ end
30
+ end
31
+
32
+ def search_swap
17
33
  end
18
34
  end
19
35
  end