android源代码编译和到s3c2440的移植
2011-05-18 17:38
281 查看
1,到官网www.android.com下载源代码的过程,就是按照官网的提示一步一步地做就可以了。http://source.android.com/source/initializing.html上面有详细的过程介绍,虽然不懂为什么这么配置和编译,但是先编译完再说。
2,编译的时候,由于我天生弱智,所以在开始make的时候,应该打make -j2,结果我打了个make j2,然后编译总是停下来,然后说找不到一些DOC目录,如find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
我编译停止是因为找不到以上目录而停下的呢,所以找了很久解决这个问题的办法,其实,这个问题完全不用管,是因为我的make命令敲错了。大概2天以后我才意识到这个问题,不过已经相当焦头烂额了。然后这回make -j2敲正确了以后,虽然还是说找不到目录,但是已经顺利继续编译下去了。
3,后来编译再次出错,内容是:
host C: libneo_cgi <= external/clearsilver/cgi/cgi.c
external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory
这个错误是因为我们缺少zlib1g-dev,需要使用apt-get命令从软件仓库中安装,如下:
sudo apt-get install zlib1g-dev
我在安装官网提示安装的一些库的时候,有些库安不上,说找不到,我想是
安装完这个库,编译就正常运行下去了。
4,编译完成后,就希望能把代码移植到开发板中,但是毫无头绪,一是不知这套代码干嘛用的,二是找遍编译完的代码,连个像样的文档都没有,source.android.com里面也没什么文档,以至于我连我搞了半天在搞什么也都不清楚,太奇怪了。像什么pdk.android.com这种介绍文档,官网直接说移除了,移到别的地方去了,移到哪里也不说,所以就找傻我。到网上查半天,有一个研究生论文《基于ARM9+S3C2440的android操作系统移植》写的比较详细,让我初步知道了我下载和编译半天的代码究竟干嘛使得。文档连接:http://www.docin.com/p-126417136.html
然后到网上去查官网的文档到底在哪,有人说,You can still find the documentation in the source code here android-gingerbread/development/pdk it contains a README telling how to generate the documentation.
The kandroid site also has a copy
http://www.kandroid.org/android_pdk/index.html
一些官网的文档:http://code.google.com/android/intro/index.html
http://code.google.com/android/what-is-android.html http://code.google.com/android/intro/index.html
API的介绍:http://developer.android.com/reference/packages.html
上不去可以用代理。
5, 不知什么原因,还是找不到最新的PDK文档。以上提到的文档链接全都过时了,没有最新的。所以只好搜中文的资料,按照一些有经验的人的方法来继续做。
6,(20110528)哎呀妈呀,今天在我说放弃并且开始尝试做qtopia的时候,android的相关的官方文档似乎终于被我找到了。
有两个网址,看似很像官网:http://code.google.com/p/androidteam/ 这个说可能又要转移了,转移到:
http://teampal.ustcsz.edu.cn/projects/android/wiki
7,(20110603)因为已经编译完成,因此在android根目录里面有一个out目录里会包含已经生成好的文件系统。我的输出在out/target/product/passion下面。里面生成了root,system,data等目录,以及这些目录的img文件。我具体的用法是,将system目录和data目录拷贝到root目录下,root目录里面本来就有system目录和data目录,但是都是空的,需要用上层的system目录和data目录来替换和覆盖。这样,就制作好了root目录了,这个目录就是android文件系统的根目录。可以用mkyaffs工具打包然后烧写flash,但是我是用的nfs来载入android文件系统的,因此,在挂载nfs以后,只要使用chroot来将根切换到我的android的root目录内就可以了。命令是:chroot /mnt/android/root/ /system/bin/sh然后回车,就可以了。回车以后,命令行提示“segmentation fault”错误,我理解是由于我的开发板是s3c2440的,cpu是armv4t的,因此不能运行android文件系统,必须找到支持armv4t的文件系统才可以。因此到网上查到了“android-on-freerunner”这个项目,这个项目是将android运行到armv4t上的一个项目,里面也有直接编译好的包可以下载,下面将里面的内容摘录一下。
网址:http://code.google.com/p/android-on-freerunner/
编译好的android文件系统下载和运行:http://code.google.com/p/android-on-freerunner/wiki/GetIt
android for armv4t原代码的获取和编译:http://code.google.com/p/android-on-freerunner/wiki/BuildIt
Neo Freerunner的硬件参数介绍:http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware
//下面摘录网站内容。
http://code.google.com/p/android-on-freerunner/wiki/GetIt
Main page
Get it
Before you start
Download
Installing
Use it
Post install set-up
Applications
Support
ADB shell
Dropbear SSH
Busybox SSH
Features
Emulate it
Improve it
The basics
A working repository
Working with the source
Build it
AoF on SD
Art
FAQ
GetIt
android-on-freerunner, Downloading & installing.
Updated
Mar 16, 2011
by niels.he...@gmail.com
You need:
A fully charged Openmoko Freerunner GTA02 telephone
An SD memory card supported on the Freerunner (non-exhaustive list available here
)
Some way of connecting your SD card to your computer.
Root priveliges on your Linux system
If required, you can find very comprehensive additional information
on most of the points covered below at the Openmoko Wiki site
.
Update GSM firmware
Some
of the issues with reading SIM card contacts, wakeup interrupts, etc.
can be fixed by updating the GSM firmware on your phone to the latest
version - currently Moko11. See the relevant OpenMoko wiki page
for full instructions on checking your version and how to update.
Be warned!
Loading a new build means clearing everything from your SD card and
your telephone's memory, including the bootloader. Backup any personal
files or modified config files you want to keep from your Freerunner
now!
To back up your contacts and SMS data, create a local
directory to store the data and pull the data from your Android phone
using ADB.
We've
adapted the script by Teodor Robas who created the initial script to
automatically backup contacts, sms, preferences, wallpaper, calendar and
so on. It creates a restore script for pushing these back to the
Freerunner after flashing a new image. This restore script will also
install busybox, a file explorer, and sets the date and time correctly.
You can check out the adapted script here.
For
Android to work properly the Micro SD Card in your FreeRunner needs to
have 2 primary partitions. The first needs to be a VFAT/MSDOS (16 or 32)
partition which is used is mounted as '/sdcard', this is used as a
storage area (for pictures, movies, music, etc). The second is an ext3
partition which Android mounts as '/data', this is where it stores
settings, caches, etc.
Experience has shown that sizing these at a
ratio of 3 to 1 works best. So if you have a 4GB card make a 3GB vfat
partition and a 1GB ext3 partion.
Experience has also shown that it is best to delete all existing partitions and create new when installing a new build. (This greatly helps the testing and bug fixing process).
Comprehensive information on partitioning and formatting your SD card can be found on the Openmoko Wiki.
Note
Users have reported that it is also possible to install Android by making a single partition formatted as VFAT/MSDOS.
First step is to decide which version of Android you want to install.
One
of the big plus points with Android is that Google push regular
updates. The downside is that this project doesn't have the capacity to
maintain several branches.
The current maintained options are Cupcake (Android 1.5)
- as stable as it gets on the Freerunner with most functions working or Froyo (Android 2.2)
- so bleeding edge as it hurts.
There is also a Master branch which is following the "Android Open Source Project"
and will form the basis for future development. Allowing us to
piggy-back on code releases from Google without going back to the start
every time.
Next decide if you will create your own build:
See detailed instructions here
or if you want to use one of the prepared builds available:
Download the latest "stable" Cupcake build version featured on the Downloads tab on this site.
Download the current Froyo build from the Downloads tab on this site.
Be aware that these include the latest commits and are experimental.
NB: To install the SD builds on the Download tab see here for details.
We are grateful to Ran and Cley Faye for providing the prepared builds.
Start
by opening a terminal and change to the directory you downloaded the
build file to. Next you need to attach your squeaky clean, newly
formatted SD card to your system.
To mount it you need to know
what device name your system has allocated to it. This can vary due to
your distribution's rules and your hardware setup. If you are not sure
then plug in your card then try running -
You should see something like -
If
your system doesn't automatically mount the new partitions then you
need to mount the vfat (first) partition as root. Create a directory
under /mnt or use an existing one there. In this case /tmp1 -
Now you need to unpack the files from the build tar that you downloaded. First change to the directory you just mounted -
Now run the unpack commend as root -
Don't worry if you see some messages about not being able to change the ownership of files.
First move out of the mounted directory -
Now unmount the SD card as root -
Note:
Failing to unmount or sync the SD card before using it can lead to problems with the boot process below.
Remove
the SD card from your system and insert it into the Micro SD card in
the Freerunner. This is located below the SIM card.
When
you have reassembled your Freerunner, hold the 'Aux button' (top left)
in while you push the 'Power button' (bottom right). You should now see
a menu with several choices, keep pushing the Aux button until you
highlight the Option to "Boot from microSD card (FAT+ext2)". While this
option is highlighted push the 'Power button' again.
Now sit back and watch the fun!
Here's a short listing of what you should see during a normal installation:
Several boot messages
A message that the kernel is starting
A scary white screen for what seems forever but is only a few seconds
Lots of scrolling text
That white screen again (don't panic)
An
andorid-on-freerunner splash screen! (exactly what depends on how
creative Damir's been lately). This will be there for quite a while on
the first boot. NB:
"quite a while" = several minutes,
if it's still there after 10 minutes something has gone wrong. Go back
to the start and double check all the preparation steps!
Very fancy Android letters with rippling light effect.
Android start screen - locked!
Now you can use it!
Go to Use it
page to find out how.
Note
The first boot takes much
longer than subsequent ones, so don't worry.
To restore your contacts and SMS data, push your backup to your Android phone using ADB.
To
restore your data, run the restore script generated by the backup
script. This restore script will also install busybox, a file explorer,
and sets the date and time correctly.
Send your comments to the mailing list
http://code.google.com/p/android-on-freerunner/wiki/BuildIt
Main page
Get it
Before you start
Download
Installing
Use it
Post install set-up
Applications
Support
ADB shell
Dropbear SSH
Busybox SSH
Features
Emulate it
Improve it
The basics
A working repository
Working with the source
Build it
AoF on SD
Art
FAQ
BuildIt
Build your own system and test out your changes.
Updated
Oct 5, 2010
by niels.he...@gmail.com
In general the setup necessary to build Android-on-Freerunner is the same as for the main Android project. See the Get Android Source page
there for instructions on downloading source code and setting up your machine's build environment. One important difference:
The AoF-specific source code is hosted at our Gitorious repository, so
to checkout AoF code use the following command (not the one on the
source.android.com page):
The -b
parameter on the repo command specifies the branch to check out, currently either cupcake
or froyo
.
In general, for either Mac OS/X or Linux build machines, follow the instructions at the source.android.com page
. Notes on specific situations are below.
To build, do:
The
-j parameter will try to optimise the compilation process. The number
should represent the double the number of cores on your system. In this
example, the source is compiled on a dual core system. If you are trying
to diagnose a build error, not using the -j
parameter may make the diagnostics easier to read.
NOTE:
If you are building the Cupcake branch then you need to specify
'freerunner' as the TARGET_PRODUCT, if you are using a newer branch then
use 'fr'
Install
the packages recommended on the Android page for Ubuntu (32 or 64 bit).
Ubuntu 9.10 (Karmic Koala) and later no longer have Java 5 (which is
required) in the repositories. You can either manually download and
install it from the Oracle page
, or you can add the old repository lines to your sources.list. See this page
for instructions on the two approaches.
Also
in 9.10 and later, the default GCC version has changed, so gcc-4.3,
g++-4.3, liblzo2-dev and uboot-mkimage must be installed:
Whichever
of the methods above you've used to install Java 5, you need to point
the Android Java variables to the correct location. Something like:
Additionally you must set the proper GCC version with environment variables:
In
case you have multiple JREs installed, make sure to set the default to
the version required for your build. To find out what JREs you have
installed run the following:
To set the corect JRE, type:
Building
with 64-bit OS seems to be more problematic. See the list of packages
at the Android site, keeping in mind that you need GCC 4.3 versions of
some of the listed packages (cc-4.3-multilib and g++-4.3-multilib). If
you come up with a configuration that works, please post it to the
mailing list. On the other hand, if you are having problems fell free to
ask for help!
The
installer branch is important in case you want to build your own
installer package like the daily builds or releases. The installer
branch includes the qi bootloader and a kernel with busybox and
mtd-utils.
Prepare your system by downloading and installing the OpenMoko toolchain as described in this paragraph
. This you will need for compiling Buysybox.
Install the xutils-dev package since you will be needing lndir as part of the make process
Create a separate dir and get the source code on your system:
Compile the source by simply typing:
Now look for the files called qi.img and uImage.img.
For
those who wish to build their own AoF installation package from the
local repository, we have created a little script that will do this for
you. Pre-requisite is that you've successfully compiled your AoF branch
(e.g. Cupcake or Froyo) and the installer branch.
The script, called PackageInstaller.sh, is part of the installer branch and can be found in the installer directory.
The script requires two parameters: the path to your local installer branch and the path to your AoF branch.
An example of how to use the script:
The script will create the a file called aof-installpackage-YYYYMMDD.tar.gz in your current directory.
Copy your tar.gz to your SD card and you're ready to install your own AoF distro ;-)
Send your comments to the mailing list
http://code.google.com/p/android-on-freerunner/downloads/list
1 - 8
of 8
Columns:
1 - 8
of 8
http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware
The Neo FreeRunner
phone is the second hardware platform to take advantage of the Openmoko
software stack. You can find specifications of the hardware by
reviewing this introduction page and the pages in the category as shown
at the bottom of this page.
For basic details please see the Customer-oriented specifications.
]
1
Photos
2
Features
3
Hardware Specification
3.1
Hardware Electrical
3.2
Display
3.3
WiFi 802.11 b/g transceiver
3.4
Serial interfaces (UART)
3.5
Accelerometer
3.6
A-GPS
3.7
GPS Antenna Performance
3.8
Buttons
3.9
Sound outputs
3.10
Power Design Requirements
3.11
GSM/GPRS
3.12
GSM-GPRS Antenna Performance
3.13
SD card reader
3.14
Wi-Fi Modules
3.15
Wi-Fi Antenna Performance
3.16
Bluetooth
3.17
USB
3.18
Microphone
3.19
Firmware Image
3.20
PSN
3.21
IMEI
4
Package Specification
5
Life Cycle Specification
5.1
Product Life
5.2
Operating Temperature
5.3
Storage Temperature
5.4
ESD
5.5
Drop test
6
GTA02 Hardware Component Selection
6.1
Physical Dimensions
6.2
Main components
6.2.1
Processor
6.2.2
Power Management
6.2.3
Flash
6.2.3.1
NAND Flash
6.2.3.2
NOR Flash
6.2.4
SDRAM
6.3
GSM/GPRS
6.3.1
CALYPSO ASIC digital baseband
6.3.2
TI TWL3025BZGMR analog baseband
6.3.3
TI TRF6151 (GSM/PCS) RF Transceiver
6.4
AGPS
6.5
Accelerometers
6.6
Graphics/3D Acceleration
6.6.1
microSD
6.7
LCD Module (LCM)
6.7.1
Touch Screen
6.8
Bluetooth Module
6.8.1
Bluetooth Audio
6.9
WiFi Module
6.10
Vibrator
6.11
USB Host
6.12
USB Device
6.13
I2C Devices
6.14
Audio
6.14.1
Wolfson Codec
6.14.2
Mono Amplifier
6.14.3
Analog wired Headset
6.14.4
Buttons
6.15
Case
7
Accessory
7.1
Stylus
7.2
Battery
7.3
microSD Card
7.4
Charger
8
Hardware revision history
9
Debug Board
9.1
Debug Board Connector definition
10
Distinguishing hardware revisions
10.1
Inside the Bootloader
10.1.1
Mass production devices (A5 and later)
10.1.2
Prototypes (A4 and earlier)
10.2
Inside the Kernel
10.2.1
Mass production devices (A5 and later)
10.2.2
Prototypes (A4 and earlier)
10.3
From Userspace
11
Certification
11.1
FCC
11.2
CE
11.3
NCC
Hardware Specification
Full schematics
are available.
Hardware Electrical
400/500 MHz Samsung 2442B Processor/SOC (400 minimum, ARM920T core, ARMv4T)
Unbrickable dual Boot code in NAND FLASH and 2MB NOR FLASH
128 MB SDRAM total, 64 MB CPU internal, 64 MB external
256MB NAND Flash MCP package.
//////////////////////////////////////////////////
2,编译的时候,由于我天生弱智,所以在开始make的时候,应该打make -j2,结果我打了个make j2,然后编译总是停下来,然后说找不到一些DOC目录,如find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
find: `frameworks/base/frameworks/base/docs/html': 没有那个文件或目录
find: `out/target/common/docs/gen': 没有那个文件或目录
我编译停止是因为找不到以上目录而停下的呢,所以找了很久解决这个问题的办法,其实,这个问题完全不用管,是因为我的make命令敲错了。大概2天以后我才意识到这个问题,不过已经相当焦头烂额了。然后这回make -j2敲正确了以后,虽然还是说找不到目录,但是已经顺利继续编译下去了。
3,后来编译再次出错,内容是:
host C: libneo_cgi <= external/clearsilver/cgi/cgi.c
external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory
这个错误是因为我们缺少zlib1g-dev,需要使用apt-get命令从软件仓库中安装,如下:
sudo apt-get install zlib1g-dev
我在安装官网提示安装的一些库的时候,有些库安不上,说找不到,我想是
add-apt-repository的时候有些地址没有加上的缘故。
安装完这个库,编译就正常运行下去了。
4,编译完成后,就希望能把代码移植到开发板中,但是毫无头绪,一是不知这套代码干嘛用的,二是找遍编译完的代码,连个像样的文档都没有,source.android.com里面也没什么文档,以至于我连我搞了半天在搞什么也都不清楚,太奇怪了。像什么pdk.android.com这种介绍文档,官网直接说移除了,移到别的地方去了,移到哪里也不说,所以就找傻我。到网上查半天,有一个研究生论文《基于ARM9+S3C2440的android操作系统移植》写的比较详细,让我初步知道了我下载和编译半天的代码究竟干嘛使得。文档连接:http://www.docin.com/p-126417136.html
然后到网上去查官网的文档到底在哪,有人说,You can still find the documentation in the source code here android-gingerbread/development/pdk it contains a README telling how to generate the documentation.
The kandroid site also has a copy
http://www.kandroid.org/android_pdk/index.html
一些官网的文档:http://code.google.com/android/intro/index.html
http://code.google.com/android/what-is-android.html http://code.google.com/android/intro/index.html
API的介绍:http://developer.android.com/reference/packages.html
上不去可以用代理。
5, 不知什么原因,还是找不到最新的PDK文档。以上提到的文档链接全都过时了,没有最新的。所以只好搜中文的资料,按照一些有经验的人的方法来继续做。
6,(20110528)哎呀妈呀,今天在我说放弃并且开始尝试做qtopia的时候,android的相关的官方文档似乎终于被我找到了。
有两个网址,看似很像官网:http://code.google.com/p/androidteam/ 这个说可能又要转移了,转移到:
http://teampal.ustcsz.edu.cn/projects/android/wiki
7,(20110603)因为已经编译完成,因此在android根目录里面有一个out目录里会包含已经生成好的文件系统。我的输出在out/target/product/passion下面。里面生成了root,system,data等目录,以及这些目录的img文件。我具体的用法是,将system目录和data目录拷贝到root目录下,root目录里面本来就有system目录和data目录,但是都是空的,需要用上层的system目录和data目录来替换和覆盖。这样,就制作好了root目录了,这个目录就是android文件系统的根目录。可以用mkyaffs工具打包然后烧写flash,但是我是用的nfs来载入android文件系统的,因此,在挂载nfs以后,只要使用chroot来将根切换到我的android的root目录内就可以了。命令是:chroot /mnt/android/root/ /system/bin/sh然后回车,就可以了。回车以后,命令行提示“segmentation fault”错误,我理解是由于我的开发板是s3c2440的,cpu是armv4t的,因此不能运行android文件系统,必须找到支持armv4t的文件系统才可以。因此到网上查到了“android-on-freerunner”这个项目,这个项目是将android运行到armv4t上的一个项目,里面也有直接编译好的包可以下载,下面将里面的内容摘录一下。
网址:http://code.google.com/p/android-on-freerunner/
编译好的android文件系统下载和运行:http://code.google.com/p/android-on-freerunner/wiki/GetIt
android for armv4t原代码的获取和编译:http://code.google.com/p/android-on-freerunner/wiki/BuildIt
Neo Freerunner的硬件参数介绍:http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware
//下面摘录网站内容。
http://code.google.com/p/android-on-freerunner/wiki/GetIt
Main page
Get it
Before you start
Download
Installing
Use it
Post install set-up
Applications
Support
ADB shell
Dropbear SSH
Busybox SSH
Features
Emulate it
Improve it
The basics
A working repository
Working with the source
Build it
AoF on SD
Art
FAQ
GetIt
android-on-freerunner, Downloading & installing.
Updated
Mar 16, 2011
by niels.he...@gmail.com
Before you start
You need:A fully charged Openmoko Freerunner GTA02 telephone
An SD memory card supported on the Freerunner (non-exhaustive list available here
)
Some way of connecting your SD card to your computer.
Root priveliges on your Linux system
If required, you can find very comprehensive additional information
on most of the points covered below at the Openmoko Wiki site
.
Update GSM firmware
Some
of the issues with reading SIM card contacts, wakeup interrupts, etc.
can be fixed by updating the GSM firmware on your phone to the latest
version - currently Moko11. See the relevant OpenMoko wiki page
for full instructions on checking your version and how to update.
Backup your data - Manually
Be warned!Loading a new build means clearing everything from your SD card and
your telephone's memory, including the bootloader. Backup any personal
files or modified config files you want to keep from your Freerunner
now!
To back up your contacts and SMS data, create a local
directory to store the data and pull the data from your Android phone
using ADB.
$ mkdir backup $ mkdir backup / data $ adb pull / data / data / com . android . providers . contacts / databases / contacts . db backup / data / contacts . db $ adb pull / data / data / com . android . providers . telephony / databases / mmssms . db backup / data / mmssms . db $ adb pull / data / data / com . android . alarmclock / databases / alarms . db backup / data / alarms . db $ adb pull / data / data / com . android . providers . settings / databases / settings . db backup / data / settings . db $ adb pull / data / data / com . android . providers . calendar / databases / calendar . db backup / data / calendar . db $ adb pull / data / data / com . android . settings / backup / data / com . android . settings / $ adb pull / data / data / com . android . settings / shared_prefs / com . android . settings_preferences . xml backup / data / com . android . settings_preferences . xml $ adb pull / data / data / org . andnav2 / backup / data / org . andnav2 /
Backup your data - Automated
We'veadapted the script by Teodor Robas who created the initial script to
automatically backup contacts, sms, preferences, wallpaper, calendar and
so on. It creates a restore script for pushing these back to the
Freerunner after flashing a new image. This restore script will also
install busybox, a file explorer, and sets the date and time correctly.
You can check out the adapted script here.
Partition and format the SD card
ForAndroid to work properly the Micro SD Card in your FreeRunner needs to
have 2 primary partitions. The first needs to be a VFAT/MSDOS (16 or 32)
partition which is used is mounted as '/sdcard', this is used as a
storage area (for pictures, movies, music, etc). The second is an ext3
partition which Android mounts as '/data', this is where it stores
settings, caches, etc.
Experience has shown that sizing these at a
ratio of 3 to 1 works best. So if you have a 4GB card make a 3GB vfat
partition and a 1GB ext3 partion.
Experience has also shown that it is best to delete all existing partitions and create new when installing a new build. (This greatly helps the testing and bug fixing process).
Comprehensive information on partitioning and formatting your SD card can be found on the Openmoko Wiki.
Note
Users have reported that it is also possible to install Android by making a single partition formatted as VFAT/MSDOS.
Choose your build
First step is to decide which version of Android you want to install.One
of the big plus points with Android is that Google push regular
updates. The downside is that this project doesn't have the capacity to
maintain several branches.
The current maintained options are Cupcake (Android 1.5)
- as stable as it gets on the Freerunner with most functions working or Froyo (Android 2.2)
- so bleeding edge as it hurts.
There is also a Master branch which is following the "Android Open Source Project"
and will form the basis for future development. Allowing us to
piggy-back on code releases from Google without going back to the start
every time.
Next decide if you will create your own build:
See detailed instructions here
or if you want to use one of the prepared builds available:
Download the latest "stable" Cupcake build version featured on the Downloads tab on this site.
Download the current Froyo build from the Downloads tab on this site.
Be aware that these include the latest commits and are experimental.
NB: To install the SD builds on the Download tab see here for details.
We are grateful to Ran and Cley Faye for providing the prepared builds.
Installing
Startby opening a terminal and change to the directory you downloaded the
build file to. Next you need to attach your squeaky clean, newly
formatted SD card to your system.
To mount it you need to know
what device name your system has allocated to it. This can vary due to
your distribution's rules and your hardware setup. If you are not sure
then plug in your card then try running -
$ dmesg | tail
You should see something like -
scsi 5 : 0 : 0 : 0 : Direct - Access Multi Flash Reader 1.00 PQ : 0 ANSI : 0 sd 5 : 0 : 0 : 0 : Attached scsi generic sg2 type 0 usb - storage : device scan complete sd 5 : 0 : 0 : 0 : [ sdb ] Attached SCSI removable disk sd 5 : 0 : 0 : 0 : [ sdb ] 3862528 512 - byte logical blocks : ( 1.97 GB / 1.84 GiB ) sd 5 : 0 : 0 : 0 : [ sdb ] Assuming drive cache : write through sd 5 : 0 : 0 : 0 : [ sdb ] Assuming drive cache : write through sdb : sdb1 sdb2
If
your system doesn't automatically mount the new partitions then you
need to mount the vfat (first) partition as root. Create a directory
under /mnt or use an existing one there. In this case /tmp1 -
# mount /dev/sdb1 /mnt/tmp1
Now you need to unpack the files from the build tar that you downloaded. First change to the directory you just mounted -
$ cd / mnt / tmp1
Now run the unpack commend as root -
# tar -xvzf /path/to/build/file/build.tar.gz
Don't worry if you see some messages about not being able to change the ownership of files.
First move out of the mounted directory -
$ cd ~
Now unmount the SD card as root -
# umount /mnt/tmp1
Note:
Failing to unmount or sync the SD card before using it can lead to problems with the boot process below.
Remove
the SD card from your system and insert it into the Micro SD card in
the Freerunner. This is located below the SIM card.
Go!
Whenyou have reassembled your Freerunner, hold the 'Aux button' (top left)
in while you push the 'Power button' (bottom right). You should now see
a menu with several choices, keep pushing the Aux button until you
highlight the Option to "Boot from microSD card (FAT+ext2)". While this
option is highlighted push the 'Power button' again.
Now sit back and watch the fun!
Here's a short listing of what you should see during a normal installation:
Several boot messages
A message that the kernel is starting
A scary white screen for what seems forever but is only a few seconds
Lots of scrolling text
That white screen again (don't panic)
An
andorid-on-freerunner splash screen! (exactly what depends on how
creative Damir's been lately). This will be there for quite a while on
the first boot. NB:
"quite a while" = several minutes,
if it's still there after 10 minutes something has gone wrong. Go back
to the start and double check all the preparation steps!
Very fancy Android letters with rippling light effect.
Android start screen - locked!
Now you can use it!
Go to Use it
page to find out how.
Note
The first boot takes much
longer than subsequent ones, so don't worry.
Restore your data - Manually
To restore your contacts and SMS data, push your backup to your Android phone using ADB.$ cd backup $ adb push backup / data / contacts . db / data / data / com . android . providers . contacts / databases / contacts . db $ adb push backup / data / mmssms . db / data / data / com . android . providers . telephony / databases / mmssms . db $ adb push backup / data / alarms . db / data / data / com . android . alarmclock / databases / alarms . db $ adb push backup / data / settings . db / data / data / com . android . providers . settings / databases / settings . db $ adb push backup / data / calendar . db / data / data / com . android . providers . calendar / databases / calendar . db $ adb push backup / data / com . android . settings / / data / data / com . android . settings / $ adb push backup / data / com . android . settings_preferences . xml / data / data / com . android . settings / shared_prefs / com . android . settings_preferences . xml $ adb push backup / data / org . andnav2 / / data / data / org . andnav2 / $ adb shell sync $ adb shell reboot
Restore your data - Automated
Torestore your data, run the restore script generated by the backup
script. This restore script will also install busybox, a file explorer,
and sets the date and time correctly.
Send your comments to the mailing list
http://code.google.com/p/android-on-freerunner/wiki/BuildIt
Main page
Get it
Before you start
Download
Installing
Use it
Post install set-up
Applications
Support
ADB shell
Dropbear SSH
Busybox SSH
Features
Emulate it
Improve it
The basics
A working repository
Working with the source
Build it
AoF on SD
Art
FAQ
BuildIt
Build your own system and test out your changes.
Updated
Oct 5, 2010
by niels.he...@gmail.com
In general the setup necessary to build Android-on-Freerunner is the same as for the main Android project. See the Get Android Source page
there for instructions on downloading source code and setting up your machine's build environment. One important difference:
The AoF-specific source code is hosted at our Gitorious repository, so
to checkout AoF code use the following command (not the one on the
source.android.com page):
$ repo init - u git : //gitorious.org/android-on-freerunner/freerunner_platform_manifest.git -b froyo
The -b
parameter on the repo command specifies the branch to check out, currently either cupcake
or froyo
.
Setting up your system
In general, for either Mac OS/X or Linux build machines, follow the instructions at the source.android.com page. Notes on specific situations are below.
To build, do:
$ make - j 4 TARGET_PRODUCT = freerunner
The
-j parameter will try to optimise the compilation process. The number
should represent the double the number of cores on your system. In this
example, the source is compiled on a dual core system. If you are trying
to diagnose a build error, not using the -j
parameter may make the diagnostics easier to read.
NOTE:
If you are building the Cupcake branch then you need to specify
'freerunner' as the TARGET_PRODUCT, if you are using a newer branch then
use 'fr'
Ubuntu Linux
Installthe packages recommended on the Android page for Ubuntu (32 or 64 bit).
Ubuntu 9.10 (Karmic Koala) and later no longer have Java 5 (which is
required) in the repositories. You can either manually download and
install it from the Oracle page
, or you can add the old repository lines to your sources.list. See this page
for instructions on the two approaches.
Also
in 9.10 and later, the default GCC version has changed, so gcc-4.3,
g++-4.3, liblzo2-dev and uboot-mkimage must be installed:
# sudo aptitude install gcc-4.3 g++-4.3 liblzo2-dev uboot-mkimage sun-java5-jdk
Whichever
of the methods above you've used to install Java 5, you need to point
the Android Java variables to the correct location. Something like:
$ export JAVA_HOME =< path - to - jdk1 . 5.0 _22 > $ export ANDROID_JAVA_HOME = $JAVA_HOME
Additionally you must set the proper GCC version with environment variables:
$ export CC = gcc - 4.3 $ export CXX = g ++- 4.3
In
case you have multiple JREs installed, make sure to set the default to
the version required for your build. To find out what JREs you have
installed run the following:
$ sudo java - update - alternatives -- list
To set the corect JRE, type:
$ sudo java - update - alternatives -- set [ the correct 1.5 JRE ]
Building
with 64-bit OS seems to be more problematic. See the list of packages
at the Android site, keeping in mind that you need GCC 4.3 versions of
some of the listed packages (cc-4.3-multilib and g++-4.3-multilib). If
you come up with a configuration that works, please post it to the
mailing list. On the other hand, if you are having problems fell free to
ask for help!
The Installer branch
Theinstaller branch is important in case you want to build your own
installer package like the daily builds or releases. The installer
branch includes the qi bootloader and a kernel with busybox and
mtd-utils.
Prepare your system by downloading and installing the OpenMoko toolchain as described in this paragraph
. This you will need for compiling Buysybox.
Install the xutils-dev package since you will be needing lndir as part of the make process
$ sudo apt - get install xutils - dev
Create a separate dir and get the source code on your system:
$ repo init - u git : //gitorious.org/android-on-freerunner/freerunner_platform_manifest.git -b installer
Compile the source by simply typing:
$ make
Now look for the files called qi.img and uImage.img.
Installation Package
Forthose who wish to build their own AoF installation package from the
local repository, we have created a little script that will do this for
you. Pre-requisite is that you've successfully compiled your AoF branch
(e.g. Cupcake or Froyo) and the installer branch.
The script, called PackageInstaller.sh, is part of the installer branch and can be found in the installer directory.
The script requires two parameters: the path to your local installer branch and the path to your AoF branch.
An example of how to use the script:
$ ./ aof_installer / installer / PackageInstaller . sh ./ aof_installer ./ aof_cupcake
The script will create the a file called aof-installpackage-YYYYMMDD.tar.gz in your current directory.
Copy your tar.gz to your SD card and you're ready to install your own AoF distro ;-)
Send your comments to the mailing list
http://code.google.com/p/android-on-freerunner/downloads/list
1 - 8
of 8
Columns:
Filename ▼ | Summary + Labels ▼ | Uploaded ▼ | Size ▼ | DownloadCount ▼ | AndroidVersion ▼ | BuildVersion ▼ | ... | |
---|---|---|---|---|---|---|---|---|
android-on-freerunner-froyo-sd-201104.tar.gz | Froyo developers SD build from Apr 2011 Featured | Apr 17 | 57.2 MB | 327 | Froyo | ---- | ||
android-on-freerunner-froyo-201104.tar.gz | Froyo developers build from Apr 2011 Featured | Apr 17 | 66.8 MB | 272 | Froyo | ---- | ||
backup-android.sh | AoF backup script Featured | Mar 15 | 6.5 KB | 144 | ---- | ---- | ||
android-on-freerunner-cupcake-sd-stable-201101.tar.gz | Cupcake stable SD build from Jan 2011 Featured | Feb 1 | 38.5 MB | 454 | Cupcake | ---- | ||
android-on-freerunner-cupcake-stable-201101.tar.gz | Cupcake stable build from Jan 2011 Featured | Feb 1 | 46.5 MB | 514 | Cupcake | ---- | ||
FOSDEM2010 Openmoko Devroom Android on Freerunner 2010-02-07.pdf | FOSDEM 2010 AoF Presentation Featured | Feb 2010 | 988 KB | 2541 | ---- | ---- | ||
freerunner_emulator_theme2.zip | Theme for Freerunner emulation in SDK | Nov 2009 | 703 KB | 713 | ---- | ---- | ||
Android-on-Feerunner Test List 20091020 v0.2.xls | Android-on-Freerunner Test List Featured | Oct 2009 | 43.5 KB | 2392 | ---- | ---- |
of 8
http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware
The Neo FreeRunner
phone is the second hardware platform to take advantage of the Openmoko
software stack. You can find specifications of the hardware by
reviewing this introduction page and the pages in the category as shown
at the bottom of this page.
For basic details please see the Customer-oriented specifications.
Contents
[hide]
1
Photos
2
Features
3
Hardware Specification
3.1
Hardware Electrical
3.2
Display
3.3
WiFi 802.11 b/g transceiver
3.4
Serial interfaces (UART)
3.5
Accelerometer
3.6
A-GPS
3.7
GPS Antenna Performance
3.8
Buttons
3.9
Sound outputs
3.10
Power Design Requirements
3.11
GSM/GPRS
3.12
GSM-GPRS Antenna Performance
3.13
SD card reader
3.14
Wi-Fi Modules
3.15
Wi-Fi Antenna Performance
3.16
Bluetooth
3.17
USB
3.18
Microphone
3.19
Firmware Image
3.20
PSN
3.21
IMEI
4
Package Specification
5
Life Cycle Specification
5.1
Product Life
5.2
Operating Temperature
5.3
Storage Temperature
5.4
ESD
5.5
Drop test
6
GTA02 Hardware Component Selection
6.1
Physical Dimensions
6.2
Main components
6.2.1
Processor
6.2.2
Power Management
6.2.3
Flash
6.2.3.1
NAND Flash
6.2.3.2
NOR Flash
6.2.4
SDRAM
6.3
GSM/GPRS
6.3.1
CALYPSO ASIC digital baseband
6.3.2
TI TWL3025BZGMR analog baseband
6.3.3
TI TRF6151 (GSM/PCS) RF Transceiver
6.4
AGPS
6.5
Accelerometers
6.6
Graphics/3D Acceleration
6.6.1
microSD
6.7
LCD Module (LCM)
6.7.1
Touch Screen
6.8
Bluetooth Module
6.8.1
Bluetooth Audio
6.9
WiFi Module
6.10
Vibrator
6.11
USB Host
6.12
USB Device
6.13
I2C Devices
6.14
Audio
6.14.1
Wolfson Codec
6.14.2
Mono Amplifier
6.14.3
Analog wired Headset
6.14.4
Buttons
6.15
Case
7
Accessory
7.1
Stylus
7.2
Battery
7.3
microSD Card
7.4
Charger
8
Hardware revision history
9
Debug Board
9.1
Debug Board Connector definition
10
Distinguishing hardware revisions
10.1
Inside the Bootloader
10.1.1
Mass production devices (A5 and later)
10.1.2
Prototypes (A4 and earlier)
10.2
Inside the Kernel
10.2.1
Mass production devices (A5 and later)
10.2.2
Prototypes (A4 and earlier)
10.3
From Userspace
11
Certification
11.1
FCC
11.2
CE
11.3
NCC
Hardware Specification
Full schematicsare available.
Hardware Electrical
400/500 MHz Samsung 2442B Processor/SOC (400 minimum, ARM920T core, ARMv4T)Unbrickable dual Boot code in NAND FLASH and 2MB NOR FLASH
128 MB SDRAM total, 64 MB CPU internal, 64 MB external
256MB NAND Flash MCP package.
//////////////////////////////////////////////////
相关文章推荐
- mplayer在s3c2440上的编译移植
- Uboot2014.04移植到S3C2440(一)--编译过程
- S3C2440重新编译内核及移植QT4.7.3
- MiniGUI移植s3c2440(三) 搭建pc编译环境
- S3C2440重新编译内核及移植QT4.7.3
- uboot-2011.12移植到S3C2440(一)—— 简单修改使u-boot能够编译
- S3C2440上移植内核之编译Linux2.6.31出现问题
- 基于S3C2440的Linux-3.6.6移植——QT的编译与安装
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--编译内核
- mplayer在s3c2440上的编译移植
- 移植u-boot-2011.03到S3C2440(utu2440)方法与步骤###1. 配置和初步编译
- U-Boot移植(4)增加对S3C2440的支持 (修改编译错误)
- 基于S3C2440的Linux-3.6.6移植——tslib编译与安装
- 如何交叉编译 移植 QT
- arm_linux移植手记(一)——交叉工具链编译(下)
- S3C2440 madplayer mp3移植笔记
- 将qt-embedded-linux移植至arm(s3c2440)
- 针对TQ2440开发板上linux2.6.30.4内核的交叉编译和驱动程序的移植
- SQlite在PC和ARM上的编译移植
- ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植