2017-09-23 98 views
0

我正嘗試使用Vagrant-libvirt插件爲Rasbian創建虛擬機。但是我沒有找到如何添加'2017-09-07-raspbian-stretch-lite.img'的圖片。無法添加Rasbian圖像到Vagrant-libvirt虛擬機

能夠使用qemu啓動映像。

qemu-system-arm -kernel kernel-qemu-4.4.34-jessie -cpu arm1176 -m 256 -machine versatilepb -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw vga=normal console=ttyAMA0" -drive "file=./2017-09-07-raspbian-stretch-lite.img,index=0,media=disk,format=raw" -no-reboot -serial stdio -curses

這裏是我的不完整Vagrantfile:

# -*- mode: ruby -*- 
# vi: set ft=ruby : 
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt' 
Vagrant.configure("2") do |config| 
    config.vm.box_url = File.join(Dir.pwd, "2017-09-07-raspbian-stretch-lite.img") 
    config.vm.box = "Rasbian" 
    config.vm.provider :libvirt do |libvirt| 
    libvirt.driver = "qemu" 
    #config.vm.box = "arm" 
    # vagrant issues #1673..fixes hang with configure_networks 
    config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" 
    libvirt.uri = 'qemu+unix:///system' 
    libvirt.host = 'virtualized' 
    libvirt.kernel = File.join(Dir.pwd, "OS/kernel-qemu-4.4.34-jessie") 
    #libvirt.kernel = File.join(Dir.pwd, "Ovmlinuz") 
    #libvirt.initrd = File.join(Dir.pwd, "initrd") 
    #libvirt.storage :file, :size => '20G', :path => "./OS/2017-09-07-raspbian-stretch-lite.img", :allow_existing => true, :shareable => true, :type => 'raw' 
    libvirt.emulator_path = '/usr/bin/qemu-system-arm' 
    libvirt.cmd_line = 'root=/dev/mmcblk0p2 devtmpfs.mount=0 rw' 
    libvirt.memory = 256 
    libvirt.cpu_model = 'arm1176' 
    libvirt.cpu_fallback = 'allow' 
    libvirt.graphics_type = 'none' 
    end 

end 

回答

1

我已承諾支持無業遊民,libvirt的正是這個。這是一個工作的配置:

config.vm.define "rpi" do |rpi| 
    # Create rpi.vm 
    rpi.vm.hostname = "rpi" 
    rpi.vm.box = "raspbian-jessie-lite-2016-02-26" 
    rpi.vm.provider :libvirt do |v| 
     v.driver = 'qemu' 
     v.random_hostname = true 
     v.connect_via_ssh = false 
     v.memory = 1024 
     v.cpus = 1 
     v.volume_cache = 'none' 
     v.storage_pool_name = "vagrant" 
     v.kernel = File.join(Dir.pwd, "kernel") 
     v.initrd = File.join(Dir.pwd, "initrd") 
     v.machine_type = 'virt' 
     v.machine_arch = 'armv7l' 
     v.cpu_mode = 'custom' 
     v.cpu_model = 'cortex-a15' 
     v.cpu_fallback = 'allow' 
     v.cmd_line = 'rw earlyprintk loglevel=8 console=ttyAMA0,115200n8 rootwait root=/dev/vda2' 
     v.graphics_type = 'none' 
     v.disk_bus = 'virtio' 
     v.nic_model_type = 'virtio' 
     v.features = ["apic","gic version='2'"] 
    end 

但是,你需要找到或建立支持virt機型內核和相應的initrd。你可以看看here的一些背景。

+0

謝謝你的幫助!非常感激。 – Arky

相關問題