Run Android on VirtualBox/VMWare

來源:互聯網
上載者:User

原貼地址:

http://blog.roodo.com/thinkingmore/archives/8533633.html

 

Run Android on VirtualBox/VMWare

有人問了,所以這裡大致整理一下,也算是留下一個記憶(之後沒有要繼續...Orz...)。
事實上,網路上可以找到許多人的文章,根據歸納之後,我發現大多都是從 android-porting 裡的這篇:Howto build Android full source for X86 Architecture like EeePC(ASUS)轉貼來的,所以只要耐心爬完這篇,大致上都沒問題。

  1. 第一步當然是要把 source 拉下來,這個步驟,官方描述得很清楚:Get source (Android Open Source Project),這裡不多作描述。如果你用的是 Ubuntu 8.10

    6.

    ,會踩到雷的只有 libreadline5-dev,因為並沒有該頁面描述的 lib32readline5-dev。這裡我假設你跟官方教學步驟一樣,建了 mydroid 目錄。

  2. sync 整份 source code 以後,還需要 eee 701 的部份,所以要在 .repo 下新增一個檔案,並命名為 local_manifest.xml:view sourceprint?1.<manifest>2.    <project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"/>3.  </manifest>

    ,然後再 sync 一次。


  3. 次的 sync 會很快,結束以後,要先 build kernel。切到 mydroid/kernel 目錄下,複製
    mydroid/vendor/asus/eee_701/kernel.config 為 mydroid/kernel/.config,接著執行
    make menuconfig,進入 kernel configuration 選單以後,把這幾個 driver 選為 built-in:

    • Device
      drivers / Network device support / Ethernet (10 or 100Mbit) / EISA,
      VLB, PCI and on board controllers / AMD PCnet32 PCI support
    • Device drivers / Graphics support / Support for frame buffer devices / VESA VGA graphics support
    • Device drivers / Graphics support / Console display driver support / Framebuffer Console support
    • Device drivers / Graphics support / Console display driver support / Select Compiled-in fonts (VGA 8x8 font, VGA 8x16 font)

    ,再把這些取消:

    • Device drivers / Real Time Clock / Android alarm driver
    • Device drivers / Misc devices / Android pmem allocator

    ,然後重建立置 kernel:make bzImage。

  4. 編譯好之後,把 arch/x86/boot/bzImage 複製為 mydroid/vendor/asus/eee_701/kernel。
  5. 我稍稍更動了一些設定,這樣我後面就省打一些東西:
    • vendor/asus/eee_701/BoardConfig.mk:在 BOARD_KERNEL_CMDLINE 加上 vga=788
    • vendor/asus/eee_701/init.eee_701.sh:把 netcfg eth0 dhcp 改為 dhcpcd eth0
  6. 接著就是建置 image 了,這裡是我用的 script,把以下內容存為 build.sh,並放在 mydroid 下:view sourceprint?1.#!/bin/bash2.cp kernel/arch/x86/boot/bzImage vendor/asus/eee_701/kernel3.mkdir -p out/target/product/eee_701/data/4.cp kernel/arch/x86/boot/bzImage out/target/product/eee_701/kernel5. 6.TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j2 installer_img

    ,執行前別忘了 chmod +x 。

  7. 建置完以後,你會在 out/target/product/eee_701 下找到 installer.img。
  8. 把 installer.img 轉為 VirtualBox/VMWare 可用的 disk image,這邊要利用 VirtualBox
    的 vboxmanage 來轉:vboxmanage convertfromraw -format vdi installer.img
    installer.vdi,如果你用 VMWare,則是:vboxmanage convertfromraw -format vmdk
    installer.img installer.vmdk
  9. 建置新的 VM,設置為 Linux kernel 2.6,256M 的 RAM,以及一個超過 2G 的硬碟。然後把上個步驟轉好的 disk image 加為第二個儲存裝置。
  10. 接下來,我只以 VirtualBox
    為例,因為我沒試過 VMWare,不過原理一樣。將這個 VM 開機,一開機馬上按 F12,選擇從第二個儲存裝置開機。一開機,你會看到 grub
    的開機選單,趕緊按下任意鍵,因為這邊要修改一下,預設 Loader 的開機磁碟是 hd(0,0),你要按 e 進行修改,把 hd(0,0)
    改為 hd(1,0),再按 b 繼續開機(如果你不熟 grub,麻煩熟悉,這邊我不多說)。開機以後,就會開始進行安裝的動作,Android
    會安裝到第一個磁碟上去,這個步驟要等一陣子,如果有錯誤,再重複一次即可,根據我的經驗,有時候會因為切割磁碟失敗而停止安裝,但再從第二個磁碟開機安
    裝一次,通常即可解決。安裝完成不會有什麼訊息,但看一下畫面上訊息,你應該可以知道已經完成,輸入 reboot 重新開機。
  11. 最後就大功告成啦~接著你可以移除第二個磁碟,因為再也用不到啦~

最後的最後,希望我沒有遺漏~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.