Open Source Gadgets/bc9

bc9用microSDイメージ作成手順

bc9 evaluation kit に添付している microSD の作成手順を記述します。(kernel 2.6.29 r3 version)

format

使用する microSD は 2Gです。
microSD の種類に関しては tips + mods を参照してください。
以下のように format します。

  • 第1パーティション  FAT16  1.5G
  • 第2パーティション  EXT3   0.5G

第1パーティションは kernel を置く他、andoid から mount され
メディアファイルの保存場所としても使用されるため大きめのサイズにしています。

microSD へのファイル配置

bc9/bc9-oe-sdkの /home/beat/microSD_image/ にあるファイルから microSD へ以下のように配置します。
(第1パーティションは作業マシンの /media/disk/ に、第2パーティションは作業マシンの /media/disk-1/ にマウントされている前提です。
 違う場所に mount されている場合は各自の環境に合わせて適宜読み替えて下さい。)

$ cp gumstix-factory.script /media/disk/
$ cp uImage-2.6.29-bc9-r3.bin /media/disk/uimage
$ sudo tar xvfz Angstrom-gumstix-directfb-image-glibc-ipk-2007.9-test-20090729-gumstix-custom-verdex.rootfs.tar.gz -C /media/disk-1/
$ sudo tar xvfz modules-2.6.29-bc9-r3.tgz -C /media/disk-1/

ファイルのコピー、展開が終わり用意ができたら bc9 に microSD を挿入し初回起動します。
初回起動時は USB 機器は挿さず、bc9 本体のみの状態で起動します。
初回起動時は ssh_key の生成や default の locale の設定が行われるので、やや時間が掛かります。
正常に起動・動作することを確認できれば OK です。

USB 動作確認

2.6.29 で起動している状態で USB-ether、USB-keyboard、USB-Flash-memory を接続してある USB-powerd-HUB を接続し、
正常に認識され使用できることを確認します。

audio 動作確認

bc9/bc9-oe-sdk の /home/beat/microSD_image/ipk/ にあるファイルを bc9 のファイルシステム上に scp などでコピーし、
以下のようにして install します。

$ ipkg install libid3tag0_0.15.1b-r0_iwmmxt.ipk
$ ipkg install libmad0_0.15.1b-r0_iwmmxt.ipk
$ ipkg install libaudiofile0_0.2.6-r6_iwmmxt.ipk
$ ipkg install libesd0_0.2.36-r2_iwmmxt.ipk
$ ipkg install madplay_0.15.2b-r0_iwmmxt.ipk

あるいは

$ ipkg install *.ipk

でもOKです。
インストール完了後 madplay で mp3 ファイルを再生し音が聞こえれば OKです。

emobile 動作確認

bc9/bc9-oe-sdk の /home/beat/microSD_image/ipk/ にある以下のファイルを bc9 のファイルシステム上に scp などでコピーし、
インストールします。

$ ipkg install ppp_2.4.3-r3_iwmmxt.ipk

以下のディレクトリを作成します。

$ mkdir /etc/ppp/peers/

/etc/ppp/peers/ に emobile という名称のファイルを以下の内容で作成します。

user "em@em"
connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T *99***1#"
/dev/ttyUSB0
115200

noipdefault
usepeerdns
defaultroute
persist
noauth

/etc/ に chatscripts/ を作成し作業マシン(Ubuntu)から /etc/chatscripts/pap をコピーします。

$ mkdir /etc/chatscripts/
$ scp beat@{IPaddress}:/etc/chatscripts/pap /etc/chatscripts/

以下のコマンドで接続、 IP 取得を確認し、確認後接続を終了します。

$ pon emobile
$ ifconfig
$ poff emobile

/etc/内のファイルの調整

以下のようにファイルを調整します。

  • /etc/hostname
    gumstix-custom-verdex を bc9 にします。
  • /etc/modprobe.d/ethernet.conf
    削除します。(netcf-vx など gumstix 製 board 用なので)
  • /etc/issue
  • /etc/issu.net
    .orig などを付けてリネームします(コンソールに build No などを表示させるものなので無効にする)
  • /etc/motd
    以下の内容に修正します。
Welcome to bc9!
For information on how to customize or update this software please visit:
http://labs.beatcraft.com
  • /etc/network/interfaces wlan0 と Bluetooth networking の設定を comment out し無効化します。
  • /etc/TZ
    以下の内容に変更します。
JST-9
  • /etc/profile
    末尾に以下の内容を追加します。
export TZ=JST-9

android-root の設定

microSD を再度作業マシンに mount し、
bc9/bc9-android-sdk の /home/beat/microSD_image/android-root/ を
コピーします。

$ sudo cp -a /home/beat/microSD_image/android-root -C /media/disk-1/

以下のファイルがあることを確認します。

$ cd /media/disk-1/android-root/system/etc/
$ lv vold.conf

(FAT16 の第1パーティションを mount する設定)

$ lv asound.conf
$ lv asound.state

bc9/bc9-android-sdk setup と同じ内容なら OKです。

$ cd /media/disk-1/android-root/
$ lv init.rc

alsa 用設定と bc9_leds 用 permission 設定があり、yaffs2 mount が comment out されていることを確認します。

$ lv default.prop

dns 設定が末尾に追加されていることを確認します。

android 起動確認

bc9 を microSD で起動し、以下のコマンドで android を起動します。

chroot /android-root /init

初回起動なのでやや時間をかけて起動、起動したら screen timeout になる前に

  • [Menu] - [Settings] - [Sound & display] - [Screen timeout] - [Never timeout]
    の設定変更を行います。
    電源を切る際は画面右上の赤い電源スイッチを下にして電源をOFFにします。

device_provisioned

microSD を再度作業PC でマウントし、
以下のように device_provisioned を行います。

# cd /media/disk-1/android-root/data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sqlite> insert into "secure" values(NULL,"device_provisioned", "1");
sqlite> .exit;

media file の配置

android の vold.conf で FAT16 の第1パーティションを mount する設定にしてありますので、
ここへ画像、 mp3、3gp ファイルを置くと android 上から利用できます。
サンプルとして、bc9/bc9-android-sdkの/home/beat/microSDimageにdroid-sample-media.tar.gz があります。
以下のようにコピーします。

$ sudo tar -C /media/disk/ -xvfz droid-sample-media.tar.gz

OpenEmbedded 環境 最終調整

microSD を再度 bc9 に挿して起動し、以下の script を作成します。

  • /home/root/lcd_never_sleep.sh
    #!/bin/sh
    echo -ne "\033[9;0]\033[14;0]" > /dev/tty0
    実行権を与えて実行すると、kernel 2.6.29 の場合 lcd が sleep になっていても再度 backlight が点灯します。
  • /home/root/start_android.sh
    #!/bin/sh
    /usr/sbin/chroot /android-root /init
  • /etc/init.d/android 
    permission は 755
    #!/bin/sh
    #
    # Start android by chroot
    #
     
    start() {
           echo "connecting emobile..."
           /usr/bin/pon emobile
    
           echo "Starting android..."
           /usr/sbin/chroot /android-root /init
     
    }
    stop() {                      
            echo "Stopping android..."
                 
    }              
    restart() {    
            stop   
            start                                 
    } 
    case "$1" in
      start)
            start
            ;;
      stop)                       
            stop                  
            ;;                    
      restart)   
            restart
            ;;  
      *)           
            echo $"Usage: $0 {start}"
            exit 1
    esac
    
    exit $?

android 最終動作確認

再度 android を起動し、
音楽アプリで jazz_funk_01.mp3 の id3tag が表示でき再生できること、
ギャラリーアプリで android-wallpaper1〜6が表示されること、
を確認し電源OFFにします。

以上でbc9用microSDイメージ作成手順は終了です。


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-08-20 (木) 15:55:16 (3739d)