2011年1月28日金曜日
Apple Lossless and PowerAMP
iPhoneをずっと使ってきたので、iTunesで結構音楽がたまってます。PureAudoも趣味の自分にはやっぱりロスレスだろうと、ほとんどの曲をApple Losslessでエンコードしてあります。ところがAndroidではこれが問題に。結局いろいろ試してみた結果、WinAMP(母艦)+PowerAMPという形に落ち着きました。PowerAMPは有償のソフトですが、買って損はないでしょう。かなりの多機能です。WinAMPもiTunesのライブラリを直接認識して、簡単な操作でAndroidへ転送できます。iPhoneも同時に使う人にはよい選択肢だと思います。おすすめです。
2011年1月27日木曜日
b-mobile SIM U300
b-mobileのU300を買ってみました。Nexus SはSIM Lock Freeなので、普通に使えます。SPEEDTEST.NETアプリで計測してみましたが、300Kbpsは出ないですね。そもそもTokyoの計測サーバに接続するとえらい遅いというか、不安定なので、Seoulのサーバに接続してみてます。結果は以下のとおり。3,4回やってみてこんなかんじですので、おそらく200Kbps程度ですね。1ヶ月の契約のSIMなので、気軽に試せるのはいいと思います。ですが、1ヶ月後は手持ちのiPhone4のSIMに入れ替えるだろうなぁ。。
iPhone4のSIMでパケ放題フルが適用されるか一度ためしてみたのですが、smile.worldでまったく問題なく接続できましたし、MySotfbankで料金の確認もしてみましたが、普通に割引が適用されていました。
Nesux S Kernel build and create my boot.img
わすれっぽい自分のために。。
1.事前準備
Ubuntu10.04をUbuntuのサイトから落としてVMWare Playerあたりをつかって、まずインストール。10.04からはsun-java6-jdkがaptでとれないので
2.Kernelのソースをダウンロード(for Nexus S)
3.boot.imgの作成
実機からboot.imgを取り出す。
mkbootimgでboot.imgを作成。zImageは自分でビルドしたもの、ramdiskイメージは、展開して取得したものを指定する。
myboot.imgがオリジナルのbootimageだ。
実機で試すには、Nexus Sをfastbootモードで起動して、kernelをUSB経由でアップして起動してみる。この方法だと、bootパーティションに書き込まずにテストできる。
ちなみに、username@hostname がバージョン情報に挿入されるので、オリジナルを主張したい人w
は、そのへん気をつけてbuildするといいだろう。
kernelが問題なく動作するようなら、焼きこんでみる。この作業を行う前にかならずbackupなどをとっておこう。思いもしない不具合に出くわすことだってある。
fastbootモードにして、、
Appendix
ramdiskを展開して中身をいじるには
固める
こうやって作成したkernelでいまは使ってみている。いまのところ不具合などはないけれど、文鎮化する可能性もあるので、同じことやってみようと思う人自己責任でお願いします。
1.事前準備
Ubuntu10.04をUbuntuのサイトから落としてVMWare Playerあたりをつかって、まずインストール。10.04からはsun-java6-jdkがaptでとれないので
add-apt-repository "deb http://archive.canonical.com/ lucid partner" sudo apt-get updateコンパイルに必要なパッケージを全部aptで導入する
sudo apt-get -y install git-core gnupg \ sun-java6-jdk flex bison gperf libsdl-devlibesd0-dev libwxgtk2.6-dev \ build-essential zip curl libncurses5-dev zlib1g-devvalgrind g++repoの導入
mkdir ~/bin curl http://android.git.kernel.org/repo >~/bin/repo chmod a+x ~/bin/repo export PATH=$PATH:~/bin (.bashrcなどに追加しておく) javaへパスを通す export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.**.** repoで取得、toolchainとかも降ってくるから必ず取得しておく repo init -u git://android.git.kernel.org/platform/manifest.git repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.1_r1 (2.3用) ※初回のみ repo syncしばらくまつ。。
2.Kernelのソースをダウンロード(for Nexus S)
git clone git://android.git.kernel.org/kernel/samsung.gitKernelのconfig cd samsung make ARCH=arm herring_defconfig (*)make menuconfig ARCH=arm (menuconfigもできるのでいじる人はこれやってもいい) makeする(とりあえず) make ARCH=arm CROSS_COMPILE=/home/creams/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-arch/arm/boot/arch/arm/boot/zImageが作成されていればOK。
3.boot.imgの作成
実機からboot.imgを取り出す。
adb shell su cat /dev/mtd/mtd2 > /sdcard/nexussboot.img exit adb pull /sdcard/nexussboot.img .split_bootimg.plをどこからか探して~/binあたりに保存しておく
$ split_bootimg.pl nexussboot.img Page size: 4096 (0x00001000) Kernel size: 2799472 (0x002ab770) Ramdisk size: 142442 (0x00022c6a) Second size: 0 (0x00000000) Board name: Command line: console=ttyFIQ0 no_console_suspend Writing nexussboot.img-kernel ... complete. Writing nexussboot.img-ramdisk.gz ... complete.カレントにboot.imgとkernelが展開される。consoleの部分を記録しておく。
mkbootimgでboot.imgを作成。zImageは自分でビルドしたもの、ramdiskイメージは、展開して取得したものを指定する。
mkbootimg --cmdline 'console=ttyFIQ0 no_console_suspend' \ --kernel zImage --base 0x30000000 --pagesize 4096 \ --ramdisk boot.img-ramdisk.gz -o myboot.img
myboot.imgがオリジナルのbootimageだ。
実機で試すには、Nexus Sをfastbootモードで起動して、kernelをUSB経由でアップして起動してみる。この方法だと、bootパーティションに書き込まずにテストできる。
adb reboot bootloader fastboot boot myboot.imgこれだと、Wifiが使えないはず(kernelが変更されているので)。SIMが刺さっていればそっちは通信できるはずなので、端末情報あたりを眺めてニヤニヤするw。オリジナルのkernelが適用されていれば、「カーネルバージョン」の項目が、変更されているのがわかる。
ちなみに、username@hostname がバージョン情報に挿入されるので、オリジナルを主張したい人w
は、そのへん気をつけてbuildするといいだろう。
kernelが問題なく動作するようなら、焼きこんでみる。この作業を行う前にかならずbackupなどをとっておこう。思いもしない不具合に出くわすことだってある。
fastbootモードにして、、
fastboot flash boot myboot.imgWifiを動作させるためには、Kernelをbuildしたときに出来ているmoduleに入れ替える必要がある。ファイルの場所は、samsung/drivers/net/wireless/bcm4329にあるbcm4329.ko。これを、実機の/system/modules/に転送する。
adb pull /system/modules/bcm4329.ko . adb shell su mount -o remount,rw -t ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system もしくは adb remount (unsecureなboot.imgのひとだけ) adb push bcm4329.ko /system/modulesかならずadb pullでバックアップとっておこう。
Appendix
ramdiskを展開して中身をいじるには
mkdir ramdisk cd ramdisk gunzip -c ../ramdisk.image.gz | cpio -iカレントディレクトリに展開されるので、いろいろいじる、前回のext4のオプションもinit.herring.rcあたりに設定しておく。
固める
find . | cpio -o -H newc | gzip > ../new.ramdisk.image.gzで、作成完了。あとはmkbootimgでmyboot.imgを作成して、実機bootしてみる。
こうやって作成したkernelでいまは使ってみている。いまのところ不具合などはないけれど、文鎮化する可能性もあるので、同じことやってみようと思う人自己責任でお願いします。
Nexus S Quadrant score with ext4 option tune.
Droid Xを手に入れたあたりから開発環境をととのえて、仕事のからみもあっていろいろ情報を収集してきましたが、Nexsusはbootloader周辺の構成とか、非常に開発に向いてる感じがして、いろいろいじくってはいます。nexusのカーネルのコードが公開されているようなので、仕事に必須なDevice Driverの組み込みや、ext4のmount optionなどをいじってみました。Quadrantのスコアは、低いほうがstockのbootimageでの結果、高いほうがext4のmount optionを調整したのみのbootimage。
お手軽に試すにはrootをとってる必要があるけど。下記のとおり。
mount -o remount,noauto_da_alloc -t ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system
mount -o remount,noauto_da_alloc -t ext4 /dev/block/platform/s3c-sdhci.0/by-name/userdata /data
不具合起きても責任はとれないので、own riskで。
ポイントとなるところはnoauto_da_allocで、ext4の遅延書き込みを制御するオプションだ。ただ、このオプションを適用してしまうと、遅延書き込みが有効な場面(どんな?)で、その機能が使えないということは念頭に置くべきだろう。実際Quadrantのスコアだけじゃわからない部分も多いです。
My Favorite Apps
ちょっとホームスクリーンを晒してみよう。基本的にLauncherProでまとめてますが、Beautiful Widgetもポイントです。
- LauncherPro / ADW
- BeautifulWidget (天気予報と時間)
- ServersMan for Android
- Advanced Task Killer Froyo
- Temp+CPU V2
- SetCPU
- WinAmp
- En2ch
- Staocks
- etc.
iPhoneがデビューしたときからiPhone3G->3GS->4 とつかってきてAndroidにはあまり食指がうごかなかったのですが、2010年の秋にひょんなことから、Droid Xを入手、すぐにNexus S入手という感じになったのは、やっぱりAndroidの勢いかな?
登録:
投稿 (Atom)