TI芯片android环境搭建和编译
1>. Reading package lists... Done
Building dependency tree
Reading state information... Done
Package sun-java6-jdk is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package sun-java6-jdk has no installation candidate
1、添加这个源:
sudo gedit /etc/apt/sources.list
打开源列表,在最后一行添加:
deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse,
或者deb http://cn.archive.ubuntu.com/ubuntu/ oneiric multiverse;保存退出。
或者sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
但是我得到的结果依旧是错误,几经寻找,终于找到一种方法最后的解决方法是:
sudo add-apt-repository ppa:ferramroberto/java
2、sudo apt-get update
3、sudo apt-get install sun-java6-jdk
2>.
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev minicom tftpd uboot-mkimage expect
$ sudo update-java-alternatives -s java-6-sun
【Java 6: for Gingerbread and newer】
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse" //2012-4-10 chang
sudo apt-get update
sudo apt-get install sun-java6-jdk
sudo update-java-alternatives -s java-6-sun
update-alternatives: error: 无 xulrunner-addons-javaplugin.so 的替换项。
update-alternatives: error: 无 xulrunner-addons-javaplugin.so 的替换项。
解决:apt-get install sun-java6-plugin
然后再update-java-alternatives -s java-6-sun (还是没有解决,不过对后面没有什么影响)
3>.
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd /opt
mkdir rowboat-android
cd rowboat-android
Download the pre-packaged repo from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_DevKit_2_0/index_FDS.html
tar -xvzf TI_Android_GingerBread_2.3_DevKit_2.0_Sources.tar.bz
cd TI_Android_GingerBread_2.3_DevKit_2.0_Sources
./.repo/repo/repo sync --local-only
This will generate the sources for
* Android
* Android Linux Kernel (in kernel directory)
* u-boot boot loader (in u-boot-omap3 directory)
* Toolchain (prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin) 编译器路径
export PATH=/opt/rowboat-android/TI_Android_GingerBread_2.3_DevKit_2.0_Sources/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:$PATH
export ANDROID_ROOT=/opt/rowboat-android/TI_Android_GingerBread_2.3_DevKit_2.0_Sources ###########<android_root>
4>.
cd $ANDROID_ROOT/u-boot-omap3
make CROSS_COMPILE=arm-eabi- ARCH=arm distclean
make CROSS_COMPILE=arm-eabi- ARCH=arm ti8168_evm_min_sd ###########<default_config_sd>
make CROSS_COMPILE=arm-eabi- ARCH=arm u-boot.ti
mv u-boot.min.sd MLO
Where default_config_sd is
ti8148_evm_min_sd : For TI814X EVM
ti8168_evm_min_sd : For TI816X EVM
This will generate a file u-boot.min.sd which needs to be renamed to MLO
make ARCH=arm CROSS_COMPILE=arm-eabi- distclean
make ARCH=arm CROSS_COMPILE=arm-eabi- ti8168_evm_config ###########<default_config>
make ARCH=arm CROSS_COMPILE=arm-eabi-
Where default_config_sd is
ti8148_evm_config : For TI814X EVM
ti8168_evm_config : For TI816X EVM
This command will build the u-boot Image "u-boot.bin"
5>.
cd $ANDROID_ROOT/kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- distclean
make ARCH=arm CROSS_COMPILE=arm-eabi- ti8168_evm_android_defconfig ###########<default config>
make ARCH=arm CROSS_COMPILE=arm-eabi- uImage
Where default config is
ti8148_evm_android_defconfig : For TI814X EVM
ti8168_evm_android_defconfig : For TI816X EVM
"mkimage" command not found - U-Boot images will not be built
apt-get install uboot-mkimage
6>.
cd $ANDROID_ROOT
make TARGET_PRODUCT=ti816xevm OMAPES=6.x ##############<product_name>
(1)/bin/bash: bison: command not found
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install bison
(2)make: *** No rule to make target `Please-install-JDK-5.0,-update-12-or-higher,-which-you-can-download-from-java.sun.com',
needed by `out/target/common/docs/api-stubs-timestamp'. Stop.
解决:安装JDK 5.0
1):根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里我们使用jdk5
2): 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list
3): 在source.list里把以下2行拷贝到文档最后面:
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
保存退出。
4): 执行 sudo apt-get update 更新源
5): 配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk
(3)/bin/bash: g++: command not found
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o] Error 127
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install build-essential
(4)external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory
external/clearsilver/cgi/cgi.c: In function ‘cgi_compress’:
external/clearsilver/cgi/cgi.c:885: error: ‘z_stream’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:885: error: (Each undeclared identifier is reported only once
external/clearsilver/cgi/cgi.c:885: error: for each function it appears in.)
external/clearsilver/cgi/cgi.c:885: error: expected ‘;’ before ‘stream’
external/clearsilver/cgi/cgi.c:888: error: ‘stream’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:888: error: ‘Bytef’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:888: error: expected expression before ‘)’ token
external/clearsilver/cgi/cgi.c:889: error: ‘uInt’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:889: error: expected ‘;’ before ‘str’
external/clearsilver/cgi/cgi.c:890: error: expected expression before ‘)’ token
external/clearsilver/cgi/cgi.c:892: error: ‘uLong’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:892: error: expected ‘)’ before ‘stream’
external/clearsilver/cgi/cgi.c:895: error: ‘alloc_func’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:895: error: expected ‘;’ before numeric constant
external/clearsilver/cgi/cgi.c:896: error: ‘free_func’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:896: error: expected ‘;’ before numeric constant
external/clearsilver/cgi/cgi.c:897: error: ‘voidpf’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:897: error: expected ‘;’ before numeric constant
external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFAULT_COMPRESSION’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFLATED’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:900: error: ‘MAX_WBITS’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:900: error: ‘Z_DEFAULT_STRATEGY’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:901: error: ‘Z_OK’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:904: error: ‘Z_FINISH’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:905: error: ‘Z_STREAM_END’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c: In function ‘cgi_output’:
external/clearsilver/cgi/cgi.c:1200: error: ‘Z_NULL’ undeclared (first use in this function)
external/clearsilver/cgi/cgi.c:1201: error: expected ‘)’ before ‘Bytef’
external/clearsilver/cgi/cgi.c:1218: error: ‘Z_DEFLATED’ undeclared (first use in this function)
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install zlib1g-dev
(5)/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install flex
(6)/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libncurses-dev
(7)prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: error: X11/Xlib.h: No such file or directory
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:56:23: error: X11/Xatom.h: No such file or directory
In file included from external/qemu/android/skin/window.c:19:
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:73: error: expected specifier-qualifier-list before ‘XEvent’
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:86: error: expected specifier-qualifier-list before ‘Display’
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/skin/window.o] Error 1
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install libx11-dev
(8)sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h]
Error 25
make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'
解决:a@ubuntu:~/work/android-2.1_r2$ sudo apt-get install gperf
http://hi.baidu.com/maxgoto/blog/item/fa000f7bf01135f80ad187d8.html
7>.
export SYSLINK_ROOT=$ANDROID_ROOT/hardware/ti/ti81xx/syslink_vpss/syslink_02_00_00_67_alpha2
export FS_ROOT=$ANDROID_ROOT/out/target/product/ti816xevm ###############<product_name>
export IPCDIR=$ANDROID_ROOT/hardware/ti/ti81xx/syslink_vpss/ipc_1_22_03_23/packages
export TARGET_PRODUCT=ti816xevm ##########<product_name>环境变量设置所有变量靠近“=”号
export SYSLINK_VARIANT=TI816X #############<variant_name>
Note: product_name is ti814xevm for TI814X and ti816xevm for TI816X
variant_name is TI814X or TI816X
cd $SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX
cd $SYSLINK_ROOT/ti/syslink/utils/hlos/usr/Linux
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX clean
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX
cd $SYSLINK_ROOT/ti/syslink/samples/hlos/procMgr/usr/Linux
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI816X clean
make ARCH=arm CROSS_COMPILE=arm-eabi- SYSLINK_PLATFORM=TI81XX SYSLINK_VARIANT=TI816X
cp -r $ANDROID_ROOT/device/ti/$TARGET_PRODUCT/syslink $ANDROID_ROOT/out/target/product/$TARGET_PRODUCT/system/bin
cp -r $SYSLINK_ROOT/ti/syslink/bin/$SYSLINK_VARIANT/syslink.ko $SYSLINK_ROOT/ti/syslink/bin/$SYSLINK_VARIANT/samples/procmgrapp_release \
$ANDROID_ROOT/hardware/ti/ti81xx/syslink_vpss/hdvpss/$SYSLINK_VARIANT/* $ANDROID_ROOT/out/target/product/$TARGET_PRODUCT/system/bin/syslink/
8>.
cd $ANDROID_ROOT/kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- KBUILD_EXTRA_SYMBOLS=$SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux/Module.symvers modules
make ARCH=arm CROSS_COMPILE=arm-eabi- INSTALL_MOD_PATH=$FS_ROOT/system/ \
KBUILD_EXTRA_SYMBOLS=$SYSLINK_ROOT/ti/syslink/utils/hlos/knl/Linux/Module.symvers modules_install
9>.
cd $ANDROID_ROOT/hardware/ti/sgx
make ANDROID_ROOT_DIR=$ANDROID_ROOT OMAPES=6.x
make ANDROID_ROOT_DIR=$ANDROID_ROOT OMAPES=6.x install
10>
cd $ANDROID_ROOT/out/target/product/ti816xevm ###############<product_name>
mdkir android_rootfs
cp -r root/* android_rootfs
cp -r system android_rootfs
sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2
NOTE: product_name can be ti814xevm or ti816xevm
11>.
cd /opt/TI_Android_GingerBread_2.3_DevKit_2.0/Prebuilt_Images
../Tools/mk-bootscr/mkbootscr
mkdir DVR_TI816X
cp $ANDROID_ROOT/kernel/arch/arm/boot/uImage DVR_TI816X
cp $ANDROID_ROOT/u-boot-omap3/u-boot.bin DVR_TI816X
cp $ANDROID_ROOT/u-boot-omap3/MLO DVR_TI816X
cp boot.scr DVR_TI816X
cp $ANDROID_ROOT/out/target/product/ti816xevm/rootfs.tar.bz2 DVR_TI816X
cp -rf AM389X_TI816X/Media_Clips DVR_TI816X/
cp ../Tools/mk-mmc/mkmmc-android.sh DVR_TI816X/
cd DVR_TI816X
./mkmmc-android.sh /dev/sdb MLO u-boot.bin uImage boot.scr rootfs.tar.bz2 Media_Clips
Note:
./mkmmc-android <sd card mounted dev folder example:/dev/sdc> MLO u-boot.bin uImage boot.scr rootfs.tar.bz2 Media_Clips
12>.
从SD卡启动
setenv bootargs 'mem=166M@0x80000000 mem=768M@0x90000000 console=ttyO2,115200n8 androidboot.console=ttyO2 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off'
mmc init
fatload mmc 0 81000000 uImage
bootm 0x81000000
13>.
从NFS加载文件系统
mkdir /home/m/rfs_816x
cd /home/m/rfs_816x
tar -jxvf rootfs.tar.bz2
vim /etc/exports
/home/m/rfs_816x *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
sudo exportfs -a
sudo service nfs-kernel-server restart
setenv bootargs 'mem=166M@0x80000000 mem=768M@0x90000000 console=ttyO2,115200n8 androidboot.console=ttyO2 noinitrd ip=dhcp rw init=/init root=/dev/nfs nfsroot=192.168.168.188:/home/m/rfs_816x rootwait '
mmc init
fatload mmc 0 81000000 uImage
bootm 0x81000000
TI芯片android环境搭建和编译的更多相关文章
- Android : VLC for Android 环境搭建及编译
一.下载VLC源码: git clone https://code.videolan.org/videolan/vlc-android.git 编译apk: sh compile.sh -a ar ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
- Android环境搭建及Ionic打包(win7)
本人刚刚接触Ionic3,初步进行打包操作,将其遇到的问题和整个流程记录下载,方便以后的巩固,也为小白们提供一个参考.因本人没有appleヽ(ー_ー)ノ,而且使用的是WIN7系统,所以暂时只提供了WI ...
- Android基础学习:Android环境搭建
在3年前,自学过Android的一些基础知识,但是那个时候Linux等其他的知识结构比较薄弱,理解得不是很深刻,后来因项目变动的原因,没有再搞Android相关的东西了.时过境迁,还是因为项目变动,重 ...
- cocos2d-x 3.0 Android环境搭建(亲測通过)
网上一大堆讲述coco2d-x 3.0 版本号的android环境搭建.真是不忍直視.讲的不清不楚,真是不知道他们自己有没有測试过.今天正好忙完项目有点时间去部署了下android环境. cocos2 ...
- FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译
前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...
- Android 环境搭建
一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/ Oracl ...
- 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告
20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...
随机推荐
- fcntl,F_GETFL,F_SETFL,flags
1.获取文件的flags,即open函数的第二个参数: flags = fcntl(fd,F_GETFL,0); 2.设置文件的flags: fcntl(fd,F_SETFL,flags); 3.增加 ...
- python学习之路-8 面向对象之进阶
上篇内容回顾和补充 面向对象三大特性 封装 继承 多态 在python中没有多态的概念 变量的类型允许为多种数据类型称之为多态 # c#/java中的多态 # 伪代码 def func(int arg ...
- [Java 并发] Java并发编程实践 思维导图 - 第一章 简单介绍
阅读<Java并发编程实践>一书后整理的思维导图.
- css中的伪类
伪类用于向某些选择器添加一些特殊效果. 1):focus 伪类在元素获得焦点的时向元素添加特殊样式.一般用于输入文本域,按钮,以及超链接. a:focus{color:red;}超链接字体为红色 in ...
- 关于object在使用上的问题
关于object在使用上的问题 1.直接调用标签<object>中的单击事件 <object>是含有onclick和ondblclick两个事件的.按照以往方式,直接在里面调用 ...
- SQL Server两种分页的存储过程介绍
由于现在很多的企业招聘的笔试都会让来招聘的写一个分页的存储过程,有的企业甚至要求应聘者用两种方式实现分页,如果没有在实际项目中使用过分页,那么很多的应聘者都会出现一定的问题,下面介绍两种分 ...
- flex 调用WebService1(基于.net)
以.net平台下C#语言开发的WebService为web服务,使用flex actionscript语句访问webservice接口 Flex: Temp.mxml部分代码 //调用WebSer ...
- ORACLE SEQUENCE用法 (自增长)
在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系. 1.Create Sequence 首先要有CREATE SEQUENCE或者CREATE ...
- (转)ultraedit for linux 安装与注册破解
http://hi.baidu.com/simonwoos_zone/item/93f88b41dbad48e41e19bcc8
- (原)Eclipse的java中文件读写
1 在<uses-sdk…/>下面添加permission <uses-sdk android:minSdkVersion="16" android:target ...