Class | BoxGrinder::LinuxHelper |
In: |
lib/boxgrinder-build/helpers/linux-helper.rb
lib/boxgrinder-build/helpers/linux-helper.rb |
Parent: | Object |
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 23 23: def initialize( options = {} ) 24: @log = options[:log] || LogHelper.new 25: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 23 23: def initialize( options = {} ) 24: @log = options[:log] || LogHelper.new 25: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 43 43: def kernel_image_name( guestfs ) 44: guestfs.sh("ls -1 /boot | grep initramfs | wc -l").chomp.strip.to_i > 0 ? "initramfs" : "initrd" 45: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 43 43: def kernel_image_name( guestfs ) 44: guestfs.sh("ls -1 /boot | grep initramfs | wc -l").chomp.strip.to_i > 0 ? "initramfs" : "initrd" 45: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 27 27: def kernel_version( guestfs ) 28: kernel_versions = guestfs.ls("/lib/modules") 29: version = kernel_versions.last 30: 31: if kernel_versions.size > 1 32: kernel_versions.each do |v| 33: if v.match(/PAE$/) 34: version = v 35: break 36: end 37: end 38: end 39: 40: version 41: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 27 27: def kernel_version( guestfs ) 28: kernel_versions = guestfs.ls("/lib/modules") 29: version = kernel_versions.last 30: 31: if kernel_versions.size > 1 32: kernel_versions.each do |v| 33: if v.match(/PAE$/) 34: version = v 35: break 36: end 37: end 38: end 39: 40: version 41: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 47 47: def recreate_kernel_image( guestfs, modules = [] ) 48: kernel_version = kernel_version( guestfs ) 49: kernel_image_name = kernel_image_name( guestfs ) 50: 51: if guestfs.exists("/sbin/dracut") != 0 52: command = "/sbin/dracut -f -v --add-drivers #{modules.join(' ')}" 53: else 54: drivers_argument = "" 55: modules.each { |mod| drivers_argument << " --preload=#{mod}" } 56: 57: command = "/sbin/mkinitrd -f -v#{drivers_argument}" 58: end 59: 60: @log.trace "Additional modules to preload in kernel: #{modules.join(', ')}" 61: 62: @log.debug "Recreating kernel image for #{kernel_version} kernel..." 63: guestfs.sh( "#{command} /boot/#{kernel_image_name}-#{kernel_version}.img #{kernel_version}" ) 64: @log.debug "Kernel image recreated." 65: end
# File lib/boxgrinder-build/helpers/linux-helper.rb, line 47 47: def recreate_kernel_image( guestfs, modules = [] ) 48: kernel_version = kernel_version( guestfs ) 49: kernel_image_name = kernel_image_name( guestfs ) 50: 51: if guestfs.exists("/sbin/dracut") != 0 52: command = "/sbin/dracut -f -v --add-drivers #{modules.join(' ')}" 53: else 54: drivers_argument = "" 55: modules.each { |mod| drivers_argument << " --preload=#{mod}" } 56: 57: command = "/sbin/mkinitrd -f -v#{drivers_argument}" 58: end 59: 60: @log.trace "Additional modules to preload in kernel: #{modules.join(', ')}" 61: 62: @log.debug "Recreating kernel image for #{kernel_version} kernel..." 63: guestfs.sh( "#{command} /boot/#{kernel_image_name}-#{kernel_version}.img #{kernel_version}" ) 64: @log.debug "Kernel image recreated." 65: end