class Getch::Void::Boot

Public Class Methods

new() click to toggle source
# File lib/getch/void/boot.rb, line 9
def initialize
  @efi = Helpers::efi?
  @class_fs = Getch::select_fs
  @fs = @class_fs::Void.new
  @user = OPTIONS[:username]
  @fs.create_key if @class_fs::Void.method_defined? :create_key
end

Public Instance Methods

dracut() click to toggle source

Test dracut in chroot (version in /lib/modules/5.1.7-1): dracut -H -f –kver 5.1.7-1

# File lib/getch/void/boot.rb, line 39
def dracut
  print " => Configuring Dracut..."
  @fs.config_dracut
  @fs.kernel_cmdline_dracut
  puts "\s[OK]"
end
finish() click to toggle source
# File lib/getch/void/boot.rb, line 65
def finish
  puts
  puts "[*!*] Install finished [*!*]"
  puts
  @fs.finish
  puts
end
fstab() click to toggle source
# File lib/getch/void/boot.rb, line 30
def fstab
  print " => Configuring fstab..."
  @fs.fstab
  puts "\s[OK]"
  @fs.crypttab if @class_fs::Void.method_defined? :crypttab
end
grub() click to toggle source
# File lib/getch/void/boot.rb, line 46
def grub
  disk = OPTIONS[:boot_disk] ||= OPTIONS[:disk]
  print " => Installing Grub on #{disk}..."
  if @efi
    command_output "xbps-install -y grub-x86_64-efi"
    @fs.config_grub if @class_fs::Void.method_defined? :config_grub
    command_output "grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=\"Void\""
  else
    command_output "xbps-install -y grub"
    @fs.config_grub if @class_fs::Void.method_defined? :config_grub
    command_output "grub-install /dev/#{disk}"
  end
end
initramfs() click to toggle source
# File lib/getch/void/boot.rb, line 60
def initramfs
  puts " => Generating an initramfs..."
  command_output "xbps-reconfigure -fa" # this command also start grub-mkconfig
end
new_user() click to toggle source
# File lib/getch/void/boot.rb, line 17
def new_user
  puts " => Add a password for root."
  chroot "passwd"
  puts
  return unless @user
  print " => Creating a new user #{@user}..."
  puts "\s[OK]"
  command "useradd -m -G users,wheel,audio,video #{@user}"
  puts " => Add a password for #{@user}."
  chroot "passwd #{@user}"
  puts
end

Private Instance Methods

chroot(cmd) click to toggle source
# File lib/getch/void/boot.rb, line 75
def chroot(cmd)
  system("chroot", MOUNTPOINT, "/bin/bash", "-c", cmd)
end