想试一下GHCJS,自己编译神麻烦,但是GHCJS有提供虚拟机镜像,而且我可以访问到学院(校)的虚拟机,所以我想在这虚拟机上再跑一个虚拟机,体验一下GHCJS。
安装Vagrant
在这里选择合适的包,下载安装就可以了:
$ wget 'http://files.vagrantup.com/packages/7e400d00a3c5a0fdf2809c8b5001a035415a607b/vagrant_1.2.2_x86_64.rpm'
$ yum install vagrant_1.2.2_x86_64.rpm
安装VirtualBox
VirtualBox需要dkms和编译内核模块,所以要先装:
$ wget 'http://linux.dell.com/dkms/permalink/dkms-2.2.0.3-1.noarch.rpm'
$ yum install dkms-2.2.0.3-1.noarch.rpm
$ yum install kernel-headers kernel-devel
然后这里下载安装VirtualBox:
$ wget 'http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2-4.2.12_84980_el6-1.x86_64.rpm'
$ yum install VirtualBox-4.2-4.2.12_84980_el6-1.x86_64.rpm
这里安装的是4.2.12
而不是现在最新的4.2.14
,因为新的Vagrant跑不了,在这里花了不少时间。
安装完会编译内核模块,然后失败了,只要设置KERN_DIR
环境变量,然后重新编译就可以了:
$ export KERN_DIR=/usr/src/kernels/2.6.32-358.11.1.el6.x86_64
$ /etc/init.d/vboxdrv setup
其实应该可以添加repo,然后直接用yum安装依赖就可以,太懒没试~ ~
GHCJS
运行:
$ git clone https://github.com/ghcjs/ghcjs-build.git
$ cd ghcjs-build
$ git checkout prebuilt
$ vagrant up
vagrant up
时会出错,然后我切换到GUI直接运行虚拟机,有这样的提示:
... VT-x is not available...
不支持VT-x很正常的吧,因这个CPU本身也是被虚拟出来的。所以我们改一下Vagrantfile,在config.vm.customize
加上--hwvirtex off
:
config.vm.customize ["modifyvm", :id,
"--cpus", 4,
"--memory", 1500,
"--hwvirtex", "off",
"--ioapic", "on"]
发现还是不行,上网一查 3,把cpus
改成了1:
config.vm.customize ["modifyvm", :id,
"--cpus", 1,
"--memory", 1500,
"--hwvirtex", "off",
"--ioapic", "on"]
然后vagrant up
启动虚拟机,现在还在跑puppet安装各种包,感觉会很漫长。