I followed the procedure to use the Virtualbox /Vagrant approach to generate an OPENROV image. I am really enthusiastic about the fact that I can run Linux easily on my Toshiba Win 7 machine.
Fixing the number of processors
The first problem I ran into was the Vagrantfile in the openrov-image-master GIT repository has a default of 2 cpu’s for the Virtualbox. My Toshiba Satellite L655 intel processor doesn’t have hardware virtualization (VT-x) capability available in the bios. The default value of 2 processors requires VT-x. I fixed this by editing the Vagrantfile to use 1 cpu and at least got ubuntu installed. Here is the new Vagrantfile:
# -*- mode: ruby -*- # vi: set ft=ruby :
Vagrant.configure(“2”) do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com. config.vm.box = “ubuntu-12.04-32bit” config.vm.box_url = “http://files.vagrantup.com/precise32.box” config.vm.provision :shell, :path => “build.sh”
config.vm.provider :virtualbox do |vb|
vb.customize [“modifyvm”, :id, “–ioapic”, “on”]
vb.customize [“modifyvm”, :id, “–memory”, “2048”]
# you cannot use more than one cpu unless you have hardware virtualization. So for my Toshiba laptop I have no VT-x in BIOS
vb.customize [“modifyvm”, :id, “–hwvirtex”, “off”]
#vb.customize [“modifyvm”, :id, “–cpus”, “2”]
Use Chrome over IE
Problem with IE downloading ubuntu-saucy-console-armhf-2013-09-26.tar.xz . Apparently IE creates a tar out of this that must be unzipped. PEA zip gave an index out off range error and I could not unzip the file. Used google Chrome and worked ok. I added the file to the Vagrantfile.
I used putty to SSH into the Virtualbox.
Password: vagrant (It took me a while to discover this!!)
When ubuntu boots it goes to the home directory.
First thing is to change the directory to /vagrant and list the directory since this has the build script.
Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep 14 06:22:31 2012 from 10.0.2.2
vagrant@precise32:~$ cd /vagrant
build.sh putty info 10.24.txt
I list the directory using “ls” command and then copy the long name of the .tar.xz file and use it in the build command
vagrant@precise32:/vagrant$ sudo ./build.sh ubuntu-saucy-console-armhf-2013-09-26.tar.xz –black
When running build.sh be sure to add the processor type as a second argument. For me this is “–black”.
The next error was the need to install some missing tool packages. I wrote a shell script that is called in the Vagrantfile to load boot tools, git, nodejs,npm qemu-user-static,cross compiler etc. Here is the script update.sh:
echo “updating ubuntu with nodejs,crosscompilers ,git,qemu-static etc”
sudo apt-get update
sudo apt-get install -y dosfstools git-core kpartx u-boot-tools wget
sudo apt-get install -y nodejs nodejs-dev npm
sudo apt-get install -y debootstrap qemu-user-static qemu-system git
sudo apt-get install -y g++-4.6-arm-linux-gnueabihf
update.sh is called in the Vagrantfile by adding a provisioner statement
config.vm.provision :shell, :path => “update.sh”
Currently I still am getting some build errors related to unsuccessful mounts and failure to make some directories:
mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1,
mount: mount point /vagrant/root/dev/ does not exist
mount: mount point /vagrant/root/proc/ does not exist
mount: mount point /vagrant/root/sys/ does not exist
mount: mount point /vagrant/root/run/ does not exist
mount: mount point /vagrant/root/etc/resolv.conf does not exist
cp: cannot create regular file `/vagrant/root/usr/bin/’: No such file or directory
mkdir: cannot create directory `/vagrant/root/tmp/work/’: No such file or directory
Here are more complete debug files
installation debug printout
dmesg and partd printouts
Anyone have some ideas??