|
FroyoOnBeagleBoard
概要BeagleBoard に Froyo をのせる。 1. 準備BeagleBoard を用意。 Android ソースコードのダウンロード先を定義する。 $ export ANDROID=/home/sola/android/omap3-droid 以降、$ANDROID を Android ソースコードのダウンロード先として扱う。 2. Android ソースコードのダウンロード$ mkdir -p $ANDROID $ cd $ANDROID $ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2_r1.1 local_manifest.xml を追加。 $ emacs .repo/local_manifest.xml local_manifest.xml の内容 <?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="external/alsa-lib" name="platform/external/alsa-lib" revision="froyo"/> <project path="external/alsa-utils" name="platform/external/alsa-utils" revision="froyo"/> <project path="hardware/alsa_sound" name="platform/hardware/alsa_sound" revision="froyo"/> </manifest> local_manifest.xml を保存後、以下を実行。 $ repo sync ダウンロード完了まで待つ。 3. BeagleBoard 用の変更ファイル、追加ファイルを適用する$ cd $ANDROID $ wget http://android-development-environment.googlecode.com/files/vendor_sola-omap3-froyo.tar.gz $ mkdir vendor $ tar zxvf vendor_sola-omap3-froyo.tar.gz -C $ANDROID/vendor/ $ $ANDROID/vendor/sola/omap3/patch/omap3-patch.sh 4. kernel をビルドする$ cd $ANDROID $ wget http://sola-dolphin-1.net/data/android/BeagleBoard/kernel_beagle.0xlab.sgx.tar.bz2 $ tar jxvf kernel_beagle.0xlab.sgx.tar.bz2 $ cd $ANDROID/kernel-beagleboard $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- sola_omap3_beagle_android_defconfig $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage modules $ANDROID/kernel/arch/arm/boot/uImage 5. Android をビルドする$ cd $ANDROID $ source build/envsetup.sh $ lunch beagleboard-eng $ make -j8 6. BeagleBoard にのせるイメージを作成する$ cd $ANDROID $ $ANDROID/vendor/sola/omap3/image/beagleboard-image.sh $ANDROID/vendor/sola/omap3/image/beagleboard/android 7. TI's Android SGX SDK を組み込む$ cd $ANDROID $ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git TI_Android_SGX_SDK $ cd TI_Android_SGX_SDK $ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin インストール先はどこでも良い。 HOME=$(ANDROID) GRAPHICS_INSTALL_DIR=$(ANDROID)/TI_Android_SGX_SDK ANDROID_ROOT=$(ANDROID)/vendor/sola/omap3/image/beagleboard/android CSTOOL_DIR=$(ANDROID)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/ KERNEL_INSTALL_DIR=$(ANDROID)/kernel-beagleboard 編集後、 $ cd $ANDROID/TI_Android_SGX_SDK $ make $ make install OMAPES=3.x $ANDROID/vendor/sola/omap3/image/beagleboard/android に必要なファイルがコピーされる。 |
This is really good work. Thanks for integrating SGX drivers, let us know if you have faced any difficulties in integrating SGX drivers. We will be looking forward to get your comments on the SGX and Kernel / driver deliverables on http://arowboat.org.
I cannot extract the kernel files from kernel_beagle.0xlab.sgx.tar.bz2
The wget gave no errors, md5sum 68728a250d5d42e5261c364f6d055631 Duplicate downloads give the same file and md5sum.
I am using Ubuntu 10.04
The error is:
$ tar jxf kernel_beagle.0xlab.sgx.tar.bz2 tar: Skipping to next header
bzip2: Data integrity error when decompressing.
It is possible that the compressed file(s) have become corrupted. You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover data from undamaged sections of corrupted files.
Sorry. Fixed now.
Many thanks.
The kernel builds without problems, but libasound does not build because the following files all try to include sys/shm.h
Is there a fix or workaround? I don't need audio.
Please try again repo sync. alsa-lib has been updated. http://android.git.kernel.org/?p=platform/external/alsa-lib.git;a=summary
Thanks for the Beagle patch for the froyo release. I successfully ported the froyo onto the Beagle, but the GUI is unable to load and stops to proceed further after showing up ANDROID on the initial command line prompt.
Please let me know how to fix this.
Does not occur in my environment. Please tell us the information. For example, information logcat.
Hi,
Thanks for the reply and the logcat messages that I'm getting are as follows,
I/DEBUG ( 737): debuggerd: Jul 8 2010 19:50:36 E/keystore( 745): chdir: /data/misc/keystore: No such file or directory I/Vold ( 735): Vold 2.1 (the revenge) firing up I/Netd ( 736): Netd 1.0 starting D/Vold ( 735): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media) W/Vold ( 735): No UMS switch available D/AndroidRuntime?( 739): D/AndroidRuntime?( 739): >>>>>>>>>>>>>> AndroidRuntime? START <<<<<<<<<<<<<< D/AndroidRuntime?( 739): CheckJNI is ON E/dalvikvm( 739): Can't open dex cache '/data/dalvik-cache/system@framework@core.jar@classes.dex': No such file or directy I/dalvikvm( 739): Unable to open or create cache for /system/framework/core.jar (/data/dalvik-cache/system@framework@core) D/dalvikvm( 739): Unable to process classpath element '/system/framework/core.jar' E/dalvikvm( 739): Can't open dex cache '/data/dalvik-cache/system@framework@ext.jar@classes.dex': No such file or directoy I/dalvikvm( 739): Unable to open or create cache for /system/framework/ext.jar (/data/dalvik-cache/system@framework@ext.j) D/dalvikvm( 739): Unable to process classpath element '/system/framework/ext.jar' E/dalvikvm( 739): Can't open dex cache '/data/dalvik-cache/system@framework@framework.jar@classes.dex': No such file or dy I/dalvikvm( 739): Unable to open or create cache for /system/framework/framework.jar (/data/dalvik-cache/system@framework) D/dalvikvm( 739): Unable to process classpath element '/system/framework/framework.jar' E/dalvikvm( 739): Can't open dex cache '/data/dalvik-cache/system@framework@android.policy.jar@classes.dex': No such filey I/dalvikvm( 739): Unable to open or create cache for /system/framework/android.policy.jar (/data/dalvik-cache/system@fram) D/dalvikvm( 739): Unable to process classpath element '/system/framework/android.policy.jar' E/dalvikvm( 739): Can't open dex cache '/data/dalvik-cache/system@framework@services.jar@classes.dex': No such file or diy I/dalvikvm( 739): Unable to open or create cache for /system/framework/services.jar (/data/dalvik-cache/system@framework@) D/dalvikvm( 739): Unable to process classpath element '/system/framework/services.jar' E/dalvikvm( 739): ERROR: no valid entries found in bootclasspath '/system/framework/core.jar:/system/framework/ext.jar:/s' W/dalvikvm( 739): JNI_CreateJavaVM failed E/AndroidRuntime?( 739): JNI_CreateJavaVM failed I/ ( 789): ServiceManager?: 0xacd0 W/AudioHardwareInterface?( 789): Using stubbed audio hardware. No sound will be produced. D/AudioHardwareInterface?( 789): setMode(NORMAL) I/CameraService?( 789): CameraService? started: pid=789 I/AudioFlinger?( 789): AudioFlinger?'s thread 0xb3d8 ready to run E/keystore( 795): chdir: /data/misc/keystore: No such file or directory D/AndroidRuntime?( 794): D/AndroidRuntime?( 794): >>>>>>>>>>>>>> AndroidRuntime? START <<<<<<<<<<<<<< D/AndroidRuntime?( 794): CheckJNI is ON E/dalvikvm( 794): Can't open dex cache '/data/dalvik-cache/system@framework@core.jar@classes.dex': No such file or directy I/dalvikvm( 794): Unable to open or create cache for /system/framework/core.jar (/data/dalvik-cache/system@framework@core)
Please check permissions. I think there is no write access.
Thanks a lot, I can run android 2.2 on my board now.
further questions, there are only 2 language supported, Japanese and English, I need Chinese simplified support, How should I hack the code?
Please change the following file.
Before change.
Modified.
PRODUCT_LOCALES := \ ldpi \ hdpi \ mdpi \ ja_JP \ zh_CN \ en_USThanks
I find another line about the flash player package installation:
W/PackageManager?( 865): Unknown permission android.webkit.permission.PLUGIN in package com.adobe.flashplayer
Hi
I am getting error when I run Froyo on Beagle Board, Appreciate your help and thanks in advance: I checked the permissions of /system/bin/ .
Warning: unable to open an initial cnsole. Z+�: /init.rc: 247: ignored duplicate definition of service 'pvr' init: cannot open '/initlogo.rle' init: cannot find '/system/bin/sgx?rc.pvr', disabling 'pvr' init: cannot execve('/system?bin?mediaserver'): Permissin denied init: cannot execve('/system?bin/keystore'): Permissin denied
Hi,
Will this port also work on a DevKit8000? from Embest?
Thanks, Gergely
Hi, gergely.kis
I have never tried. I do not have information on DevKit8000?. I think the kernel needs to be changed.
Hi, vijaydeepg
Please check permissions.
Hi, franklee73
MP3 issues are fixed in the next update. Player FLASH is because you are not sure, I know. Please tell me if you know the cause.
Hi,sola
I think it is the packagemanager that forbids the installation of Adobe flash player 10. The permission "android.webkit.permission.PLUGIN" is not recognized by packageManager. Below is the log: W/PackageManager??( 865): Unknown permission android.webkit.permission.PLUGIN in package com.adobe.flashplayer
As far as I know, all permissions are defined at framework/base/api/current.xml, but there is no android.webkit.permission.PLUGIN in this file. I think as long as I can add the android.webkit.permission.PLUGIN, I can install flash player successfully, but I donot know where can add this permission in this file.
In many mobile phone that use Android, for example Motorola Milestone, Nexus1, which has the permission android.webkit.permission.PLUGIN, but the source code from google has not.
Hi Sola,
great work you done !!!
can we know the list of patch you done to 0xlab kernel to obtain yours (http://sola-dolphin-1.net/data/android/BeagleBoard/kernel_beagle.0xlab.sgx.tar.bz2) ?
On my device, I have a working 2.6.32 kernel, but heavily patched already. So I would like to use your port of Android but with my kernel (by adding modifications relatives to android 2.2 and maybe yours also...)
Thanks for help. thanks
Same here. Do you have a list of patches for your kernel? Thanks.
hi sola. thanks for the great work. but when i power off the phone. there is huge amounts of flicker in power off dialog. any suggestions?
Hi Sola,
Trying to activate the I2C2?? bus so I can use the expansion connector I2C2?? port. Is the code to do this activation included in the binary portion of the distribution? Is there a way to turn on I2C2?? otherwise?
I have a clean build running but can not find the magic to get the I2C2?? working.
Hi Sola
# warning: `zygote' uses 32-bit capabilities (legacy support in use) init: waitpid returned pid 650, status = 00000009 init: process 'zygote', pid 650 exited init: process 'zygote' killing any children in process group request_suspend_state: wakeup (3->0) at 181415856002 (1970-01-01 00:03:01.415850002 UTC) init: starting 'zygote' init: Created socket '/dev/socket/zygote' with mode '666', user '0', group '0' init: waitpid returned pid 715, status = 00000009 init: process 'zygote', pid 715 exited init: process 'zygote' killing any children in process group request_suspend_state: wakeup (0->0) at 187439940002 (1970-01-01 00:03:07.439934002 UTC) init: starting 'zygote' init: Created socket '/dev/socket/zygote' with mode '666', user '0', group '0' init: waitpid returned pid 734, status = 00000009 init: process 'zygote', pid 734 exited init: process 'zygote' killing any children in process group request_suspend_state: wakeup (0->0) at 193506835002 (1970-01-01 00:03:13.506828002 UTC)
Hi saminathmail probably the follwoing description migth give you some hint to solve the "charger" issue: http://nb-no.facebook.com/note.php?note_id=91068179361
This ist about faking the battery status
Hi
There is a zImage in the "kernel-beagleboard/arch/arm/boot" folder. But How to put it in the SD card for it to run on beagle board. I am stuck here please help.
I would like to have the kernel git available... do you have a git URL for this?
And Varun, you put the uImage file on a FAT partition #1. The bootloader should pick it up with fatload:
mmc init fatload mmc 0 80000000 uImage bootm 80000000
Hi Sola, I am using your patch, I am getting the below error
target SharedLib?: libaudioflinger (out/target/product/beagleboard/obj/SHARED_LIBRARIES/libaudioflinger_intermediates/LINKED/libaudioflinger.so) /usr/krush/froyo/froyo/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/bin/ld: skipping incompatible out/target/product/beagleboard/obj/lib/libaudio.so when searching for -laudio /usr/krush/froyo/froyo/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/bin/ld: cannot find -laudio collect2: ld returned 1 exit status make: [out/target/product/beagleboard/obj/SHARED_LIBRARIES/libaudioflinger_intermediates/LINKED/libaudioflinger.so] Error 1
I have not configured the manifest file for ALSA as I do not need ALSA now. Thanks and Regards, Nagendra
Hi Sola, I am using your patch, I am getting the below error target SharedLib?: libaudioflinger (out/target/product/beagleboard/obj/SHARED_LIBRARIES/libaudioflinger_intermediates/LINKED/libaudioflinger.so)
/usr/krush/froyo/froyo/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/bin/ld: skipping incompatible out/target/product/beagleboard/obj/lib/libaudio.so when searching for -laudio
/usr/krush/froyo/froyo/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/bin/ld: cannot find -laudio
collect2: ld returned 1 exit status
make: [out/target/product/beagleboard/obj/SHARED_LIBRARIES/libaudioflinger_intermediates/LINKED/libaudioflinger.so] Error 1
Thanks, Nagendra
こんにちわ solaさん 上記の通りにfroyoを生成しようとしたのですが
4.kernelのカーネルをビルドするのことろで
このようになるのは大丈夫でしょうか?また、
:~/android/beagle/kernel-beagleboard$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage modules make: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: コマンドが見つかりませんでした scripts/kconfig/conf -s arch/arm/Kconfig make: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: コマンドが見つかりませんでした CHK include/linux/version.h make[1]: `include/asm-arm/mach-types.h' は更新済みです CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-arm CC kernel/bounds.s /bin/sh: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: not found make[1]: *** [kernel/bounds.s] エラー 127 make: *** [prepare0] エラー 2上記のようなエラーが発生します.ちなみにOSはubuntu10.04 64bit版です
どのように解決すればよろしいのですか?
おねがいします.
こんにちは sola さん 4.のkernelをビルドする所で
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage modules make: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: コマンドが見つかりませんでした scripts/kconfig/conf -s arch/arm/Kconfig make: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: コマンドが見つかりませんでした
make1?: `include/asm-arm/mach-types.h' は更新済みです /bin/sh: ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: not found make1?: [kernel/bounds.s] エラー 127 make: prepare0? エラー 2上記のようなエラーが発生しました コマンドが見つかりませんと言われていますが、ディレクトリを辿ると、その名前のファイルは存在することが分かります。
OSはubuntu10.04 64bit版です
解決策をよろしくお願いします
kernel ビルド時の warning は問題ないと思います。
コマンドが見つからないのは、恐らく環境の問題です。 こちらの通りにビルド環境を構築してみてください。 http://blog.sola-dolphin-1.net/archives/3075261.html 64bit 版と 32bit 版はインストールするソフトウェアが異なります。
hi Everyone,
i am facing the following problem when booting the kernel. AMDISK: gzip image found at block 0 mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new high speed SDHC card at address 1234 List of all partitions: No filesystem could mount root, tried: ext2 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
rds atpyouth
Hi こんにちは。参考にしています。
3月注文以降の BeagleBoard?-xM Rev.B => Rev.C になってからは、 画面赤くなってUSB効かず動かないまま放置され残念におもいましたが TI から July 13 Rev.C対応 DevKit? がTIからリリースされたので TI Android Devkit Gingerbread-2.3.4-Devkit-2.1 (Rev.C supported) で Prebuildから少しずつ手さぐり状態で手直し中です。 Makefileも少しかわった感じかもしれませんが、solaさんの、参考にしています。
BeagleBoard?-xM 上では GingerBread? は FroYo? にくらべて動きがスローで、PicoTTSも動かず Default では有線LAN非対応なので、 暫く検討して様子みてから通常のAndroid実機とか PandaBoard? に移ろうとは思います・・・。
サイト、今後も楽しみにしています。頑張ってください。