bc10/prebuilt-20110107
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[bc10]]
~
- 目次
#contents
* bc10/prebuilt-20110107 概要 [#ua4f8727]
COLOR(red){bc10/prebuilt-20110107は、AOSP android-2.2_r1....
[[bc10/froyo]]に追加修正を加えたandroid-2.2_r1.1 prebuilt...
作業の流れとして、以下の2つの項目に大きく分かれます。~
- [[prebuilt イメージの作成手順>http://labs.beatcraft.com...
-- イメージの作成手順では、 prebuilt-20110107 作成のため...
ビルド手順、無線LANのドライバーの追加方法について解説しま...
- [[prebuilt イメージの配置手順>http://labs.beatcraft.com...
イメージの配置手順では、prebuilt-20110107 のイメージ[[bc1...
ダウンロード、SDへの配置方法を説明します。~
* prebuilt イメージの作成手順 [#kceb09db]
* 開発環境 [#p209889b]
開発環境構築において重要な物は以下の3つです。~
-OS: Ubuntu 10.04(32bit版)~
-JAVA: java 1.5x ~
-Android Version: android-2.2_r1.1
** パッケージインストール [#de53ff68]
Ubuntuのリポジトリから必要なパッケージを取得してインスト...
$ sudo apt-get install git-core gnupg flex bison gperf l...
libwxgtk2.6-dev build-essential zip curl libncurses5-d...
** java5 [#ef8bd7c6]
android-2.2_r1.1のビルドに必要なsun-java5-jdkはUbuntu 9.1...
/etc/apt/sources.listに一時的に古いリポジトリを追加します...
$ sudo vi /etc/apt/sources.list
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid part...
deb http://archive.ubuntu.com/ubuntu lucid-security ma...
deb-src http://archive.ubuntu.com/ubuntu lucid-securit...
deb http://archive.ubuntu.com/ubuntu lucid-security un...
deb http://archive.ubuntu.com/ubuntu lucid-security mu...
+ deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiv...
+ deb http://us.archive.ubuntu.com/ubuntu/ jaunty-update...
追加完了後、apt-get updateコマンドでリポジトリ情報の取得...
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
インストール完了後、誤って他の古いパッケージをインストー...
$ sudo vi /etc/apt/sources.list
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid part...
deb http://archive.ubuntu.com/ubuntu lucid-security ma...
deb-src http://archive.ubuntu.com/ubuntu lucid-securit...
deb http://archive.ubuntu.com/ubuntu lucid-security un...
deb http://archive.ubuntu.com/ubuntu lucid-security mu...
- deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiv...
- deb http://us.archive.ubuntu.com/ubuntu/ jaunty-update...
もう一度apt-get updateで現状のリポジトリ情報の取得をして...
$ sudo apt-get update
* Android ソースファイル取得 [#nea0dd19]
** repo 設定 [#o0b0c850]
Androidのソースコードを取得するためにrepoの設定を行います...
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
Ubuntuでは一度ログアウトしてログインし直すと~/binへのPATH...
ログアウトせずそのまま作業したい場合は、以下のようにして~...
$ export PATH=~/bin:$PATH
** repo 初期化 [#y1d65e4e]
bc10というandroidソースファイル用ディレクトリを作成し、an...
を取得するためにrepo initを実行します。~
$ cd ~
$ mkdir bc10
$ cd bc10
$ repo init -u git://android.git.kernel.org/platform/man...
** local_manifest.xml の追加 [#u4bf5191]
android-2.2_r1.1 tagで取得できるソースコード内にはALSAが...
音声ライブラリにALSAを使用するためbc10/.repo/以下にlocal_...
local_manifest.xmlにALSA関連ファイルを追加しソースコード...
~
また ALSA 関連ファイルにはandroid-2.2_r1.1 tagが切られて...
$ vi .repo/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="external/alsa-lib" name="platform/exter...
<project path="external/alsa-utils" name="platform/ext...
<project path="hardware/alsa_sound" name="platform/har...
</manifest>
** repo sync [#i804a5a7]
local_manifest.xmlの追加後repo syncを実行し、androidのソ...
$ repo sync
2〜4GBのファイルをダウンロードしますので回線速度に応じて...
* bc10 用ビルド設定ファイルの適用 [#nc942ebf]
android-2.2_r1.1をbc10向けに最適化してビルドするためのpat...
githubのリポジトリからgit cloneで取得し、patch_to_android...
実行します。~
$ cd ~
$ git clone git://github.com/bc-dev/patch_to_android-2.2...
$ cd patch_to_android-2.2_r1.1_for_b10
git cloneで取得する場所はどこでも構いませんが、bc10-patch...
bc10-patch.shの中の以下の環境変数をファイルのPATHに合うよ...
$ vi bc10-patch.sh
### Settings
ANDROID_DIR=${HOME}/bc10
SETUP_DIR=${HOME}/patch_to_android-2.2_r1.1_for_b10
PATCH_DIR=${SETUP_DIR}/patches-for-bc10
ファイルのPATH指定を確認後bc10-patch.shを実行します。~
$ ./bc10-patch.sh
* Android ビルド [#abc9999a]
bc10用の環境設定をします。~
$ cd ~/bc10
$ source build/envsetup.sh
$ lunch bc10-eng
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2
TARGET_PRODUCT=bc10
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRF91
============================================
上記のように設定確認後makeを実行します。~
$ make
** イメージ作成 [#j4b9ee56]
ビルドが終了したらビルドされたuserlandのバイナリを起動可...
userlandを整えるスクリプトmkbc10-image.shを使用します。~
$ cd ~/patch_to_android-2.2_r1.1_for_b10
$ ./mkbc10-image.sh
実行すると以下のようにbc/out/target/product/bc10/にbc10-i...
ディレクトリが作成されます。~
このbc10-imageディレクトリ内にandroid userlandが配置され...
/home/beat/bc10/out/target/product/bc10
mkdir android for android-rfs
/home/beat/bc10/out/target/product/bc10
copy android-root
copy android-system
change permission and owner
[sudo] password for beat:
$ cd ~/bc10/out/target/product/bc10
$ ls -l
-rw-r--r-- 1 beat beat 7 2010-08-27 23:37 androi...
drwxrwxrwx 8 root root 4096 2010-08-30 11:34 bc10-i...
-rw-r--r-- 1 beat beat 8866 2010-08-27 21:16 clean_...
drwxr-xr-x 3 beat beat 4096 2010-08-27 21:54 data
-rw-r--r-- 1 beat beat 22869 2010-08-27 23:37 instal...
drwxr-xr-x 13 beat beat 4096 2010-08-27 23:28 obj
-rw-r--r-- 1 beat beat 189 2010-08-27 21:16 previo...
-rw-r--r-- 1 beat beat 163811 2010-08-27 23:37 ramdis...
drwxr-xr-x 8 beat beat 4096 2010-08-27 21:54 root
drwxr-xr-x 4 beat beat 4096 2010-08-27 21:54 symbols
drwxr-xr-x 11 beat beat 4096 2010-08-27 23:17 system
-rw------- 1 beat beat 78486144 2010-08-27 23:37 system...
-rw------- 1 beat beat 1522752 2010-08-27 23:37 userda...
$ cd bc10-image
$ ls -l
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 data
-rwxrwxrwx 1 root root 118 2010-08-27 21:54 default....
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 dev
-rwxrwxrwx 1 root root 107440 2010-08-27 21:54 init
-rwxrwxrwx 1 root root 1677 2010-08-27 20:53 init.gol...
-rwxrwxrwx 1 root root 197 2010-08-24 20:58 init.oma...
-rwxrwxrwx 1 root root 13605 2010-08-24 20:58 init.rc
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 proc
drwxrwxrwx 2 root root 4096 2010-08-27 21:54 sbin
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 sys
drwxrwxrwx 11 root root 4096 2010-08-30 11:34 system
* kernel ビルド [#fed99519]
**環境変数設定 [#x363e564]
bootに必要なx-loader、u-boot、kernelは全てandroidのソース...
共に配布されているtoolchainを使用してビルドします。~
ここでは、prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin...
~
ビルド時にこのtoolchainを使ってcross compileが行われるよ...
$ export PATH=/home/beat/bc10/prebuilt/linux-x86/toolcha...
$ export ARCH=arm
$ export CROSS_COMPILE=arm-eabi-
** kernel [#m4983c49]
$ cd ~
$ git clone git://gitorious.org/~bc-dev/rowboat/bc10-row...
$ cd bc10-rowboat-kernel/
bc10向けリリースブランチに切り替えます。~
$ git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリにuImageが作成されます。~
$ ls ~/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
* USB Wifi (RT3070USB) ドライバー ビルド [#qef844a3]
USB Wifiに対応する為にRT3070USBのドライバーを追加します。~
動作を確認したデバイスは以下のとおりです。~
COLOR(red){ 一部デバイスに対応中の箇所があります。予告無...
メーカー 型番 対応 Device ID 備考
PLANEX GW-USMicroN-G 2019:ED14
Logitec LAN-W150N/U2IPH 0789:0164
Logitec LAN-W150N/U2BK 0789:0168
Buffalo WLI-UC-GNM 0411:01a2
Buffalo WLI-UC-G301N 0411:016f Baffalo W...
Buffalo WLI-UC-GN 0411:015d
ここでは、RT3070USBを使用している上記のBaffalo社製の無線L...
~
ドライバーは[[RALINK Web>http://www.ralinktech.com/suppor...
2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2を使用します。~
あわせて ファームウェア RT28XX/RT30XX USB series (RT2870/...
(ファームウェアはドライバーのアーカイブ内にも同梱されて...
~
ソースコード及びファームウェアの入手はメールアドレスと氏...
ダウンロードしてきたファイルは/home/beat/に置くものとして...
~
またtoolchainは上記 kernelビルド時に設定したAndroidソース...
prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/binを使用しま...
~
prebuilt イメージはビルド時にos/linux/config.mkを' WFLAGS...
修正していますのでdebugログが表示されません。~
debugログが出力されないため接続できない際に必要なログが表...
~
debugログを出力する場合は os/linux/config.mk の該当箇所を...
してソースファイルをビルドし、ファイルの再配置を行ってく...
この変更によって debug ログが出力されるようになります。~
ただしコンソールに電波状態など大量の debug ログが出力され...
~
以下の patch を当てることで bc10 向けにクロスコンパイルで...
変更内容は、~
・bc10 向けのコンパイル設定の追加(platform、toolchain の...
・ファームウェアのリージョン設定を日本にし、設定項目例を...
・USB Wifi のベンダーID、製品IDの追加~
です。~
#ref(2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2)~
#ref(RT3070USB.diff)~
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/Makefil...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/Makefile ...
@@ -15,7 +15,8 @@ endif
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)
#PLATFORM: Target platform
-PLATFORM = PC
+#PLATFORM = PC
+PLATFORM = BC10
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
#PLATFORM = IKANOS_V180
@@ -147,6 +148,11 @@ LINUX_SRC_MODULE = /lib/modules/$(s...
CROSS_COMPILE =
endif
+ifeq ($(PLATFORM),BC10)
+LINUX_SRC = /home/beat/prebuilt-20101227/bc10-rowboat-k...
+CROSS_COMPILE = /home/beat/prebuilt-20101227/bc10/prebu...
+endif
+
ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux...
CROSS_COMPILE = arm-linux-
@@ -347,6 +353,9 @@ ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apst...
endif
else
+ifeq ($(PLATFORM),BC10)
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) ...
+else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko ...
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta...
@@ -355,7 +364,7 @@ endif
endif
endif
endif
-
+endif
release:
ifeq ($(TARGET), LINUX)
@@ -388,6 +397,9 @@ endif
$(MAKE) -C os/linux clean
rm -rf os/linux/Makefile
endif
+ifneq ($(TARGET),THREADX)
+ $(MAKE) -C tools clean
+endif
ifeq ($(TARGET), UCOS)
$(MAKE) -C os/ucos clean MODE=$(RT28xx_MODE)
endif
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
ux_STA_v2.4.0.1_DPO/RT2870STA.dat
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/RT2870S...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/RT2870STA.da...
@@ -1,10 +1,12 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
-CountryRegionABand=7
-CountryCode=
+#CountryRegionABand=7
+#CountryCode=
+CountryRegionABand=1
+CountryCode=JP
ChannelGeography=1
-SSID=11n-AP
+SSID=ssidname
NetworkType=Infra
WirelessMode=5
Channel=0
@@ -18,9 +20,9 @@ TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
-AuthMode=OPEN
-EncrypType=NONE
-WPAPSK=
+AuthMode=authtype
+EncrypType=encrptype
+WPAPSK=passname
DefaultKeyID=1
Key1Type=0
Key1Str=
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/common/...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/common/rtusb...
@@ -107,8 +107,14 @@ USB_DEVICE_ID rtusb_dev_id[] = {
{USB_DEVICE(0x13D3,0x3321)}, /* Azurewave */
{USB_DEVICE(0x07FA,0x7712)}, /* Edimax */
{USB_DEVICE(0x0789,0x0166)}, /* Edimax */
- {USB_DEVICE(0x0DB0,0x822B)}, /* MSI 3070*/^M
- {USB_DEVICE(0x0DB0,0x871B)}, /* MSI 3070*/
+ {USB_DEVICE(0x0DB0,0x822B)}, /* MSI 3070*/
+ {USB_DEVICE(0x2019,0xED14)}, /* PLANEX*/
+ {USB_DEVICE(0x2019,0xAB29)}, /* PLANEX*/
+ {USB_DEVICE(0x0789,0x0164)}, /* Logitec*/
+ {USB_DEVICE(0x0789,0x0168)}, /* Logitec*/
+ {USB_DEVICE(0x0411,0x01a2)}, /* Buffalo*/
+ {USB_DEVICE(0x0411,0x016f)}, /* Buffalo*/
+ {USB_DEVICE(0x0411,0x015d)}, /* Buffalo*/
#endif // RT3070 //
#ifdef RT3370
{USB_DEVICE(0x148F,0x3370)}, /* Ralink 3370 */
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/os/linu...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/os/linux/con...
@@ -26,7 +26,7 @@ HAS_WDS=n
HAS_APCLI=n
# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
@@ -149,6 +149,7 @@ endif
ifeq ($(RT28xx_MODE),STA)
-WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
+#WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
+WFLAGS += -DCONFIG_STA_SUPPORT
ifeq ($(HAS_XLINK),y)
WFLAGS += -DXLINK_SUPPORT
@@ -545,6 +546,10 @@ ifeq ($(PLATFORM),PC)
endif
endif
+ifeq ($(PLATFORM),BC10)
+EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -DMOD...
+endif
+
#If the kernel version of RMI is newer than 2.6.27, ple...
ifeq ($(PLATFORM),RMI)
EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 -I$(LINUX_SRC)/...
-I$(RT28xx_DIR)/include -Wall -Wstrict-...
-DCONFIG_IFX_ALG_QOS -DCONFIG_WAN_VLAN_...
-mno-abicalls -mlong-calls -pipe -finli...
-march=xlr -ffreestanding-march=xlr -Wa...
(上記の EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 から $(W...
以下のようにアーカイブの展開、patch 後 makeを実行します。...
$ cd ~
$ tar xvfj 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2
$ patch -p0 < RT3070USB.diff
$ cd 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/
$ make
$ ls -l os/linux/rt3370sta.ko
-rw-r--r-- 1 beat beat 10746686 2011-01-05 12:42 os/linu...
** USB Wifi (RT3070USB) ドライバー 配置について [#adbdb5c3]
- rt3370sta.ko~
上記で作成したドライバーファイルrt3370sta.koを~
android userlandのあるbc10/out/target/product/bc10/bc10-i...
modules/というディレクトリを作成し配置します。~
~
- RT2870STA.dat~
Wifiの設定ファイル RT2870STA.dat に、SSID、認証形式、パス...
同じくbc10/out/target/product/bc10/bc10-image/system/etc/~
にWireless/RT2870STAというディレクトリを作成し配置します。~
設定方法の詳細についてはREADME_STA_usbをご覧ください。~
- rt2870.bin ~
ファームウェアrt2870.binとLICENSE.ralink-firmware.txtを同...
firmware/というディレクトリを作成し配置します。~
ファイルのオーナーと権限はmkbc10-image.shにあわせてrootと...
$ sudo mkdir ~/bc10/out/target/product/bc10/bc10-image/s...
$ sudo mkdir -p ~/bc10/out/target/product/bc10/bc10-imag...
$ sudo cp -afr os/linux/rt3370sta.ko ~/bc10/out/target/p...
$ sudo cp -afr RT2870STA.dat ~/bc10/out/target/product/b...
$ cd ~
$ unzip RT2870_Firmware_V22.zip
$ cd RT2870_Firmware_V22/
$ sudo mkdir ~/bc10/out/target/product/bc10/bc10-image/s...
$ sudo cp -afr * ~/bc10/out/target/product/bc10/bc10-ima...
$ sudo chown -R root.root ~/bc10/out/target/product/bc10...
$ sudo chmod -R 777 ~/bc10/out/target/product/bc10/bc10-...
* SGX SDK のビルド [#g555a2b6]
[[bc10/froyo]]と同じ手順でTI Android SGX SDKを取得します。~
~
(注):~
- 取得完了までに時間がかかることがあります。~
- [[bc10/froyo]]にてOMAP35x_Android_Graphics_SDK_3_01_00_...
同じファイルなので転用しても問題ありません、Rules.makeの...
注意してください。再度ダウンロードの際は任意にバックアッ...
- kernelもしくはAndroid userlandの入れ替えを行う際はkerne...
$ cd ~
$ git clone git://gitorious.org/rowboat/ti_android_sgx_s...
$ cd ti_android_sgx_sdk/
$ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
インストールディレクトリ位置を聞かれるので今回はデフォル...
の${HOME}/OMAP35x_Android_Graphics_SDK_3_01_00_03 を指定...
${HOME}は、ホームディレクトリーの意味で、/home/beatを指し...
(以降、ホームディレクトリーは、/home/beatを指します。)~
~
[[To download TI's Android SGX SDK>http://code.google.com...
~
** Rules.make の変更 [#ke48d729]
Rules.make のHOME、GRAPHICS_INSTALL_DIR、ANDROID_ROOT、CS...
KERNEL_INSTALL_DIRをそれぞれのファイルPATHに合うよう修正...
以下のRules.makeは上記ビルド時の設定にあわせています。~
ANDROID_ROOTはmkbc10-image.shで作成したbc10-imageのディレ...
にあわせています。~
$ cd ~/OMAP35x_Android_Graphics_SDK_3_01_00_03
--- Rules.make 2011-01-05 14:20:43.863788943 +0900
+++ Rules.make-orig 2011-01-05 14:17:04.661291128 +0...
@@ -4,24 +4,20 @@ PLATFORM=LinuxOMAP3
################# FIELDS MODIFIABLE BY THE USER #######...
#set home area HOME (relative location for all SDK oper...
-#HOME=INVALIDVAL
-HOME=/home/beat/prebuilt-20101227
+HOME=INVALIDVAL
#Current Directory where Graphics SDK is installed
GRAPHICS_INSTALL_DIR=$(HOME)/OMAP35x_Android_Graphics_S...
#Android Specific
#Path of Android Root FS
-#ANDROID_ROOT=$(HOME)/INVALIDVAL
-ANDROID_ROOT=$(HOME)/bc10/out/target/product/bc10/bc10-...
+ANDROID_ROOT=$(HOME)/INVALIDVAL
#set toolchain root path for arm-eabi
-#CSTOOL_DIR=INVALIDVAL
-CSTOOL_DIR=$(HOME)/bc10/prebuilt/linux-x86/toolchain/ar...
+CSTOOL_DIR=INVALIDVAL
CSTOOL_PREFIX=arm-eabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin
CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnue...
#set the kernel installation path
-#KERNEL_INSTALL_DIR=$(HOME)/INVALIDVAL
-KERNEL_INSTALL_DIR=$(HOME)/bc10-rowboat-kernel
+KERNEL_INSTALL_DIR=$(HOME)/INVALIDVAL
TARGETFS_INSTALL_DIR=$(ANDROID_ROOT)
GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/mo...
RULEs.make変更完了後make、make installを実行します。~
$ make
$ make OMAPES=3.x install
** u-boot [#w583bb25]
u-boot-bc10のアップデートにより、有機ELを表示デバイスの初...
予め組込むように修正しています。~
またアップデート後のbc10起動時の入力待機時間を10秒から2秒...
$ cd ~
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ cd u-boot-bc10
$ make mrproper
$ make omap3_bc10_config
$ make
有機ELを表示デバイスの初期値とする設定はu-boot-bc10内の~
include/configs/omap3_bc10.hに以下のように記載しています。~
u-boot-bc10/include/configs$ vi omap3_bc10.h
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x82000000\0" \
"usbtty=cdc_acm\0" \
"console=ttyS2,115200n8\0" \
"androidconsole=ttyS2\0" \
"mem=256M\0" \
"vram=12M\0" \
"dvimode=1024x768MR-24@60\0" \
"defaultdisplay=lcd\0" \
"mmcroot=/dev/mmcblk0p2 rw\0" \
"mmcrootfstype=ext3 rootwait\0" \
"nandroot=/dev/mtdblock4 rw\0" \
これは、以下のboot.scr と同じ内容になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
ビルド後u-boot.binはSDカードFATパーティションにMLOファイ...
SDカードイメージ作成についてはページ下部にあります[[SDカ...
** x-loader [#r82ab56e]
$ cd ~
$ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-l...
$ cd x-load-bc10
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
x-load.binはOMAP BootROMの仕様とフォーマットが合っていな...
SDカードに書きこんでもブートローダとして動作させることが...
この問題を解決するため、signGPというツールでx-load.binを...
~
signGPの実行ファイルは以下の場所からダウンロードすること...
http://beagleboard.googlecode.com/files/signGP ~
ダウンロードしたsignGPを以下のように実行します。~
$ signGP x-load.bin
ビルド後作成されたx-load.bin.iftはMLOという名前に変更しま...
MLOはSDカードFATパーティションの先頭に書き込むためのファ...
SDカードイメージ作成についてはページ下部にあります[[SDカ...
$ mv x-load.bin.ift MLO
以上の作成ファイルを圧縮したものが prebuilt イメージにな...
* prebuilt イメージの配置手順 [#zabf94e9]
* prebuilt-image [#ab8cb783]
上記手順にて作成したイメージを sourceforge.jp からダウン...
http://sourceforge.jp/projects/bc10-dev/downloads/50494/b...
ダウンロードしてきたファイルはホームディレクトリに置くも...
bc10-boot-sd-image--release20110107.tar.gz を展開すると ~
FAT.tar.gz
EXT3.tar.gz
上記の二つのアーカイブが入っています。 ~
それぞれをSDカードのFAT32パーティションとEXT3パーティショ...
書き込みの手順は以下のようになります。~
* SD カードイメージ作成 [#o13ac30f]
[[bc10/booting 起動用SDカード作成 >http://labs.beatcraft....
手順に従って作成していきます。~
この作成手順はSDカード用です。~
bc10は、設計上マイクロSDからのブートは出来ません。~
~
SDカードの概略は以下のようになります。~
- FAT32パーティション
-- X- Loader
-- U-Boot
-- Linux kernel
- Linuxパーティション
-- Linuxルートファイルシステム
作業環境はLinuxを想定しています。~
作業手順は以下のようになります。~
+ パーティションの初期化・設定
+ ファイルシステムのフォーマット
+ ファイルの配置
以下の説明は主に[[LinuxBootDiskFormat(code.google.com):...
** SDカードのアンマウント [#s015a679]
このあとパーティション操作やフォーマット作業をおこなうた...
SDカードがマウントされている場合には、まずアンマウントを...
以下のようにSDカードがマウントされているとします。~
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdc1 400M 94M 307M 24% /media/disk
...
アンマウントをおこないます。~
$ umount /media/disk
** パーティションの初期化・設定 [#y9078f7c]
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 ...
/dev/sdc1 * 1 246 1974240+ c ...
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カードのバイト数 / 2...
今回の例で使用している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, defau...
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]
Linuxのファイルシステム用パーティションを作成します。
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, defa...
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 ...
/dev/sdc1 * 1 51 409626 c ...
/dev/sdc2 52 245 1558305 83 ...
パーティションテーブルの変更を保存します。
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 erro...
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 additio...
information.
Syncing disks.
** ファイルシステムのフォーマット [#g51c7516]
FAT32パーティションとLinuxパーティションをそれぞれフォー...
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 informatio...
* prebuilt-image のファイルの配置 [#a5b17eea]
**FAT32パーティションへのファイルの配置 [#g32d86a9]
FAT32パーティションのファイルには配置方法に制約があります...
作業環境でアーカイブを一旦展開します。~
$ mkdir FAT
$ [tar xvfz FAT.tar.gz -C FAT]
展開すると以下のファイルが含まれています。~
$ ls FAT.tar.gz
%% MLO boot.scr u-boot.bin uImage %%
MLO u-boot.bin uImage
1段目のブートローダであるX-Loader(MLO)は、SDカード上の配...
必ず以下のように配置してください。~
- FAT32パーティションのフォーマット後、最初に配置するよう...
- パーティション内のトップディレクトリに配置します。
$ [cp MLO /media/FAT32/]
他のファイルには配置方法に特に規則はありません。そのままS...
$ [cp u-boot.bin boot.scr uImage /media/FAT32/]
配置する順序を間違えたり、手順に失敗したりした場合には、~
FAT32パーティションのフォーマットからやり直すのが確実な手...
**EXT3パーティションへの配置 [#g73e209f]
EXT3パーティションへの配置には特に制限はありませんので、...
$ [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 EXecutab...
それらの起動ディスクへの書き込みを行いますので、初回起動...
~
起動時間は初回起動には約1分40秒程度、2回目以降は50秒程度...
* 補足 [#ceeee919]
** ボタン配置について [#q4e5c3ef]
bc10の本体正面右側に7つのボタンがあります。~
図a.の数字で示した各ボタンは、以下ように予め設定してあり...
(図のbc10 筐体は試作用筐体です)~
1. Menu
2. Back
3. Home
4. 上
5. 左
6. 右
7. 下
#ref(keypad_android.jpg);
~
** Android SGX について [#b80953e2]
init.rcの最終行に記載のとおりSGX機能が有効の設定になって...
不要の場合はコメントアウトで無効にしてください。~
またkernel、userland更新時は更新されたkernel、userlandを~
含むSGXのリビルドが必要になります。~
$ vi init.rc
# Start PowerVR SGX DDK
service pvr /system/bin/sgx/rc.pvr start
** bc10 Wifi 設定手順 [#a7be2574]
Android GUI上からのWifi ON/OFF機能を実装していません。~
起動の際にシリアルでinsmod 、netcfgコマンドで動作確認をし...
対象は、RT3070USB搭載の以下の機器になります。~
メーカー 型番 対応 Device ID
PLANEX GW-USMicroN-G 2019:ED14
Logitec LAN-W150N/U2IPH 0789:0164
Logitec LAN-W150N/U2BK 0789:0168
Buffalo WLI-UC-GNM 0411:01a2
Buffalo WLI-UC-GN 0411:015d
Buffalo WLI-UC-G301N 0411:016f Baffalo W...
上記のRT3070USBデバイスをbc10に接続し起動します。~
デバイスが認識された場合、シリアルコンソールに以下のよう...
(WLI-UC-GNでの接続例)~
...
usb 1-2.4: new high speed USB device using ehci-omap and...
usb 1-2.4: New USB device found, idVendor=0411, idProduc...
usb 1-2.4: New USB device strings: Mfr=1, Product=2, Ser...
usb 1-2.4: Product: 802.11 n WLAN
usb 1-2.4: Manufacturer: Ralink
usb 1-2.4: SerialNumber: 1.0
...
rt3070sta.koファイルをinsmodし、netcfgコマンドでデバイス...
RT2870STA.datはファイル内で指定したSSIDへの接続に使用しま...
以下にシリアルコンソールからのnetcfg dhcp接続までの例を記...
(出力されるログは省略しています。また、/system/lib/modul...
# cd /system/lib/modules
# ls
RT2870STA.dat rt3370sta.ko
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
# insmod rt3070sta.ko
...
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
# netcfg ra0 up
...
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 UP 0.0.0.0 0.0.0.0 0x00001043
# netcfg ra0 dhcp
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 UP 192.168.13.4 255.255.255.0 0x00001043
#
prebuiltイメージのRT2870STA.datは以下のように設定していま...
お使いの環境に合わせて設定してください。~
~
また接続設定例として以下にSSID:XXX-BC、認証方式:AuthMode ...
暗号化方式:EncrypType WEP、暗号キーの文字タイプ:Key1Type ...
暗号キー:Key1Str xxx.testessidの接続設定例を記載します。~
~
詳細については2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/REA...
をご覧ください。~
- RT2870STA.dat
...
SSID=ssidname
NetworkType=Infra
WirelessMode=5
Channel=0
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=authmodetype
EncrypType=encyptype
WPAPSK=
DefaultKeyID=1
Key1Type=0
Key1Str=
...
- 接続設定例
SSID=XXX-BC
...
AuthMode=OPEN
EncrypType=WEP
WPAPSK=
DefaultKeyID=1
Key1Type=1
Key1Str=xxx.testessid
Key2Type=0
** USB Wifi (RT3070USB) ドライバーについて [#nd94ed05]
prebuiltイメージでは' WFLAGS += -DCONFIG_STA_SUPPORT 'と...
debug ログが出力されないため必要なログが表示されないこと...
~
またオリジナルのos/linux/config.mkでは ' WFLAGS += -DCONF...
なっていてdebugログを出力するように設定しています。~
使用の際 シリアルに多くのログが表示され使いにくい場合があ...
~
$ vi os/linux/config.mk
# config for STA mode
ifeq ($(RT28xx_MODE),STA)
WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
また以下のURLにrt3370sta.koのdebugプリント版rt3370sta.ko....
使用される際は、ダウンロードしsystem/lib/modulesにある同...
入れ替えて使用してください。~
http://sourceforge.jp/projects/bc10-dev/releases/50494 ~
~
以下は、RT3070USB を bc10 に挿し insmod rt3370sta.ko を実...
シリアルに表示されたログです。~
- ' WFLAGS += -DCONFIG_STA_SUPPORT -DDBG ' 時のログ ~
# insmod rt3370sta.ko
rtusb init --->
===>rt2870_probe()!
--> RTMPAllocAdapterBlock
=== pAd = d284d000, size = 503240 ===
<-- RTMPAllocAdapterBlock, Status=0
NumEndpoints=7
BULK IN MaxPacketSize = 512
EP address = 0x81
BULK OUT MaxPacketSize = 512
EP address = 0x 1
BULK OUT MaxPacketSize = 512
EP address = 0x 2
BULK OUT MaxPacketSize = 512
EP address = 0x 3
BULK OUT MaxPacketSize = 512
EP address = 0x 4
BULK OUT MaxPacketSize = 512
EP address = 0x 5
BULK OUT MaxPacketSize = 512
EP address = 0x 6
STA Driver version-2.4.0.1
NVM is EEPROM
Allocate a net device with private data size=0!
Allocate net device ops success!
The name of the new ra interface is ra0...
RtmpOSNetDevAttach()--->
<---RtmpOSNetDevAttach(), ret=0
<===rt2870_probe()!
usbcore: registered new interface driver rt2870
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
- ' WFLAGS += -DCONFIG_STA_SUPPORT ' 時のログ ~
# insmod rt3370sta.ko
rtusb init --->
usbcore: registered new interface driver rt2870
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
** boot.scr について [#j14f31cf]
u-boot-bc10のアップデートにより、有機ELを表示デバイスの初...
u-boot-bc10内のinclude/configs/omap3_bc10.hに以下のように...
そのため boot.scrがこのバージョンでは含まれていません。~
また同じ内容の設定をboot.scrに記載し起動することも可能で...
その際は、u-boot.binの設定をboot.scrの設定で上書きして起...
有機ELを表示デバイスの初期値とする設定のboot.scrは以下の...
$ cd ~
$ vi boot.script
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 con...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init r...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
またdvi接続での起動の際は上記boot.scrのomapdss.def_disp=l...
解像度を設定してください。~
解像度は1024x768での動作確認になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=dvi'
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
omapfb.modeやomapdssの詳細については、kernelソースファイ...
kernel/Documentation/arm/OMAP/DSSをご覧ください~
* 参照URL [#e90654f8]
- rowboat ConfigureAndBuild ~
-- http://code.google.com/p/rowboat/wiki/ConfigureAndBuil...
- [Armadillo:06309] Re: Armadillo-440 で使用可能な無線LA...
-- http://lists.atmark-techno.com/pipermail/armadillo/201...
* 更新記録 [#qcd29268]
2011/01/07 初稿記載、文言修正~
2011/01/12 ボタン配置について追記、USB Wifi (RT3070USB) ...
2011/01/13 boot.scr について追記~
2011/02/01 文言追加、修正~
2011/02/04 u-boot、boot.scrについて文言追加と修正
終了行:
[[bc10]]
~
- 目次
#contents
* bc10/prebuilt-20110107 概要 [#ua4f8727]
COLOR(red){bc10/prebuilt-20110107は、AOSP android-2.2_r1....
[[bc10/froyo]]に追加修正を加えたandroid-2.2_r1.1 prebuilt...
作業の流れとして、以下の2つの項目に大きく分かれます。~
- [[prebuilt イメージの作成手順>http://labs.beatcraft.com...
-- イメージの作成手順では、 prebuilt-20110107 作成のため...
ビルド手順、無線LANのドライバーの追加方法について解説しま...
- [[prebuilt イメージの配置手順>http://labs.beatcraft.com...
イメージの配置手順では、prebuilt-20110107 のイメージ[[bc1...
ダウンロード、SDへの配置方法を説明します。~
* prebuilt イメージの作成手順 [#kceb09db]
* 開発環境 [#p209889b]
開発環境構築において重要な物は以下の3つです。~
-OS: Ubuntu 10.04(32bit版)~
-JAVA: java 1.5x ~
-Android Version: android-2.2_r1.1
** パッケージインストール [#de53ff68]
Ubuntuのリポジトリから必要なパッケージを取得してインスト...
$ sudo apt-get install git-core gnupg flex bison gperf l...
libwxgtk2.6-dev build-essential zip curl libncurses5-d...
** java5 [#ef8bd7c6]
android-2.2_r1.1のビルドに必要なsun-java5-jdkはUbuntu 9.1...
/etc/apt/sources.listに一時的に古いリポジトリを追加します...
$ sudo vi /etc/apt/sources.list
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid part...
deb http://archive.ubuntu.com/ubuntu lucid-security ma...
deb-src http://archive.ubuntu.com/ubuntu lucid-securit...
deb http://archive.ubuntu.com/ubuntu lucid-security un...
deb http://archive.ubuntu.com/ubuntu lucid-security mu...
+ deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiv...
+ deb http://us.archive.ubuntu.com/ubuntu/ jaunty-update...
追加完了後、apt-get updateコマンドでリポジトリ情報の取得...
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
インストール完了後、誤って他の古いパッケージをインストー...
$ sudo vi /etc/apt/sources.list
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid part...
deb http://archive.ubuntu.com/ubuntu lucid-security ma...
deb-src http://archive.ubuntu.com/ubuntu lucid-securit...
deb http://archive.ubuntu.com/ubuntu lucid-security un...
deb http://archive.ubuntu.com/ubuntu lucid-security mu...
- deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiv...
- deb http://us.archive.ubuntu.com/ubuntu/ jaunty-update...
もう一度apt-get updateで現状のリポジトリ情報の取得をして...
$ sudo apt-get update
* Android ソースファイル取得 [#nea0dd19]
** repo 設定 [#o0b0c850]
Androidのソースコードを取得するためにrepoの設定を行います...
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
Ubuntuでは一度ログアウトしてログインし直すと~/binへのPATH...
ログアウトせずそのまま作業したい場合は、以下のようにして~...
$ export PATH=~/bin:$PATH
** repo 初期化 [#y1d65e4e]
bc10というandroidソースファイル用ディレクトリを作成し、an...
を取得するためにrepo initを実行します。~
$ cd ~
$ mkdir bc10
$ cd bc10
$ repo init -u git://android.git.kernel.org/platform/man...
** local_manifest.xml の追加 [#u4bf5191]
android-2.2_r1.1 tagで取得できるソースコード内にはALSAが...
音声ライブラリにALSAを使用するためbc10/.repo/以下にlocal_...
local_manifest.xmlにALSA関連ファイルを追加しソースコード...
~
また ALSA 関連ファイルにはandroid-2.2_r1.1 tagが切られて...
$ vi .repo/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="external/alsa-lib" name="platform/exter...
<project path="external/alsa-utils" name="platform/ext...
<project path="hardware/alsa_sound" name="platform/har...
</manifest>
** repo sync [#i804a5a7]
local_manifest.xmlの追加後repo syncを実行し、androidのソ...
$ repo sync
2〜4GBのファイルをダウンロードしますので回線速度に応じて...
* bc10 用ビルド設定ファイルの適用 [#nc942ebf]
android-2.2_r1.1をbc10向けに最適化してビルドするためのpat...
githubのリポジトリからgit cloneで取得し、patch_to_android...
実行します。~
$ cd ~
$ git clone git://github.com/bc-dev/patch_to_android-2.2...
$ cd patch_to_android-2.2_r1.1_for_b10
git cloneで取得する場所はどこでも構いませんが、bc10-patch...
bc10-patch.shの中の以下の環境変数をファイルのPATHに合うよ...
$ vi bc10-patch.sh
### Settings
ANDROID_DIR=${HOME}/bc10
SETUP_DIR=${HOME}/patch_to_android-2.2_r1.1_for_b10
PATCH_DIR=${SETUP_DIR}/patches-for-bc10
ファイルのPATH指定を確認後bc10-patch.shを実行します。~
$ ./bc10-patch.sh
* Android ビルド [#abc9999a]
bc10用の環境設定をします。~
$ cd ~/bc10
$ source build/envsetup.sh
$ lunch bc10-eng
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2
TARGET_PRODUCT=bc10
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRF91
============================================
上記のように設定確認後makeを実行します。~
$ make
** イメージ作成 [#j4b9ee56]
ビルドが終了したらビルドされたuserlandのバイナリを起動可...
userlandを整えるスクリプトmkbc10-image.shを使用します。~
$ cd ~/patch_to_android-2.2_r1.1_for_b10
$ ./mkbc10-image.sh
実行すると以下のようにbc/out/target/product/bc10/にbc10-i...
ディレクトリが作成されます。~
このbc10-imageディレクトリ内にandroid userlandが配置され...
/home/beat/bc10/out/target/product/bc10
mkdir android for android-rfs
/home/beat/bc10/out/target/product/bc10
copy android-root
copy android-system
change permission and owner
[sudo] password for beat:
$ cd ~/bc10/out/target/product/bc10
$ ls -l
-rw-r--r-- 1 beat beat 7 2010-08-27 23:37 androi...
drwxrwxrwx 8 root root 4096 2010-08-30 11:34 bc10-i...
-rw-r--r-- 1 beat beat 8866 2010-08-27 21:16 clean_...
drwxr-xr-x 3 beat beat 4096 2010-08-27 21:54 data
-rw-r--r-- 1 beat beat 22869 2010-08-27 23:37 instal...
drwxr-xr-x 13 beat beat 4096 2010-08-27 23:28 obj
-rw-r--r-- 1 beat beat 189 2010-08-27 21:16 previo...
-rw-r--r-- 1 beat beat 163811 2010-08-27 23:37 ramdis...
drwxr-xr-x 8 beat beat 4096 2010-08-27 21:54 root
drwxr-xr-x 4 beat beat 4096 2010-08-27 21:54 symbols
drwxr-xr-x 11 beat beat 4096 2010-08-27 23:17 system
-rw------- 1 beat beat 78486144 2010-08-27 23:37 system...
-rw------- 1 beat beat 1522752 2010-08-27 23:37 userda...
$ cd bc10-image
$ ls -l
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 data
-rwxrwxrwx 1 root root 118 2010-08-27 21:54 default....
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 dev
-rwxrwxrwx 1 root root 107440 2010-08-27 21:54 init
-rwxrwxrwx 1 root root 1677 2010-08-27 20:53 init.gol...
-rwxrwxrwx 1 root root 197 2010-08-24 20:58 init.oma...
-rwxrwxrwx 1 root root 13605 2010-08-24 20:58 init.rc
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 proc
drwxrwxrwx 2 root root 4096 2010-08-27 21:54 sbin
drwxrwxrwx 2 root root 4096 2010-08-27 21:26 sys
drwxrwxrwx 11 root root 4096 2010-08-30 11:34 system
* kernel ビルド [#fed99519]
**環境変数設定 [#x363e564]
bootに必要なx-loader、u-boot、kernelは全てandroidのソース...
共に配布されているtoolchainを使用してビルドします。~
ここでは、prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin...
~
ビルド時にこのtoolchainを使ってcross compileが行われるよ...
$ export PATH=/home/beat/bc10/prebuilt/linux-x86/toolcha...
$ export ARCH=arm
$ export CROSS_COMPILE=arm-eabi-
** kernel [#m4983c49]
$ cd ~
$ git clone git://gitorious.org/~bc-dev/rowboat/bc10-row...
$ cd bc10-rowboat-kernel/
bc10向けリリースブランチに切り替えます。~
$ git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32
$ make omap3_bc10_defconfig
$ make uImage
$ make modules
ビルド完了後以下のディレクトリにuImageが作成されます。~
$ ls ~/bc10-rowboat-kernel/arch/arm/boot/
Image Makefile bootp compressed install.sh uImage ...
* USB Wifi (RT3070USB) ドライバー ビルド [#qef844a3]
USB Wifiに対応する為にRT3070USBのドライバーを追加します。~
動作を確認したデバイスは以下のとおりです。~
COLOR(red){ 一部デバイスに対応中の箇所があります。予告無...
メーカー 型番 対応 Device ID 備考
PLANEX GW-USMicroN-G 2019:ED14
Logitec LAN-W150N/U2IPH 0789:0164
Logitec LAN-W150N/U2BK 0789:0168
Buffalo WLI-UC-GNM 0411:01a2
Buffalo WLI-UC-G301N 0411:016f Baffalo W...
Buffalo WLI-UC-GN 0411:015d
ここでは、RT3070USBを使用している上記のBaffalo社製の無線L...
~
ドライバーは[[RALINK Web>http://www.ralinktech.com/suppor...
2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2を使用します。~
あわせて ファームウェア RT28XX/RT30XX USB series (RT2870/...
(ファームウェアはドライバーのアーカイブ内にも同梱されて...
~
ソースコード及びファームウェアの入手はメールアドレスと氏...
ダウンロードしてきたファイルは/home/beat/に置くものとして...
~
またtoolchainは上記 kernelビルド時に設定したAndroidソース...
prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/binを使用しま...
~
prebuilt イメージはビルド時にos/linux/config.mkを' WFLAGS...
修正していますのでdebugログが表示されません。~
debugログが出力されないため接続できない際に必要なログが表...
~
debugログを出力する場合は os/linux/config.mk の該当箇所を...
してソースファイルをビルドし、ファイルの再配置を行ってく...
この変更によって debug ログが出力されるようになります。~
ただしコンソールに電波状態など大量の debug ログが出力され...
~
以下の patch を当てることで bc10 向けにクロスコンパイルで...
変更内容は、~
・bc10 向けのコンパイル設定の追加(platform、toolchain の...
・ファームウェアのリージョン設定を日本にし、設定項目例を...
・USB Wifi のベンダーID、製品IDの追加~
です。~
#ref(2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2)~
#ref(RT3070USB.diff)~
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/Makefil...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/Makefile ...
@@ -15,7 +15,8 @@ endif
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)
#PLATFORM: Target platform
-PLATFORM = PC
+#PLATFORM = PC
+PLATFORM = BC10
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
#PLATFORM = IKANOS_V180
@@ -147,6 +148,11 @@ LINUX_SRC_MODULE = /lib/modules/$(s...
CROSS_COMPILE =
endif
+ifeq ($(PLATFORM),BC10)
+LINUX_SRC = /home/beat/prebuilt-20101227/bc10-rowboat-k...
+CROSS_COMPILE = /home/beat/prebuilt-20101227/bc10/prebu...
+endif
+
ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux...
CROSS_COMPILE = arm-linux-
@@ -347,6 +353,9 @@ ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apst...
endif
else
+ifeq ($(PLATFORM),BC10)
+ $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) ...
+else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko ...
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta...
@@ -355,7 +364,7 @@ endif
endif
endif
endif
-
+endif
release:
ifeq ($(TARGET), LINUX)
@@ -388,6 +397,9 @@ endif
$(MAKE) -C os/linux clean
rm -rf os/linux/Makefile
endif
+ifneq ($(TARGET),THREADX)
+ $(MAKE) -C tools clean
+endif
ifeq ($(TARGET), UCOS)
$(MAKE) -C os/ucos clean MODE=$(RT28xx_MODE)
endif
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
ux_STA_v2.4.0.1_DPO/RT2870STA.dat
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/RT2870S...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/RT2870STA.da...
@@ -1,10 +1,12 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
-CountryRegionABand=7
-CountryCode=
+#CountryRegionABand=7
+#CountryCode=
+CountryRegionABand=1
+CountryCode=JP
ChannelGeography=1
-SSID=11n-AP
+SSID=ssidname
NetworkType=Infra
WirelessMode=5
Channel=0
@@ -18,9 +20,9 @@ TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
-AuthMode=OPEN
-EncrypType=NONE
-WPAPSK=
+AuthMode=authtype
+EncrypType=encrptype
+WPAPSK=passname
DefaultKeyID=1
Key1Type=0
Key1Str=
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/common/...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/common/rtusb...
@@ -107,8 +107,14 @@ USB_DEVICE_ID rtusb_dev_id[] = {
{USB_DEVICE(0x13D3,0x3321)}, /* Azurewave */
{USB_DEVICE(0x07FA,0x7712)}, /* Edimax */
{USB_DEVICE(0x0789,0x0166)}, /* Edimax */
- {USB_DEVICE(0x0DB0,0x822B)}, /* MSI 3070*/^M
- {USB_DEVICE(0x0DB0,0x871B)}, /* MSI 3070*/
+ {USB_DEVICE(0x0DB0,0x822B)}, /* MSI 3070*/
+ {USB_DEVICE(0x2019,0xED14)}, /* PLANEX*/
+ {USB_DEVICE(0x2019,0xAB29)}, /* PLANEX*/
+ {USB_DEVICE(0x0789,0x0164)}, /* Logitec*/
+ {USB_DEVICE(0x0789,0x0168)}, /* Logitec*/
+ {USB_DEVICE(0x0411,0x01a2)}, /* Buffalo*/
+ {USB_DEVICE(0x0411,0x016f)}, /* Buffalo*/
+ {USB_DEVICE(0x0411,0x015d)}, /* Buffalo*/
#endif // RT3070 //
#ifdef RT3370
{USB_DEVICE(0x148F,0x3370)}, /* Ralink 3370 */
diff -urpN 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/...
--- 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO-orig/os/linu...
+++ 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/os/linux/con...
@@ -26,7 +26,7 @@ HAS_WDS=n
HAS_APCLI=n
# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
@@ -149,6 +149,7 @@ endif
ifeq ($(RT28xx_MODE),STA)
-WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
+#WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
+WFLAGS += -DCONFIG_STA_SUPPORT
ifeq ($(HAS_XLINK),y)
WFLAGS += -DXLINK_SUPPORT
@@ -545,6 +546,10 @@ ifeq ($(PLATFORM),PC)
endif
endif
+ifeq ($(PLATFORM),BC10)
+EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -DMOD...
+endif
+
#If the kernel version of RMI is newer than 2.6.27, ple...
ifeq ($(PLATFORM),RMI)
EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 -I$(LINUX_SRC)/...
-I$(RT28xx_DIR)/include -Wall -Wstrict-...
-DCONFIG_IFX_ALG_QOS -DCONFIG_WAN_VLAN_...
-mno-abicalls -mlong-calls -pipe -finli...
-march=xlr -ffreestanding-march=xlr -Wa...
(上記の EXTRA_CFLAGS := -D__KERNEL__ -DMODULE=1 から $(W...
以下のようにアーカイブの展開、patch 後 makeを実行します。...
$ cd ~
$ tar xvfj 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO.bz2
$ patch -p0 < RT3070USB.diff
$ cd 2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/
$ make
$ ls -l os/linux/rt3370sta.ko
-rw-r--r-- 1 beat beat 10746686 2011-01-05 12:42 os/linu...
** USB Wifi (RT3070USB) ドライバー 配置について [#adbdb5c3]
- rt3370sta.ko~
上記で作成したドライバーファイルrt3370sta.koを~
android userlandのあるbc10/out/target/product/bc10/bc10-i...
modules/というディレクトリを作成し配置します。~
~
- RT2870STA.dat~
Wifiの設定ファイル RT2870STA.dat に、SSID、認証形式、パス...
同じくbc10/out/target/product/bc10/bc10-image/system/etc/~
にWireless/RT2870STAというディレクトリを作成し配置します。~
設定方法の詳細についてはREADME_STA_usbをご覧ください。~
- rt2870.bin ~
ファームウェアrt2870.binとLICENSE.ralink-firmware.txtを同...
firmware/というディレクトリを作成し配置します。~
ファイルのオーナーと権限はmkbc10-image.shにあわせてrootと...
$ sudo mkdir ~/bc10/out/target/product/bc10/bc10-image/s...
$ sudo mkdir -p ~/bc10/out/target/product/bc10/bc10-imag...
$ sudo cp -afr os/linux/rt3370sta.ko ~/bc10/out/target/p...
$ sudo cp -afr RT2870STA.dat ~/bc10/out/target/product/b...
$ cd ~
$ unzip RT2870_Firmware_V22.zip
$ cd RT2870_Firmware_V22/
$ sudo mkdir ~/bc10/out/target/product/bc10/bc10-image/s...
$ sudo cp -afr * ~/bc10/out/target/product/bc10/bc10-ima...
$ sudo chown -R root.root ~/bc10/out/target/product/bc10...
$ sudo chmod -R 777 ~/bc10/out/target/product/bc10/bc10-...
* SGX SDK のビルド [#g555a2b6]
[[bc10/froyo]]と同じ手順でTI Android SGX SDKを取得します。~
~
(注):~
- 取得完了までに時間がかかることがあります。~
- [[bc10/froyo]]にてOMAP35x_Android_Graphics_SDK_3_01_00_...
同じファイルなので転用しても問題ありません、Rules.makeの...
注意してください。再度ダウンロードの際は任意にバックアッ...
- kernelもしくはAndroid userlandの入れ替えを行う際はkerne...
$ cd ~
$ git clone git://gitorious.org/rowboat/ti_android_sgx_s...
$ cd ti_android_sgx_sdk/
$ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
インストールディレクトリ位置を聞かれるので今回はデフォル...
の${HOME}/OMAP35x_Android_Graphics_SDK_3_01_00_03 を指定...
${HOME}は、ホームディレクトリーの意味で、/home/beatを指し...
(以降、ホームディレクトリーは、/home/beatを指します。)~
~
[[To download TI's Android SGX SDK>http://code.google.com...
~
** Rules.make の変更 [#ke48d729]
Rules.make のHOME、GRAPHICS_INSTALL_DIR、ANDROID_ROOT、CS...
KERNEL_INSTALL_DIRをそれぞれのファイルPATHに合うよう修正...
以下のRules.makeは上記ビルド時の設定にあわせています。~
ANDROID_ROOTはmkbc10-image.shで作成したbc10-imageのディレ...
にあわせています。~
$ cd ~/OMAP35x_Android_Graphics_SDK_3_01_00_03
--- Rules.make 2011-01-05 14:20:43.863788943 +0900
+++ Rules.make-orig 2011-01-05 14:17:04.661291128 +0...
@@ -4,24 +4,20 @@ PLATFORM=LinuxOMAP3
################# FIELDS MODIFIABLE BY THE USER #######...
#set home area HOME (relative location for all SDK oper...
-#HOME=INVALIDVAL
-HOME=/home/beat/prebuilt-20101227
+HOME=INVALIDVAL
#Current Directory where Graphics SDK is installed
GRAPHICS_INSTALL_DIR=$(HOME)/OMAP35x_Android_Graphics_S...
#Android Specific
#Path of Android Root FS
-#ANDROID_ROOT=$(HOME)/INVALIDVAL
-ANDROID_ROOT=$(HOME)/bc10/out/target/product/bc10/bc10-...
+ANDROID_ROOT=$(HOME)/INVALIDVAL
#set toolchain root path for arm-eabi
-#CSTOOL_DIR=INVALIDVAL
-CSTOOL_DIR=$(HOME)/bc10/prebuilt/linux-x86/toolchain/ar...
+CSTOOL_DIR=INVALIDVAL
CSTOOL_PREFIX=arm-eabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin
CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnue...
#set the kernel installation path
-#KERNEL_INSTALL_DIR=$(HOME)/INVALIDVAL
-KERNEL_INSTALL_DIR=$(HOME)/bc10-rowboat-kernel
+KERNEL_INSTALL_DIR=$(HOME)/INVALIDVAL
TARGETFS_INSTALL_DIR=$(ANDROID_ROOT)
GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/mo...
RULEs.make変更完了後make、make installを実行します。~
$ make
$ make OMAPES=3.x install
** u-boot [#w583bb25]
u-boot-bc10のアップデートにより、有機ELを表示デバイスの初...
予め組込むように修正しています。~
またアップデート後のbc10起動時の入力待機時間を10秒から2秒...
$ cd ~
$ git clone git://gitorious.org/bc10/u-boot-bc10.git u-b...
$ cd u-boot-bc10
$ make mrproper
$ make omap3_bc10_config
$ make
有機ELを表示デバイスの初期値とする設定はu-boot-bc10内の~
include/configs/omap3_bc10.hに以下のように記載しています。~
u-boot-bc10/include/configs$ vi omap3_bc10.h
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x82000000\0" \
"usbtty=cdc_acm\0" \
"console=ttyS2,115200n8\0" \
"androidconsole=ttyS2\0" \
"mem=256M\0" \
"vram=12M\0" \
"dvimode=1024x768MR-24@60\0" \
"defaultdisplay=lcd\0" \
"mmcroot=/dev/mmcblk0p2 rw\0" \
"mmcrootfstype=ext3 rootwait\0" \
"nandroot=/dev/mtdblock4 rw\0" \
これは、以下のboot.scr と同じ内容になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
ビルド後u-boot.binはSDカードFATパーティションにMLOファイ...
SDカードイメージ作成についてはページ下部にあります[[SDカ...
** x-loader [#r82ab56e]
$ cd ~
$ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-l...
$ cd x-load-bc10
$ git checkout -t -b bc10 origin/bc10
$ make omap3530bc10_config
$ make
x-load.binはOMAP BootROMの仕様とフォーマットが合っていな...
SDカードに書きこんでもブートローダとして動作させることが...
この問題を解決するため、signGPというツールでx-load.binを...
~
signGPの実行ファイルは以下の場所からダウンロードすること...
http://beagleboard.googlecode.com/files/signGP ~
ダウンロードしたsignGPを以下のように実行します。~
$ signGP x-load.bin
ビルド後作成されたx-load.bin.iftはMLOという名前に変更しま...
MLOはSDカードFATパーティションの先頭に書き込むためのファ...
SDカードイメージ作成についてはページ下部にあります[[SDカ...
$ mv x-load.bin.ift MLO
以上の作成ファイルを圧縮したものが prebuilt イメージにな...
* prebuilt イメージの配置手順 [#zabf94e9]
* prebuilt-image [#ab8cb783]
上記手順にて作成したイメージを sourceforge.jp からダウン...
http://sourceforge.jp/projects/bc10-dev/downloads/50494/b...
ダウンロードしてきたファイルはホームディレクトリに置くも...
bc10-boot-sd-image--release20110107.tar.gz を展開すると ~
FAT.tar.gz
EXT3.tar.gz
上記の二つのアーカイブが入っています。 ~
それぞれをSDカードのFAT32パーティションとEXT3パーティショ...
書き込みの手順は以下のようになります。~
* SD カードイメージ作成 [#o13ac30f]
[[bc10/booting 起動用SDカード作成 >http://labs.beatcraft....
手順に従って作成していきます。~
この作成手順はSDカード用です。~
bc10は、設計上マイクロSDからのブートは出来ません。~
~
SDカードの概略は以下のようになります。~
- FAT32パーティション
-- X- Loader
-- U-Boot
-- Linux kernel
- Linuxパーティション
-- Linuxルートファイルシステム
作業環境はLinuxを想定しています。~
作業手順は以下のようになります。~
+ パーティションの初期化・設定
+ ファイルシステムのフォーマット
+ ファイルの配置
以下の説明は主に[[LinuxBootDiskFormat(code.google.com):...
** SDカードのアンマウント [#s015a679]
このあとパーティション操作やフォーマット作業をおこなうた...
SDカードがマウントされている場合には、まずアンマウントを...
以下のようにSDカードがマウントされているとします。~
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdc1 400M 94M 307M 24% /media/disk
...
アンマウントをおこないます。~
$ umount /media/disk
** パーティションの初期化・設定 [#y9078f7c]
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 ...
/dev/sdc1 * 1 246 1974240+ c ...
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カードのバイト数 / 2...
今回の例で使用している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, defau...
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]
Linuxのファイルシステム用パーティションを作成します。
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, defa...
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 ...
/dev/sdc1 * 1 51 409626 c ...
/dev/sdc2 52 245 1558305 83 ...
パーティションテーブルの変更を保存します。
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 erro...
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 additio...
information.
Syncing disks.
** ファイルシステムのフォーマット [#g51c7516]
FAT32パーティションとLinuxパーティションをそれぞれフォー...
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 informatio...
* prebuilt-image のファイルの配置 [#a5b17eea]
**FAT32パーティションへのファイルの配置 [#g32d86a9]
FAT32パーティションのファイルには配置方法に制約があります...
作業環境でアーカイブを一旦展開します。~
$ mkdir FAT
$ [tar xvfz FAT.tar.gz -C FAT]
展開すると以下のファイルが含まれています。~
$ ls FAT.tar.gz
%% MLO boot.scr u-boot.bin uImage %%
MLO u-boot.bin uImage
1段目のブートローダであるX-Loader(MLO)は、SDカード上の配...
必ず以下のように配置してください。~
- FAT32パーティションのフォーマット後、最初に配置するよう...
- パーティション内のトップディレクトリに配置します。
$ [cp MLO /media/FAT32/]
他のファイルには配置方法に特に規則はありません。そのままS...
$ [cp u-boot.bin boot.scr uImage /media/FAT32/]
配置する順序を間違えたり、手順に失敗したりした場合には、~
FAT32パーティションのフォーマットからやり直すのが確実な手...
**EXT3パーティションへの配置 [#g73e209f]
EXT3パーティションへの配置には特に制限はありませんので、...
$ [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 EXecutab...
それらの起動ディスクへの書き込みを行いますので、初回起動...
~
起動時間は初回起動には約1分40秒程度、2回目以降は50秒程度...
* 補足 [#ceeee919]
** ボタン配置について [#q4e5c3ef]
bc10の本体正面右側に7つのボタンがあります。~
図a.の数字で示した各ボタンは、以下ように予め設定してあり...
(図のbc10 筐体は試作用筐体です)~
1. Menu
2. Back
3. Home
4. 上
5. 左
6. 右
7. 下
#ref(keypad_android.jpg);
~
** Android SGX について [#b80953e2]
init.rcの最終行に記載のとおりSGX機能が有効の設定になって...
不要の場合はコメントアウトで無効にしてください。~
またkernel、userland更新時は更新されたkernel、userlandを~
含むSGXのリビルドが必要になります。~
$ vi init.rc
# Start PowerVR SGX DDK
service pvr /system/bin/sgx/rc.pvr start
** bc10 Wifi 設定手順 [#a7be2574]
Android GUI上からのWifi ON/OFF機能を実装していません。~
起動の際にシリアルでinsmod 、netcfgコマンドで動作確認をし...
対象は、RT3070USB搭載の以下の機器になります。~
メーカー 型番 対応 Device ID
PLANEX GW-USMicroN-G 2019:ED14
Logitec LAN-W150N/U2IPH 0789:0164
Logitec LAN-W150N/U2BK 0789:0168
Buffalo WLI-UC-GNM 0411:01a2
Buffalo WLI-UC-GN 0411:015d
Buffalo WLI-UC-G301N 0411:016f Baffalo W...
上記のRT3070USBデバイスをbc10に接続し起動します。~
デバイスが認識された場合、シリアルコンソールに以下のよう...
(WLI-UC-GNでの接続例)~
...
usb 1-2.4: new high speed USB device using ehci-omap and...
usb 1-2.4: New USB device found, idVendor=0411, idProduc...
usb 1-2.4: New USB device strings: Mfr=1, Product=2, Ser...
usb 1-2.4: Product: 802.11 n WLAN
usb 1-2.4: Manufacturer: Ralink
usb 1-2.4: SerialNumber: 1.0
...
rt3070sta.koファイルをinsmodし、netcfgコマンドでデバイス...
RT2870STA.datはファイル内で指定したSSIDへの接続に使用しま...
以下にシリアルコンソールからのnetcfg dhcp接続までの例を記...
(出力されるログは省略しています。また、/system/lib/modul...
# cd /system/lib/modules
# ls
RT2870STA.dat rt3370sta.ko
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
# insmod rt3070sta.ko
...
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
# netcfg ra0 up
...
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 UP 0.0.0.0 0.0.0.0 0x00001043
# netcfg ra0 dhcp
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 UP 192.168.13.4 255.255.255.0 0x00001043
#
prebuiltイメージのRT2870STA.datは以下のように設定していま...
お使いの環境に合わせて設定してください。~
~
また接続設定例として以下にSSID:XXX-BC、認証方式:AuthMode ...
暗号化方式:EncrypType WEP、暗号キーの文字タイプ:Key1Type ...
暗号キー:Key1Str xxx.testessidの接続設定例を記載します。~
~
詳細については2010_0831_RT3070_Linux_STA_v2.4.0.1_DPO/REA...
をご覧ください。~
- RT2870STA.dat
...
SSID=ssidname
NetworkType=Infra
WirelessMode=5
Channel=0
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=authmodetype
EncrypType=encyptype
WPAPSK=
DefaultKeyID=1
Key1Type=0
Key1Str=
...
- 接続設定例
SSID=XXX-BC
...
AuthMode=OPEN
EncrypType=WEP
WPAPSK=
DefaultKeyID=1
Key1Type=1
Key1Str=xxx.testessid
Key2Type=0
** USB Wifi (RT3070USB) ドライバーについて [#nd94ed05]
prebuiltイメージでは' WFLAGS += -DCONFIG_STA_SUPPORT 'と...
debug ログが出力されないため必要なログが表示されないこと...
~
またオリジナルのos/linux/config.mkでは ' WFLAGS += -DCONF...
なっていてdebugログを出力するように設定しています。~
使用の際 シリアルに多くのログが表示され使いにくい場合があ...
~
$ vi os/linux/config.mk
# config for STA mode
ifeq ($(RT28xx_MODE),STA)
WFLAGS += -DCONFIG_STA_SUPPORT -DDBG
また以下のURLにrt3370sta.koのdebugプリント版rt3370sta.ko....
使用される際は、ダウンロードしsystem/lib/modulesにある同...
入れ替えて使用してください。~
http://sourceforge.jp/projects/bc10-dev/releases/50494 ~
~
以下は、RT3070USB を bc10 に挿し insmod rt3370sta.ko を実...
シリアルに表示されたログです。~
- ' WFLAGS += -DCONFIG_STA_SUPPORT -DDBG ' 時のログ ~
# insmod rt3370sta.ko
rtusb init --->
===>rt2870_probe()!
--> RTMPAllocAdapterBlock
=== pAd = d284d000, size = 503240 ===
<-- RTMPAllocAdapterBlock, Status=0
NumEndpoints=7
BULK IN MaxPacketSize = 512
EP address = 0x81
BULK OUT MaxPacketSize = 512
EP address = 0x 1
BULK OUT MaxPacketSize = 512
EP address = 0x 2
BULK OUT MaxPacketSize = 512
EP address = 0x 3
BULK OUT MaxPacketSize = 512
EP address = 0x 4
BULK OUT MaxPacketSize = 512
EP address = 0x 5
BULK OUT MaxPacketSize = 512
EP address = 0x 6
STA Driver version-2.4.0.1
NVM is EEPROM
Allocate a net device with private data size=0!
Allocate net device ops success!
The name of the new ra interface is ra0...
RtmpOSNetDevAttach()--->
<---RtmpOSNetDevAttach(), ret=0
<===rt2870_probe()!
usbcore: registered new interface driver rt2870
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
- ' WFLAGS += -DCONFIG_STA_SUPPORT ' 時のログ ~
# insmod rt3370sta.ko
rtusb init --->
usbcore: registered new interface driver rt2870
# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
ra0 DOWN 0.0.0.0 0.0.0.0 0x00001002
** boot.scr について [#j14f31cf]
u-boot-bc10のアップデートにより、有機ELを表示デバイスの初...
u-boot-bc10内のinclude/configs/omap3_bc10.hに以下のように...
そのため boot.scrがこのバージョンでは含まれていません。~
また同じ内容の設定をboot.scrに記載し起動することも可能で...
その際は、u-boot.binの設定をboot.scrの設定で上書きして起...
有機ELを表示デバイスの初期値とする設定のboot.scrは以下の...
$ cd ~
$ vi boot.script
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
echo ***** RootFS: /dev/mmcblk0p2 *****
setenv bootargs 'mem=256M androidboot.console=ttyS2 con...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init r...
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n...
またdvi接続での起動の際は上記boot.scrのomapdss.def_disp=l...
解像度を設定してください。~
解像度は1024x768での動作確認になります。~
if fatload mmc 0 84000000 uImage
then
echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
fi
setenv bootargs 'mem=256M androidboot.console=ttyS2 cons...
console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init ro...
omapfb.mode=dvi:1024x768MR-24@60 omapdss.def_disp=dvi'
bootm 84000000
(注)setenv bootargs〜 disp=lcd' は改行していますが、使...
omapfb.modeやomapdssの詳細については、kernelソースファイ...
kernel/Documentation/arm/OMAP/DSSをご覧ください~
* 参照URL [#e90654f8]
- rowboat ConfigureAndBuild ~
-- http://code.google.com/p/rowboat/wiki/ConfigureAndBuil...
- [Armadillo:06309] Re: Armadillo-440 で使用可能な無線LA...
-- http://lists.atmark-techno.com/pipermail/armadillo/201...
* 更新記録 [#qcd29268]
2011/01/07 初稿記載、文言修正~
2011/01/12 ボタン配置について追記、USB Wifi (RT3070USB) ...
2011/01/13 boot.scr について追記~
2011/02/01 文言追加、修正~
2011/02/04 u-boot、boot.scrについて文言追加と修正
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。