snifer

[原创]嵌入式开发板中andriod系统的安装

0
阅读(3415)

想用psoc4来开发的,可惜没收到板子,今天在我自己的板子上安装了一下andriod系统,特写出这个过程,与大家分享。


1、环境准备
A、工具安装
$ apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev
B、安装java
$ ./jdk5.bin
$ export JAVA_HOME=$PWD/jdk1.5.0_21
$ export PATH=$JAVA_HOME/bin:$PATH
$ export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、

# tar xvf eclair_2.1.tar.bz2

在vendor目录下创建自己公司目录,然后在公司目录下创建一个新的vendorsetup.sh,在里面添加上自己的产品编译项
公司名称:farsight
产品名称:fs100
主板名称:smdkc100

A、准备目录
$ mkdir vendor 创建用户目录
$ mkdir vendor/farsight 创建公司目录
$ mkdir vendor/farsight/products 创建产品目录

B、products下创建一个产品Makefile文件fs100.mk
PRODUCT_PACKAGES := \
AlarmClock \
Email \
Fallback \ 
Launcher2 \ 
Music \ 
Camera \ 
Settings \ 
LatinIME \ 
NotePad \ 
SoundRecorder \ 
Bluetooth \ 
CertInstaller \ 
DeskClock

$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk) 

# Overrides 
PRODUCT_MANUFACTURER := farsight 
PRODUCT_BRAND := farsight 
PRODUCT_NAME := fs100 
PRODUCT_MODEL := MultiMedia Touch Phone 
PRODUCT_DEVICE := smdkc100 
PRODUCT_LOCALES := zh_CN
 
C、在vendor/farsight/products目录下创建一个AndroidProducts.mk文件,定义Android产品配置文件的路径
PRODUCT_MAKEFILES := $(LOCAL_DIR)/fs100.mk

C、在公司目录下创建一个主板目录
$ mkdir vendor/farsight/fs100

D、在vendor/farsight/fs100主板目录下新建一个主板配置文件BoardConfig.mk,内容如下:
TARGET_CPU_ABI := armeabi
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
TARGET_PROVIDES_INIT_RC := true
TARGET_PROVIDES_INIT_TARGET_RC := true
TARGET_BOARD_PLATFORM := s5pc100
BOARD_USES_GENERIC_AUDIO := true
USE_CAMERA_STUB := true

SCREEN_WIDTH := 480
SCREEN_HEIGHT := 272
DEFAULT_FB_NUM := 0

D、如果要修改系统属性,则可以在vendor/farsight/fs100主板目录下新建一个system.prop文件,该文件中可以修改系统属性,举例如下:
#
# system.prop for fs_s5pc100
#

rild.libpath=/system/lib/libreference-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=160

E、在vendor/farsight/fs100主板目录下创建一个Android的主板配置文件AndroidBoard.mk,此文件是编译系统接口文件,内容如下:
# make file for new hardware from 

LOCAL_PATH := $(call my-dir)

# this is here to use the pre-built kernel 
ifeq ($(TARGET_PREBUILT_KERNEL),) 
TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel 
endif

file := $(INSTALLED_KERNEL_TARGET) 
ALL_PREBUILT += $(file) 
$(file): $(TARGET_PREBUILT_KERNEL) | $(ACP) 
$(transform-prebuilt-to-target)


# no boot loader, so we don't need any of that stuff..

LOCAL_PATH := vendor/farsight/fs100
include $(CLEAR_VARS) 

# include more board specific stuff here? Such as Audio parameters. 
#

F、编译新的项目

$ touch vendor/farsight/vendorsetup.sh    
$ echo "add_lunch_combo fs100-eng" > vendor/farsight/vendorsetup.sh

$ source ./build/envsetup.sh
$ lunch fs100-eng
$ make clean
$ make

=========================================================================================
1、环境准备
A、工具安装
$ apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev
B、安装java
$ cd /home
$ ./jdk5.bin
$ export JAVA_HOME=$PWD/jdk1.5.0_21
$ export PATH=$JAVA_HOME/bin:$PATH
$ export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、
# cd /home
# tar xvf eclair_2.1_farsight.tar.bz2

3\
$ cd eclair_2.1_farsight
$ touch vendor/farsight/vendorsetup.sh    
$ echo "add_lunch_combo fs100-eng" > vendor/farsight/vendorsetup.sh

$ source ./build/envsetup.sh
$ lunch fs100-eng
$ make clean
$ make
$ make_fs100_yaffs2_image.sh
这个没法截图,如果有兴趣的可以跟我交流,最近andriod手机这么流行,这个系统一定会很火,大家加油。