2012-09-19 48 views
0

我安装了vmlite's android image这很好,但有一件事我找不到解决办法:如何更改屏幕尺寸?如何更改vmlite android的屏幕大小?

它有一个固定的宽度/高度的屏幕比例,但我需要改变它来模拟一些Android手机。

我搜索了很多,但没有找到解决方案,请帮助。


UPDATE

蛴螬画面显示如下:

  1. CMDLINE(hd0,2)/ CMDLINE
  2. 内核--use-CMDLINE(hd0,2 )/ kernel
  3. initrd(hd0,2)/ ramdisk

我haved使用此命令添加自定义尺寸:

VBoxManage.exe setextradata "android-vmlite" "CustomVideoMode1" "480x800x32" 

然后加入vga-ask所有的3个菜单选项,但没有工作。

当他们按b,它不要求选择型号。

回答

1

好吧,我已经做了一些研究,最终能够编辑虚拟盒子图像。具体方法如下:

如果你去vmlite上引导映像的GRUB项,内核条目(一个以“仁”关键字)有一个参数--use-cmd-line,这cmdline在第一个条目cmdline (hd0,2)/cmdline,这是一个名为cmdline文件中定义放置在启动硬盘的第三个分区内。

该文件具有内核选项:

init=/init qemu=1 console=ttyS0 console=tty0 vga=788 verbose androidboot.hardware=vbox_x86 androidboot.console=ttyS0 android.qemud=ttyS1 

现在你必须编辑这个文件称为CMDLINE改变vga=788选项vga=ask

编辑:(在Linux系统上)

你需要安装vdfuse

sudo apt-get install virtualbox-fuse

某处创建两个空文件夹。

sudo mkdir /mnt/image

sudo mkdir /mnt/partition

然后该虚框图像(VDI,VMDK或VHD等)安装到一个文件夹。 (比方说,VirtualBox虚拟磁盘镜像文件是/tmp/vmlite.vmdk,我们将其安装到/mnt/image文件夹)

vdfuse -w -f /tmp/vmlite.vmdk /mnt/image

有些文件会在名为EntireDisk分区1安装文件夹中创建分区2,分区3等。

因为我们感兴趣的是第三个分区,我们将相应的文件安装到/mnt/partition

sudo mount -o loop /mnt/image/Partition3 /mnt/partition

见的内容:

sudo ls -l /mnt/partition

会有cmdline,ramdisk和kernel。

现在我们编辑CMDLINE文件(我们将用gedit文本编辑器,你可以使用一个你喜欢):

sudo gedit /mnt/partiton/cmdline

进行编辑,更改vga=788vga=ask,保存并关闭。验证新文件内容:

sudo cat /mnt/partition/cmdline

卸载文件和图像:

sudo umount /mnt/partition

sudo umount /mnt/image

,如果我们不“T需要这些两个文件夹:

sudo rm /mnt/image

sudo rm /mnt/partition

完成后,启动从虚框图像。它会说按ENTER键查看可用的视频模式,在显示的列表中输入所选的数字,或者键入“扫描”以搜索更多的显示模式。

注意:并非所有模式都能正常工作,请使用VESA模式,颜色深度为24或32,并支持高宽比。

+0

非常感谢!我会稍后尝试并回复。 – Freewind

+0

再次感谢,它效果很好!现在我可以将屏幕设置为480x800x32和800x1280x32 :)唯一奇怪的是我的应用程序的颜色发生了变化,似乎是8位或16位,不像以前那么美丽。 – Freewind

+0

当我将自定义颜色深度改为16时,问题得到解决:'800x1280x16' :) – Freewind

0

请参阅此主题:

http://forum.xda-developers.com/showthread.php?p=19785371

您可以更改这个文件,CMDLINE,内(hd0,2)

的init =/QEMU的init = 1台= ttyS0来控制台= tty0 VGA = 788冗长androidboot.hardware = vbox_x86 androidboot.console = ttyS0来android.qemud =就是ttyS1

==>

的init =/INIT QEMU = 1c中onsole = ttyS0 console = tty0 vga = ask verbose androidboot.hardware = vbox_x86 androidboot.console = ttyS0 android.qemud = ttyS1

感谢僚机的详细说明。

另一种选择是将vmdk文件附加到正在运行的linux虚拟机(如果有的话),磁盘将自动挂载以简化生活。

+0

谢谢,请看我更新的问题。 – Freewind

+0

您是否修改了cmdline文件?我刚测试过,它会显示一个分辨率列表,按空格键 – huisinro

+0

你使用vmlite android图像:http://www.vmlite.com/index.php?option=com_content&view=article&id=69&Itemid=178? – Freewind

相关问题