openwsn-berkeley / OpenVM

OpenWSN-ready Virtual Machine Distribution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenVM

OpenWSN-ready Virtual Machine Distribution

Install with vagrant

  • git clone https://github.com/openwsn-berkeley/OpenVM.git
  • cd OpenVM
  • vagrant up
  • ls "C:\Users\user\VirtualBox VMs">file
  • set /p vm_name=<file
  • vagrant package --base %vm_name% --output openvm.box
  • vboxmanage export %vm_name% -o openvm.ova --ovf10
  • vagrant destroy -f
  • vagrant box remove box-cutter/ubuntu1404-desktop -f

Import ova file to vmware

  • open vmware player and go to File->open
  • choose the openvm.ova file and import
  • choose Retry to relax OVF specification and virtual hardware compliance checks and try the import again
  • wait it finish

Remove VBox GuestAddtion

  • open a terminal
  • cd /opt
  • cd VBoxGuestAddtions-5.0.18
  • sudo ./uninstall.sh
  • sudo reboot

Note: the VBoxGuestAddtions folder name may different according to the user version. Just change it accordingly.

Install VMware Tools (optional)

Make sure that in the VM preferences you add the CD Unit. Without it VMWare tools will not install.

follow here: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1018377.

follow here for Ubuntu guest: https://kb.vmware.com/s/article/1022525

Shooting Board

On a 64-bit version machine, if the vagrant is run as administrator, the box downloaded through vagrant locates at C:\Windows\SysWOW64\config\systemprofile\.vagrant.d. However when to execute the vagrant to bring the virtual machine up, vagrant will look for the box at C:\Windows\System32\config\systemprofile\.vagrant.d since vagrant is a 32 bit program. Then you may have following error.

Command: ["import", "-n", "C:\Windows\System32\config\systemprofile\.vagrant.d\boxes\box-cutter-VAGRANTSLASH-ubuntu1404-desktop\2.0.18\virtualbox\box.ovf"]

Stderr: 0%...

Progress state: VBOX_E_FILE_ERROR

VBoxManage.exe: error: Appliance read failed

VBoxManage.exe: error: Could not read OVF file 'box.ovf' (VERR_PATH_NOT_FOUND)

VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance

VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)" at line 307 of file VBoxManageAppliance.cpp

To solve this problem, we need to tell vagrant where to look for the box by modifying the environment.rb file locating at C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.8.1\lib\vagrant.

Try to find some context like:

  # Setup the home directory
  @home_path  ||= Vagrant.user_data_path
  @home_path  = Util::Platform.fs_real_path(@home_path)
  @boxes_path = @home_path.join("boxes")
  @data_dir   = @home_path.join("data")
  @gems_path  = @home_path.join("gems")
  @tmp_path   = @home_path.join("tmp")
  @machine_index_dir = @data_dir.join("machine-index")

and modify the second line by

  @home_path  = Util::Platform.fs_real_path("C:\\Windows\\SysWOW64\\config\\systemprofile\\.vagrant.d")

Note: There is no such issue when running vagrant as a regular user.

About

OpenWSN-ready Virtual Machine Distribution