BeagleBoard-xMで組み込みAndroidをやってみる

2018.2.11現在
内容は途中経過の為、随時更新する予定である

条件
windows10(64bit)にvirtualBOXにubuntu12.04をインストールする

必要なものをインストールする

```shell-session
sudo apt-get install aptitude
sudo aptitude install git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev uboot-mkimage
```

gccとg++をインストールする

```shell-session
sudo apt-get install gcc-4.5
sudo apt-get install gcc-4.5-multilib
sudo apt-get install g++-4.5
sudo apt-get install g++-4.5-multilib
export CC=gcc-4.5
export CXX=g++-4.5
```

カーネルソースとツールチェーンをインストールする

```shell-session
mkdir -p ~/src/beagle-android/GingerBread_2_3_4
cd ~/src/beagle-android/GingerBread_2_3_4
wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/exports/TI_Android_GingerBread_2_3_4Sources.tar.gz
wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/exports/TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz
```

repoをインストールする

```shell-session
a@a:~$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:--  7 27759    7  2135    0     0   8779      0  0:00:03 --:--:--100 27759  100 27759    0     0   107k      0 --:--:-- --:--:-- --:--:--  154k
a@a:~$ chmod a+x ~/bin/repo
a@a:~$ repo
コマンド 'repo' は見つかりませんでした。もしかして:
 コマンド 'rep' - パッケージ 'rep' (universe)
 コマンド 'repl' - パッケージ 'nmh' (universe)
 コマンド 'repl' - パッケージ 'mailutils-mh' (universe)
repo: コマンドが見つかりません
a@a:~$ cd bin
a@a:~/bin$ ls
repo
a@a:~/bin$ ./repo
error: repo is not installed.  Use "repo init" to install it here.
a@a:~/bin$ ./repo init
gpg: 鍵輪「/home/a/.repoconfig/gnupg/secring.gpg」ができました
gpg: 鍵輪「/home/a/.repoconfig/gnupg/pubring.gpg」ができました
gpg: /home/a/.repoconfig/gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵920F5C65: 公開鍵“Repo Maintainer <repo@android.kernel.org>”を読み込みました
gpg: 鍵692B382C: 公開鍵“Conley Owens <cco3@android.com>”を読み込みました
gpg: 処理数の合計: 2
gpg:               読込み: 2  (RSA: 1)

Get https://gerrit.googlesource.com/git-repo/clone.bundle
Get https://gerrit.googlesource.com/git-repo
fatal: manifest url (-u) is required.
a@a:~/bin$ repo
コマンド 'repo' は見つかりませんでした。もしかして:
 コマンド 'rep' - パッケージ 'rep' (universe)
 コマンド 'repl' - パッケージ 'nmh' (universe)
 コマンド 'repl' - パッケージ 'mailutils-mh' (universe)
repo: コマンドが見つかりません
a@a:~/bin$ export PATH="$PATH:/home/a/bin"
a@a:~/bin$ repo
usage: repo COMMAND [ARGS]
The most commonly used repo commands are:
  abandon        Permanently abandon a development branch
  branch         View current topic branches
  branches       View current topic branches
  checkout       Checkout a branch for development
  cherry-pick    Cherry-pick a change.
  diff           Show changes between commit and working tree
  diffmanifests  Manifest diff utility
  download       Download and checkout a change
  grep           Print lines matching a pattern
  info           Get info on the manifest branch, current branc
  init           Initialize repo in the current directory
  list           List projects and their associated directories
  overview       Display overview of unmerged project branches
  prune          Prune (delete) already merged topics
  rebase         Rebase local branches on upstream branch
  smartsync      Update working tree to the latest known good r
  stage          Stage file(s) for commit
  start          Start a new branch for development
  status         Show the working tree status
  sync           Update working tree to the latest revision
  upload         Upload changes for code review
See 'repo help <command>' for more information on a specific co

[1]+  停止                  repo
a@a:~/bin$ cd
a@a:~$ cd src
a@a:~/src$ ls
beagle-android
a@a:~/src$ cd bealgle-android
bash: cd: bealgle-android: そのようなファイルやディレクトリはありません
a@a:~/src$ cd beagle-android
a@a:~/src/beagle-android$ ls
GingerBread_2_3_4
a@a:~/src/beagle-android$ cd GingerBread
bash: cd: GingerBread: そのようなファイルやディレクトリはありません
a@a:~/src/beagle-android$ cd GingerBread_2_3_4
a@a:~/src/beagle-android/GingerBread_2_3_4$ ls
TI_Android_GingerBread_2_3_4Sources
TI_Android_GingerBread_2_3_4Sources.tar.gz
TI_Android_GingerBread_2_3_4_DevKit_2_1
TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz
a@a:~/src/beagle-android/GingerBread_2_3_4$ cd TI_Android_GingerBread_2_3_4Sources/
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources$ ./.repo/repo/repo sync --local-only
Syncing work tree:   3% (6/174)  Checking out files:  36% (3220Checking out files: 100% (8816/8816), done.
Syncing work tree:   4% (7/174)  Checking out files:  39% (1420Checking out files: 100% (3575/3575), done.
Syncing work tree:  16% (28/174)  Checking out files:  37% (173Checking out files: 100% (4679/4679), done.
Syncing work tree:  29% (51/174)  Checking out files:  36% (169Checking out files: 100% (4573/4573), done.
Syncing work tree:  55% (96/174)  Checking out files:  19% (196Checking out files: 100% (10008/10008), done.
Syncing work tree:  58% (101/174)  Checking out files:   0% (41Checking out files: 100% (12178/12178), done.
Syncing work tree:  66% (115/174)  Checking out files:  14% (53Checking out files: 100% (35625/35625), done.
Syncing work tree:  94% (164/174)  Checking out files:   0% (73Checking out files: 100% (9615/9615), done.
Syncing work tree:  99% (173/174)  Checking out files:  32% (21Checking out files: 100% (6500/6500), done.
Syncing work tree: 100% (174/174), done.  

a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources$ 
```

ツールチェーンにパスを通す

```shell-session
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources$ export PATH=~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources$ 
```

x-loaderをビルドする

```shell-session
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources$ cd x-loader
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ make CROSS_COMPILE=arm-eabi- distclean
find . -type f \
		\( -name 'core' -o -name '*.bak' -o -name '*~' \
		-o -name '*.o'  -o -name '*.a'  \) -print \
		| xargs rm -f
find . -type f \
		\( -name .depend -o -name '*.srec' -o -name '*.bin' \) \
		-print \
		| xargs rm -f
rm -f  *.bak tags TAGS
rm -fr *.*~
rm -f x-load x-load.map 
rm -f include/asm/proc include/asm/arch
rm -f include/config.h include/config.mk
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ make CROSS_COMPILE=arm-eabi- omapbeagle_config
make: *** ターゲット `omapbeagle_config' を make するルールがありません.  中止.
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ make CROSS_COMPILE=arm-eabi- omap3beagle_config
rm -f include/config.h include/config.mk
Configuring for omap3beagle board...
a@a:~/src/beagle-android/GingerBread_2_3_4a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ make CROSS_COMPILE=arm-eabi-
arm-eabi-gcc -Wa,-gstabs -D__ASSEMBLY__  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -c -o cpu/omap3/start.o /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/cpu/omap3/start.S
make -C `dirname board/omap3beagle/libomap3beagle.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork platform.S omap3beagle.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle' に入ります
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o omap3beagle.o omap3beagle.c
arm-eabi-gcc -Wa,-gstabs -D__ASSEMBLY__  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -c -o platform.o /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle/platform.S
arm-eabi-ar crv libomap3beagle.a omap3beagle.o platform.o
a - omap3beagle.o
a - platform.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle' から出ます
make -C `dirname cpu/omap3/libomap3.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/cpu/omap3' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes start.S cpu.c mmc.c gpio.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/cpu/omap3' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/cpu/omap3' に入ります
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o cpu.o cpu.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o mmc.o mmc.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o gpio.o gpio.c
arm-eabi-ar crv libomap3.a cpu.o mmc.o gpio.o
a - cpu.o
a - mmc.o
a - gpio.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/cpu/omap3' から出ます
make -C `dirname lib/libarm.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes _udivsi3.S _umodsi3.S board.c ecc.c omap_bch_decoder.c omap_bch.c printf.c div0.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib' に入ります
arm-eabi-gcc -Wa,-gstabs -D__ASSEMBLY__  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -c -o _udivsi3.o /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib/_udivsi3.S
arm-eabi-gcc -Wa,-gstabs -D__ASSEMBLY__  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -c -o _umodsi3.o /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib/_umodsi3.S
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o board.o board.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o ecc.o ecc.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o omap_bch_decoder.o omap_bch_decoder.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o omap_bch.o omap_bch.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o printf.o printf.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o div0.o div0.c
arm-eabi-ar crv libarm.a _udivsi3.o _umodsi3.o board.o ecc.o omap_bch_decoder.o omap_bch.o printf.o div0.o 
a - _udivsi3.o
a - _umodsi3.o
a - board.o
a - ecc.o
a - omap_bch_decoder.o
a - omap_bch.o
a - printf.o
a - div0.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/lib' から出ます
make -C `dirname fs/fat/libfat.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/fs/fat' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I../..//include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes  fat.c file.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/fs/fat' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/fs/fat' に入ります
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I../..//include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o fat.o fat.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I../..//include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o file.o file.c
In file included from file.c:34:
../..//include/linux/time.h: In function 'asctime_r':
../..//include/linux/time.h:61: warning: implicit declaration of function 'sprintf'
file.c: In function 'file_cd':
file.c:92: warning: implicit declaration of function 'strncpy'
file.c: In function 'file_detectfs':
file.c:157: warning: implicit declaration of function 'strcpy'
arm-eabi-ar crv libfat.a  fat.o file.o
a - fat.o
a - file.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/fs/fat' から出ます
make -C `dirname disk/libdisk.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/disk' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes part.c part_dos.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/disk' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/disk' に入ります
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o part.o part.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o part_dos.o part_dos.c
part_dos.c: In function 'test_block_type':
part_dos.c:79: warning: implicit declaration of function 'strncmp'
arm-eabi-ar crv libdisk.a part.o part_dos.o
a - part.o
a - part_dos.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/disk' から出ます
make -C `dirname drivers/libdrivers.a`
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/drivers' に入ります
arm-eabi-gcc -M  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes serial.c ns16550.c onenand.c k9f1g08r0a.c > .depend
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/drivers' から出ます
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/drivers' に入ります
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o serial.o serial.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o ns16550.o ns16550.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o onenand.o onenand.c
arm-eabi-gcc  -Os  -fno-strict-aliasing  -fno-common -ffixed-r8  -DONE_BIT_ERROR_CORRECT -D__KERNEL__ -DTEXT_BASE=0x40200800 -I/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/include -fno-builtin -ffreestanding -nostdinc -isystem /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include -pipe  -DCONFIG_ARM -D__ARM__ -march=armv7-a -mabi=apcs-gnu -mno-thumb-interwork -Wall -Wstrict-prototypes -c -o k9f1g08r0a.o k9f1g08r0a.c
arm-eabi-ar crv libdrivers.a serial.o ns16550.o onenand.o k9f1g08r0a.o
a - serial.o
a - ns16550.o
a - onenand.o
a - k9f1g08r0a.o
make[1]: ディレクトリ `/home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/drivers' から出ます
UNDEF_SYM=`arm-eabi-objdump -x board/omap3beagle/libomap3beagle.a cpu/omap3/libomap3.a lib/libarm.a fs/fat/libfat.a disk/libdisk.a drivers/libdrivers.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
 		arm-eabi-ld -Bstatic -T /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader/board/omap3beagle/x-load.lds -Ttext 0x40200800  $UNDEF_SYM cpu/omap3/start.o \
			--start-group board/omap3beagle/libomap3beagle.a cpu/omap3/libomap3.a lib/libarm.a fs/fat/libfat.a disk/libdisk.a drivers/libdrivers.a --end-group -L /home/a/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3 -lgcc \
			-Map x-load.map -o x-load
arm-eabi-objcopy --gap-fill=0xff -O binary x-load x-load.bin
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ ../../TI_Android_GingerBread_2_3_4_DevKit_2_1/Tools/signGP/signGP ./x-load.bin
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ mv x-load.bin.ift MLO
a@a:~/src/beagle-android/GingerBread_2_3_4/TI_Android_GingerBread_2_3_4Sources/x-loader$ chmod 755 MLO
```