[[Software/Virtual Platform/Android]]~ こちらはCentOS 4 での作業になります。~ * 設定 [#y9ebb7a2] Android対応したKernelとuserlandをVirtual Platformで動かすための設定です。~ ** rootfs.arm_nofpu.ext2 [#c55be4d8] userlandの内容を[[Software/Virtual Platform/Android/Kernel]]にて作成したskin/Vanilla-Android-320x240/sim~ にあるrootfs.arm_nofpu.ext2へコピーします。~ ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/skin/Vanilla-Android-320x240/sim にあるrootfs.arm_nofpu.ext2をloopbackマウントでマウントします。 ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/skin/Vanilla-Android-320x240/sim以下にある~ rootfs.arm_nofpu.ext2では容量が40MB程なのでAndroidを起動するのに容量が足りませんので新たにrootfs.arm_nofpu.ext2を作成します。~ ~ まずARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/vanilla/software にある ~ create_rootfs_arm_nofpu_ext2.cshを編集します。~ #!/bin/tcsh cd utils - ./fakeroot -l .libs/libfakeroot.so ./genext2fs -b 106481 -D device_table.txt -d ../root ../rootfs.arm_nofpu.ext2 -e 0 -N 32000 + ./fakeroot -l .libs/libfakeroot.so ./genext2fs -b 126481 -D device_table.txt -d ../root ../rootfs.arm_nofpu.ext2 -e 0 -N 32000 cd .. ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/vanilla/software にあるrootのバックアップし、~ 新たにrootディレクトリを作成します。 ~ mv root root-orig mkdir root これでcreate_rootfs_arm_nofpu_ext2.cshを実行すると約124MBのrootfs.arm_nofpu.ext2が作成されます。~ ./create_rootfs_arm_nofpu_ext2.csh ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/vanilla/software 以下にできたrootfs.arm_nofpu.ext2を~ ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/skin/Vanilla-Android-320x240/simにコピーします。~ cp rootfs.arm_nofpu.ext2 ../../../skins/Vanilla-Android-320x240/sim/ 次に[[Software/Virtual Platform/Android/Kernel]]にて作成したuserlandの内容をrootfs.arm_nofpu.ext2へコピーします。~ ~ ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/skin/Vanilla-Android-320x240/simにある~ rootfs.arm_nofpu.ext2をloopbackマウントでマウントします。~ # mount -o loop rootfs.arm_nofpu.ext2 ~/myMountDir myMountDirの中身をすべて削除します。 myMountDirの中身をすべて削除します。~ # cd ~/myMountDir # rm -fr * [[Software/Virtual Platform/Android/userland]]にて作成したuserlandの中身をここにコピーします。~ $ cp -afr ~/Android_rfs/* . コピーが終わりましたら、アンマウントします。~ $ umount myMountDir ** ATPS2LCD [#u6b9fbc1] Virtual PlatformではDiplayもATPS2LCDでシミュレーションされていますが、~ Virtual PlatformではDisplayもATPS2LCDでシミュレーションされていますが、~ 今回は、こちらで用意したATPS2LCDをダウンロードします。~ -ATPS2LCD 約6MB ~ http://labs.beatcraft.com/files/vp/ATPS2LCD ~ これを使用することでこちらで用意したディスプレイのデザインフレームを表示できるようになります。~ (解像度が320x240のときのみ)~ ~ これは特別必要ではありません。 ~ 元ファイルをバックアップします。~ $ cd ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/tools $ mv ATPS2LCD ATPS2LCD-orig ダウンロードしてきたATPS2LCDを配置します。~ ** display.tclの設定 [#meda5359] ダウンロードしたATPS2LCDを使用するために ~ $ cd ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/scripts にあるdisplay.tclを編集します。~ proc versatile_start_panel {} { global SKIN_DIR global TOOLDIR versatile_print_sdl - ###exec $TOOLDIR/ATPS2LCD > $SKIN_DIR/ATPS2LCD.log & + exec $TOOLDIR/ATPS2LCD --phone-skin > $SKIN_DIR/ATPS2LCD.log & } ** setup.tclの設定 [#sd338959] VPにてAndroid起動時にADBを使用できるようにあらかじめ5555番ポートをあける設定をします。 $ cd ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04/other/scripts にあるsetup.tclを編集します。~ @@ -143,7 +143,7 @@ proc simulation_init { } { puts "Loading file-system and kernel data." reset_reload i_SMC91C111 sync_time_on # puts "Enabling port re-redirection for Android Debug Bridge (ADB)" - # i_SMC91C111 redirect "tcp 5555 10.0.2.15 5555 " + i_SMC91C111 redirect tcp 5555 10.0.2.15 5555 } ** vpmconfig [#gef57b0b] vpmに作成したskinのディレクトリ位置などを設定を読み込ませるために ~ vpmconfigを編集します。~ $cd ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04 <!DOCTYPE VirtualPlatform> <VirtualPlatform CreatorTimeStamp="2009-Mar-13_21::07::00.153" CreatorVersion="2009.1" > <VirtualPlatformList Name="ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free" Version="1.04" > <Skin Description="Buildroot Filesystem, Vanilla Linux Kernel" Executable="skins/Vanilla/launch.csh" Name="Vanilla" Version="2.6.23" WorkDirectory="skins/Vanilla/sim" /> + <Skin Description="Buildroot Filesystem, Android" Executable="skins/Vanilla-Android-320x240/launch.csh" Name="Android" Version="1.5r2"WorkDirectory="skins/Vanilla-Android/sim" /> </VirtualPlatformList> </VirtualPlatform> 以上で設定は終了です。~ * 起動 [#f5a4aa70] Virtual Platformを起動します。 $ cd ~/ARM926EJS-CoWareVP-VersatilePB-SingleCore-Free-1.04 $ source setup.sh $ vpm vpmが起動し設定項目にVanillaとAndroidがあることを確認し、~ Androidを選択します。~ 解像度320x240のイメージを使用している場合は~ VPA起動時「Properties」->「Display」->「Resolution」にて ~ 画面解像度を320x240に設定してください。~ 緑の三角ボタンを押すと起動します。~ ATPS2LCDを変更している場合はディスプレイにフレームが表示されます。~ 起動時間は少々かかります。~ また、Android sdk があれば Android起動後 adb 接続が可能です。 ~ * 動作について [#e56dc4c8] マウス、キーボードの十字キーでフォーカスが移動します。~ 左クリック、エンターキーで選択決定します。~ ただし、640x480の解像度では十字キーを押した回数以上に動作してしまうことがあります。~ しばらくするとおさまります、もしくはHOMEキーを押下してください。 ~ *制限事項 [#t1f00a3b] ・この方法は4月25日ダウンロード分の無償評価版Virtual Platformのみの動作確認になります、~ 6月15日現在での無償評価版Virtual Platformのバージョンでは動作しておりません。~ ・入力欄にてキーを押すとソフトキーボードが起動します。~ 320x240の解像度では画面サイズの問題で画面上端が切れてしまいますが ~ 入力はできます。~ 入力完了後Backボタンで戻ってください。~ ・日本語は入力できません ~ ・640x480の解像度ではATPS2LCDのデザインフレームは表示されません~