[[bc10]] - こちらの項目は削除予定になります。~ - 2011年1月7日版が最新になります [[bc10/prebuilt-20110107]] をご覧ください。~ - 目次 #contents * 起動用SDカードの作成 [#v8dd3b7b] - Android が直接起動する prebuild のSDカードイメージを用意しています。~ 以下のURLからダウンロードできます。~ %%[[http://sourceforge.jp/projects/bc10-dev/releases/49211:http://sourceforge.jp/projects/bc10-dev/releases/49211]]%%~ http://sourceforge.jp/projects/bc10-dev/releases/49362/ - ダウンロードした %%bc10-boot-sd-image--release20101001.tar.gz%%~ bc10-boot-sd-image--release20101013.tar.gz を展開すると~ fat32.tar.gz ext3.tar.gz 上記の二つのアーカイブが入っています。~ それぞれをSDカードのFAT32パーティションとEXT3パーティションに書き込んで下さい。~ 書き込みの手順は以下のようになります。 ** SDカードのアンマウント [#ue56a41e] このあとパーティション操作やフォーマット作業をおこなうために、SDカードがマウントされている場合には、まずアンマウントをおこないます。~ ~ 以下のようにSDカードがマウントされているとします。~ $ [df -h] Filesystem Size Used Avail Use% Mounted on ... /dev/sdc1 400M 94M 307M 24% /media/disk ... アンマウントをおこないます。 $ [umount /media/disk] ** パーティションの初期化・設定 [#af6f410b] fdiskコマンドを実行します。~ 引数にはSDカードのデバイスファイルを指定します。この位置は作業環境によって変わりますので、事前に確認しておいてください。~ 以下は実行例です。 $ [sudo fdisk /dev/sdc] Command (m for help): [p] Disk /dev/sdc: 2021 MB, 2021654528 bytes 255 heads, 63 sectors/track, 245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 * 1 246 1974240+ c W95 FAT32 (LBA) Partition 1 has different physical/logical endings: phys=(244, 254, 63) logical=(245, 200, 19) パーティションを全て削除します。 Command (m for help): [d] Selected partition 1 エキスパートモードにモード変更します。 Command (m for help): [x] ヘッダ数を255に設定します。 Expert Command (m for help): [h] Number of heads (1-256, default xxx): [255] セクタ数を63に設定します。 Expert Command (m for help): [s] Number of sectors (1-63, default xxx): [63] シリンダ数の設定は使用するSDカードごとに異なります。 以下の計算式でシリンダ数を計算します。(小数点以下切り捨て) #シリンダ数 = 小数点以下切り捨て (SDカードのバイト数 / 255 / 63 / 512 ) 今回の例で使用しているSDカードでは以下のようになります。 2021654528 / 255 / 63 / 512 = 245.79 -> 245 シリンダ数を設定します。今回の例では245になります。 Expert Command (m for help): [c] Number of cylinders (1-256, default xxx): [上式で求めた値] ノーマルモードにモード変更します。 Expert Command (m for help): [r] FAT32パーティションを作成します。 Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [1] First cylinder (1-245, default 1): [(press Enter)] Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-245, default 245): [+50] Command (m for help): [t] Selected partition 1 Hex code (type L to list codes): [c] Changed system type of partition 1 to c (W95 FAT32 (LBA)) ブートフラグを設定します。 Command (m for help): [a] Partition number (1-4): [1] EXT3パーティションを作成します。 Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [2] First cylinder (52-245, default 52): [(press Enter)] Using default value 52 Last cylinder or +size or +sizeM or +sizeK (52-245, default 245): [(press Enter)] Using default value 245 パーティション設定を確認します。 Command (m for help): [p] Disk /dev/sdc: 2021 MB, 2021654528 bytes 255 heads, 63 sectors/track, 245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 * 1 51 409626 c W95 FAT32 (LBA) /dev/sdc2 52 245 1558305 83 Linux パーティションテーブルの変更を保存します。 Command (m for help): [w] The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. ** ファイルシステムのフォーマット [#d1524963] FAT32パーティションとEXT3パーティションをそれぞれフォーマットします。~ FAT32とEXT3の文字列の部分はパーティションのラベルになりますので、お好きな名前で設定してください。~ $ [sudo mkfs.msdos -F 32 /dev/sdc1 -n FAT32] mkfs.msdos 2.11 (12 Mar 2005) $ [sudo mkfs.ext3 -L EXT3 /dev/sdc2] mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 195072 inodes, 389576 blocks 19478 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=402653184 12 block groups 32768 blocks per group, 32768 fragments per group 16256 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: ** ファイルの配置 [#l35b3e60] イメージファイルをSDカードに配置します。~ まず、SDカードを挿しなおすなどして、再度マウントさせます。~ SDカードのマウントポイントはシステムの都合に合わせて読みかえてください。~ ***FAT32パーティションの配置 [#g32d86a9] FAT32パーティションのファイルには配置方法に制限がありますので、作業環境でアーカイブを一旦展開します。~ $ [tar xvfz fat32.tar.gz] 展開すると以下のファイルが含まれています。~ $ ls fat32 MLO boot.scr u-boot.bin uImage 1段目のブートローダであるX-Loader(MLO)は、SDカード上の配置方法に制限があります。必ず以下のように配置してください。 - FAT32パーティションのフォーマット後、最初に配置するようにします。 - パーティション内のトップディレクトリに配置します。 $ [cp MLO /media/FAT32/] 他のファイルには配置方法に特に制限はありません。そのままSDカード上にコピーしてください。 $ [cp u-boot.bin boot.scr uImage /media/FAT32/] 配置する順序を間違えたり、手順に失敗したりした場合には、FAT32パーティションのフォーマットからやり直すのが確実です。~ ***EXT3パーティションの配置 [#g73e209f] ext3パーティションの配置には特に制限はありませんので、アーカイブを直接SDカード上に展開します。 $ [sudo tar xvfz ext3.tar.gz -C /media/EXT3] ~ 以上で prebuild イメージのSDカード上への配置は完了です。~ 念のため sync を行ってからアンマウントしてください。 $ [sudo sync] $ [umount /media/EXT3] $ [umount /media/FAT32] * SDカードからの起動 [#w6faa303] 用意できたSDカードをbc10のSDカードスロットに挿入して電源を投入します。~ Androidは初回起動時にSQLite3設定DBの作成やDalvik EXecutable(.dex)ファイルの生成を行い~ それらの起動ディスクへの書き込みを行いますので、初回起動には少し長めに時間がかかります。