我试图在virtualbox中模拟一个英特尔NUC网关。我在亚马逊EC2实例中运行这个虚拟框。由于连接不畅,我无法查看桌面的GUI。因此开始使用命令行。下面是我在resin.io创建的应用程序的步骤如何使用命令行在ubuntu中创建虚拟机
1)来创建虚拟机,拿起英特尔NUC板作为应用程序与下载的图像
2)转换的.IMG到.vmdk图像并保存在我的ec2实例中的这个图像
3)现在我创建了我的虚拟机在EC2中使用命令行参数,当我尝试导入此图像..我感到了..我没有得到相关命令
请帮我出去
我试图在virtualbox中模拟一个英特尔NUC网关。我在亚马逊EC2实例中运行这个虚拟框。由于连接不畅,我无法查看桌面的GUI。因此开始使用命令行。下面是我在resin.io创建的应用程序的步骤如何使用命令行在ubuntu中创建虚拟机
1)来创建虚拟机,拿起英特尔NUC板作为应用程序与下载的图像
2)转换的.IMG到.vmdk图像并保存在我的ec2实例中的这个图像
3)现在我创建了我的虚拟机在EC2中使用命令行参数,当我尝试导入此图像..我感到了..我没有得到相关命令
请帮我出去
(见下面的编辑!)
看起来这是目前不可能与AWS EC2。他们有很好的basic info和详细的step-by-step guide来导入虚拟机映像,但resin.io映像不符合它们的operating systems prerequisits:基本上,在EC2上运行的OS映像必须是列出的操作系统类型之一(Ubuntu,Red Hat ,SUSE等),但resin.io映像是一个自定义的Linux系统,它不被EC2平台所接受。我试图运行他们的导入程序,并且所有不同类型的尝试都被拒绝了。
建议尝试不同的方式来运行虚拟机。如果你只是尝试一个虚拟设备(我猜根据this blogpost),并且你不需要NUC映像,只需要任何虚拟设备就可以完成,那么在resin.io上也可以找到基于QEMU的映像。也可以在本地机器上运行(由于相同的原因,这些功能也无法在EC2上运行)。
编辑:
重读你的问题,它是关于EC2本身少了很多,而且更多的是VirtualBox的,我道歉。 VBoxManage有丰富的文档。在这种情况下,这是一个脚本,可以在命令行上在VirtualBox上设置和启动resin.io NUC映像。
需要什么:从resin.io仪表板下载NUC图像,并转换成VMDK图像。在主机上安装VirtualBox,将VMDK复制到那里,然后修改下面文件中的设置(根据需要调整可用内存,磁盘存储和文件名)。
脚本将:
然后你的机器准备好运行时,此过程将关闭虚拟机。
#!/bin/bash
## Fill in these Variables
# the virtualmachine's name
MACHINE=MyMachine2
# memory in MB
MEMORY=2048
# storage in MB
STORAGE=8096
# resin installation media path & filename
RESIN_DISK="resin-MyApplication-1.8.0-1.13.0-eb7236d1bd7e.vmdk"
# Storage disk, by defalt created in the current working directory!
DISKFILE="./${MACHINE}.vdi"
###
## Convert the original image to a Virtualbox image as:
# VBoxManage convertdd resin.img resin.vmdk --format vmdk
# and then use RESIN_DISK="resin.vmdk" above
echo "Createing Machine" && \
VBoxManage createvm --name "$MACHINE" \
--ostype Linux_64 \
--register && \
\
echo "Setting up Machine" && \
VBoxManage modifyvm "$MACHINE" \
--memory $MEMORY \
--ioapic off \
--firmware efi64 \
--rtcuseutc on && \
\
echo "Createing Storage Controller" && \
VBoxManage storagectl "$MACHINE" \
--name SATA \
--add sata && \
\
echo "Creating Main Disk" && \
VBoxManage createmedium disk \
--filename "$DISKFILE" \
--size $STORAGE && \
\
echo "Attaching Main Disk" && \
VBoxManage storageattach "$MACHINE" \
--storagectl SATA \
--port 0 --device 0 --type hdd --medium "$DISKFILE" && \
\
echo "Attaching Resin Install Media" && \
VBoxManage storageattach "$MACHINE" \
--storagectl SATA \
--port 1 --device 0 --type hdd --medium "$RESIN_DISK" && \
\
echo "Starting machine for first time setup" && \
VBoxHeadless --startvm "$MACHINE" && \
\
echo "Removing install media" && \
VBoxManage storageattach "$MACHINE" \
--storagectl SATA \
--port 1 --device 0 --type hdd --medium none && \
\
echo -e "You now can start machine for future use as: \nVBoxHeadless --startvm \"$MACHINE\""
附加:
作为一个侧面说明,如果你是在命令行上工作,还可以获得通过命令行所需要的resin.io形象呢!
安装resin-cli到您的主机,并使用resin login
登录(例如,使用从resin.io仪表板/首选项部分的API密钥),
下载裸操作系统映像的NUC,为例如:
resin os download intel-nuc -o intel-nuc.img
为应用程序创建一个配置,让我们说你的应用程序的名称是MyApp的:
resin config generate --app MyApp -o config-MyApp.json
钍恩这个配置添加到您的形象:
sudo resin config inject config-MyApp.json --type intel-nuc --drive intel-nuc.img
(对于这一点,你可能必须运行sudo resin login
所以你能够正确使用sudo与树脂的命令。)
在这之后,你可以做转换的intel-nuc.img
为VMDK格式,并设置您的虚拟机,如上所述。
嗨Gergely,感谢您的帮助!但我面临问题,而开始我的虚拟机有树脂VMDK图像。这次我不使用EC2实例。我正在组织网络中工作,我无法在VM启动时查看启动过程。请你能为我提出任何解决方法 – Arul
你如何运行Virtualbox?远程?如果您通过'VBoxHeadless'运行映像,则不会看到任何引导过程。几分钟后,您的设备是否会显示在resin.io仪表板中?通过查看启动过程,您试图解决的问题是什么? – Gergely
我的设备doest显示在resin.io中。我需要我的vmware intel nuc镜像在resin.io仪表板中显示。 – Arul