[原创]嵌入式开发板中andriod系统的安装
0赞想用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手机这么流行,这个系统一定会很火,大家加油。