Firefly开源社区

标题: 从零开始~~~Firefly编译环境开荒贴 [打印本页]

作者: 暴走的阿Sai    时间: 2014-10-13 17:29
标题: 从零开始~~~Firefly编译环境开荒贴
本帖最后由 暴走的阿Sai 于 2017-8-21 17:15 编辑

编译环境开荒贴,从零开始完成Firefly编译环境{:3_62:}

第一步:安装Ubuntu12.04,使用安装盘安装(安装的过程就不详写了,下面贴图)





安装完后,更新ubuntu



第二步:
从官网上下载SDK,进行编译环境的安装

下载SDK有两种方式,一是下载压缩包,二是通过git下载。

我选择了下载压缩包。SDK百度云下载地址:https://pan.baidu.com/s/1bpm190r#list/path=%2FPublic%2FDevBoard%2FFirefly-RK3288%2FSource%2FAndroid4.4&parentPath=%2FPublic

在等待代码下载完成的同时,开始按照官方的步骤进行环境安装。
为了方便按照我写了3个简单的脚本(java6.sh、ubuntu1204_evn.sh和arm.sh),直接输入官网的命令也可。
1,在终端输入
   ./java6.sh
   安装 JDK6,遇到要选择的时候一路选择y或者yes即可
   等待安装完毕
   

   安装完毕

2,在终端输入
   ./ubuntu1204_evn.sh
   安装编译需要的包和库,同样遇到要选择的时候一路选择y或者yes即可
   等待安装完毕
   
   安装完毕

3,在终端输入
   ./arm.sh
   安装 ARM 交叉编译工具链和编译内核相关软件包
   等待安装完毕
   
   安装完毕

到了这步就环境就按照完毕,只缺代码来编译验证了。

4,下载完代码后校正MD5码,无误后进行解压。解压出来是一个.git文件,这个是git管理的文件目录。用git reset可以把他还原
   还原后就可以看到我们的代码目录结构了,但先不要着急去编译。先按照官网同步代码:
   git remote add bitbucket https://TeeFirefly@bitbucket.org/T-Firefly/firefly-rk3288.git
   git pull bitbucket master:master
   
到了这步代码已经准备完毕

第三步:
1,进入代码进行编译(首先一定要编译内核,否则编译Android会出错哦)
进入kernel目录后:
make firefly-rk3288_beta_defconfigmake -j8 firefly-rk3288_beta.im

编译成功

2,然后进入SDK目录,编译Android:
make -j8
这个编译十分漫长,笔者用的是联想L440 I5+2G的笔记本,大概编译了4个小时{:3_58:}机友们要耐心等待,如果出现电脑卡的情况可以试试减少编译进程适应make -j2或者直接用make

妥妥的终于编译完成{:3_59:}

总结:开荒搭配环境的整个过程都十分顺利,由衷的感觉官网的编译说明做的很好,这个要大赞一个{:3_62:}只要按照官网的步骤一步一步来安装,编译环境还是妥妥的。

顺便给出官网的编译说明传送门:http://wiki.t-firefly.com/index.php/Firefly-RK3288/Build_android


脚本打包.rar

569 Bytes, 阅读权限: 10, 下载次数: 643, 下载积分: 灯泡 -1 , 经验 -1


作者: jpchen    时间: 2014-10-20 16:22
新手,看了一下受益了,安装然后编译,很顺畅
作者: kxhui    时间: 2014-10-21 08:42
之前我的编译出错 正好学习下
作者: mydreammyhome    时间: 2014-10-21 09:44
liujing@liujing-virtual-machine:~$ ./arm.sh
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
现在没有可用的软件包 lzop,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

现在没有可用的软件包 gcc-arm-linux-gnueabihf,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 gcc-arm-linux-gnueabihf 没有可供安装的候选者
E: 软件包 lzop 没有可供安装的候选者
liujing@liujing-virtual-machine:~$

作者: mydreammyhome    时间: 2014-10-21 09:46
楼主,这个是怎么回事?应该怎么办,目前小白
作者: 暴走的阿Sai    时间: 2014-10-21 10:23
mydreammyhome 发表于 2014-10-21 09:46
楼主,这个是怎么回事?应该怎么办,目前小白

这个问题是因为你的系统/etc/apt/sources.list的源没有这个资源,你备份自己的sources.list后用我的sources.list试试,然后要
  1. sudo apt-get update
复制代码


作者: 暴走的阿Sai    时间: 2014-10-21 10:37
mydreammyhome 发表于 2014-10-21 09:46
楼主,这个是怎么回事?应该怎么办,目前小白

论坛传不到这个格式,附件自行解压sources.list出来

sources.list.tar.gz

993 Bytes, 阅读权限: 10, 下载次数: 104, 下载积分: 灯泡 -1 , 经验 -1


作者: mydreammyhome    时间: 2014-10-21 21:28
楼主,谢谢你的回复,我原先的服务器的问题,我刚开始选的中国,后来换成了个源就好了,其他软件把第三方软件的两个勾取消了,
在运行sudo apt-get update后,系统就能升级了,升级后就能够运行./arm.sh了,我发了两张图不知道这么发能显示不。

作者: 我就是我lxw    时间: 2014-11-10 10:46
楼主,您好,我执行 git pull bitbucket master:master 命令的时候提示输入密码是什么原因,是本机账户的密码么还是远程的密码?我输入后提示
error: Couldn't resolve host 'bitbucket.org' while accessing 省略URL链接
fatal: HTTP request failed
作者: 暴走的阿Sai    时间: 2014-11-10 15:24
我就是我lxw 发表于 2014-11-10 10:46
楼主,您好,我执行 git pull bitbucket master:master 命令的时候提示输入密码是什么原因,是本机账户的密 ...

这个提示显示的是网络的问题,9楼先检查一下网络设置看看?
作者: 赤瞳神人    时间: 2014-11-24 11:10
楼主问个问题:已经装好来ubuntu还要在按照官网的步骤安装ubunt12。04和13.10什么的吗?官网的步骤不太清楚,现在正在安装sdk
作者: 暴走的阿Sai    时间: 2014-11-24 11:33
赤瞳神人 发表于 2014-11-24 11:10
楼主问个问题:已经装好来ubuntu还要在按照官网的步骤安装ubunt12。04和13.10什么的吗?官网的步骤不太清楚 ...

只要64bit的Ubuntu系统就可以,不过12.04是官方推荐的。
作者: 赤瞳神人    时间: 2014-11-24 12:33
暴走的阿Sai 发表于 2014-11-24 11:33
只要64bit的Ubuntu系统就可以,不过12.04是官方推荐的。

也就是不需要在安装ubuntu14.04什么的来吧?
作者: 暴走的阿Sai    时间: 2014-11-24 14:19
赤瞳神人 发表于 2014-11-24 12:33
也就是不需要在安装ubuntu14.04什么的来吧?

不需要
作者: jason.h    时间: 2014-11-24 20:30
我用联想Y400, I5 4G内存 WIN8,
在安装的ubuntu虚拟机,虚拟机分配4核CPU 1.5G内存 + 6G swap
编译下来用了7个多小时.
楼主应该是用的独立系统
作者: 暴走的阿Sai    时间: 2014-11-25 09:13
jason.h 发表于 2014-11-24 20:30
我用联想Y400, I5 4G内存 WIN8,
在安装的ubuntu虚拟机,虚拟机分配4核CPU 1.5G内存 + 6G swap
编译下来用 ...

不推荐虚拟机装Ubuntu,好编译好久。主系统是Ubuntu可以省下一半时间
作者: 惊涛骇浪    时间: 2014-12-6 22:44
阿sai哥:
您说的,3个简单的脚本(java6.sh、ubuntu1204_evn.sh和arm.sh)在哪里?
作者: vtony    时间: 2014-12-16 06:23
新手. 有些基本问题想请教版大:

1. 下载安装源码,完成内核编译後,开始编译系统, 须要设定以下吗?
$ source build/envsetup.sh
$ lunch

2. u-boot 是跟系统分开独自编译, 採用second_level_config, 产生uboot.img 却没有产生bootloader.bin, 该如何flash 到 eMMC 内?
作者: 暴走的阿Sai    时间: 2014-12-16 09:54
vtony 发表于 2014-12-16 06:23
新手. 有些基本问题想请教版大:

1. 下载安装源码,完成内核编译後,开始编译系统, 须要设定以下吗?

1,编译完kernel后,直接make则可。SDK已经做过处理,不需要再次lunch
2,第二条楼主可以参考RKDocs的相关的Uboot文档:lol
作者: 暴走的阿Sai    时间: 2014-12-16 09:54
惊涛骇浪 发表于 2014-12-6 22:44
阿sai哥:
您说的,3个简单的脚本(java6.sh、ubuntu1204_evn.sh和arm.sh)在哪里?

在帖子的附件
作者: 惊涛骇浪    时间: 2014-12-22 23:08
暴走的阿Sai 发表于 2014-12-16 09:54
在帖子的附件

多谢
作者: 屋里人    时间: 2016-5-4 18:57
新手,学习中

作者: kokuty    时间: 2016-6-16 12:40
新手,看了一下受益了,安装然后编译,很顺畅
作者: fireflyde    时间: 2016-6-22 10:08
感谢楼主,从零开始找到点感觉了。
作者: hawkuu    时间: 2016-6-22 11:13
暴走的阿Sai 发表于 2014-10-21 10:37
论坛传不到这个格式,附件自行解压sources.list出来

多谢你的sources.list
作者: firefly001    时间: 2016-6-29 10:22
想问一下,我的编译过程都是没问题的,可是,可是,打包生成update固件后,烧录就是不对啊,4.4的是firefly界面卡在,5.1的是花屏
作者: 大头fx    时间: 2016-6-30 09:11
ia32-libs 死活安装不了怎么破,已换源,都不行
作者: gyj82117    时间: 2016-7-2 21:59
新手学习了
作者: Cedar    时间: 2016-8-23 12:29
小白学习一发
作者: onecan    时间: 2016-9-6 23:29
赞一个,谢谢楼主
作者: 沙漠中的夜行者    时间: 2016-10-21 18:04
新手学习

作者: flyfile    时间: 2017-2-24 16:08
mark,不错{:4_167:}
作者: 、梦屿千寻    时间: 2017-2-26 12:01
新手学习
作者: 网老无    时间: 2017-3-9 14:07
大牛
作者: chenwenhui0408    时间: 2017-4-11 10:47
6666666
作者: zhangjiekl    时间: 2017-4-14 15:40
多谢楼主
作者: 镜花水中月    时间: 2017-5-9 11:26
楼主,你好,如果我的Ubuntu系统是16.04的,需要安装哪些编译工具
作者: jacky_shen    时间: 2017-5-16 06:43
楼主,我按照教程输入./java6.sh。然后终端输出如下:
gpg: 钥匙环‘/tmp/tmp2LzLUm/secring.gpg’已建立
gpg: 钥匙环‘/tmp/tmp2LzLUm/pubring.gpg’已建立
gpg: 下载密钥‘EEA14886’,从 hkp 服务器 keyserver.ubuntu.com
gpg: /tmp/tmp2LzLUm/trustdb.gpg:建立了信任度数据库
gpg: 密钥 EEA14886:公钥“Launchpad VLC”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)

然后终端继续输出,直到输出;
下载 7,099 kB,耗时 23秒 (301 kB/s)                                            
W: 无法下载 http://cn.archive.ubuntu.com/ubu ... cted/source/Sources  Hash 校验和不符
W: 无法下载 http://cn.archive.ubuntu.com/ubu ... nary-amd64/Packages  Hash 校验和不符
E: Some index files failed to download. They have been ignored, or old ones used instead.

这样是什么问题?请帮忙解决。



作者: 志摩千岁    时间: 2017-5-24 11:02
file:///home/shanyu/%E5%9B%BE%E7%89%87/error.png


大神帮忙看看是什么问题 ?

gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

java 我换了openjdk-7

内核编译OK   android编译这快一直卡在这里

作者: 志摩千岁    时间: 2017-5-24 11:03
志摩千岁 发表于 2017-5-24 11:02
file:///home/shanyu/%E5%9B%BE%E7%89%87/error.png

file:///home/shanyu/%E5%9B%BE%E7%89%87/error.png
作者: 志摩千岁    时间: 2017-5-24 11:04
志摩千岁 发表于 2017-5-24 11:03

Export includes file: frameworks/base/tools/validatekeymaps/Android.mk -- out/host/linux-x86/obj32/EXECUTABLES/validatekeymaps_intermediates/export_includes
Export includes file: build/libs/host/Android.mk -- out/host/linux-x86/obj32/STATIC_LIBRARIES/libhost_intermediates/export_includes
Import includes file: out/host/linux-x86/obj32/STATIC_LIBRARIES/libhost_intermediates/import_includes
Export includes file: build/tools/acp/Android.mk -- out/host/linux-x86/obj32/EXECUTABLES/acp_intermediates/export_includes
Notice file: system/core/libutils/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib64/libutils.a.txt
Notice file: system/core/libutils/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib/libutils.a.txt
Notice file: system/core/libcutils/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib64/libcutils.a.txt
Notice file: system/core/libcutils/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib/libcutils.a.txt
Notice file: system/core/liblog/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib64/liblog.a.txt
Notice file: system/core/liblog/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//lib/liblog.a.txt
host Java: antlr-runtime (out/host/common/obj/JAVA_LIBRARIES/antlr-runtime_intermediates/classes)
Notice file: external/antlr/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/antlr-runtime.jar.txt
host Java: jsr305lib (out/host/common/obj/JAVA_LIBRARIES/jsr305lib_intermediates/classes)
Notice file: external/guava/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/guavalib.jar.txt
host Java: tagsouplib (out/host/common/obj/JAVA_LIBRARIES/tagsouplib_intermediates/classes)
Notice file: external/doclava/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/doclava.jar.txt
target Java: core-libart (out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes)
Yacc: aidl <= frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison -d  -o out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
prebuilts/misc/linux-x86/bison/bison: m4 子进程失败
build/core/binary.mk:539: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 1
make: *** 正在等待未完成的任务....
Import includes file: out/host/linux-x86/obj32/EXECUTABLES/aidl_intermediates/import_includes
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

#### make failed to build some targets (01:29 (mm:ss)) ####


作者: 鲁老师    时间: 2017-5-24 13:46
编译环境是最基础的,也有很多的参考资料,哪需要发那么多帖子
作者: 加菲猫    时间: 2017-5-25 15:42
从头学起
作者: 15059148140    时间: 2017-6-2 15:21
楼主还在吗  能告诉我你的ubuntu安装步骤吗
作者: ian700518    时间: 2017-6-12 13:54
谢谢版主~
作者: JuniBrave    时间: 2017-6-16 15:03
jacky_shen 发表于 2017-5-16 06:43
楼主,我按照教程输入./java6.sh。然后终端输出如下:
gpg: 钥匙环‘/tmp/tmp2LzLUm/secring.gpg’已建立
...

应该是网络的选择问题,在设置里面找软件更新,下载自里面选择其他站点,然后选择最佳站点,选定。再重试一下。如果用的是企业或者学校的网,建议在其他环境下试试
作者: alden2262001    时间: 2017-7-15 09:48
初学者,学一下
作者: cheng_86    时间: 2017-7-17 14:45
好资料。给新手开了个传送门~~O(∩_∩)O~
作者: zsj0613    时间: 2017-8-2 14:41
感谢您的分享!!!
作者: kinggate    时间: 2017-8-24 16:33
学习了,谢谢分享
作者: 1062435254    时间: 2017-9-8 16:43
666
作者: NICKCHEN    时间: 2017-9-25 14:20
自己搞了好久,在知道有脚本的。。。。顶顶
作者: hope    时间: 2017-9-26 22:34
好贴

作者: oricole    时间: 2017-10-16 15:22
感谢分享,新手学习一下。
作者: 加菲猫    时间: 2017-10-23 18:54
感谢分享
作者: sdws1982    时间: 2017-10-25 17:34
实用,多谢版主~~~~~~~~~~
作者: charles8233    时间: 2017-10-25 19:35
楼主,我内核编译能成功,但是安卓编译的时候总是报错,请问是哪里的问题

DE14BB89-B7D6-48B3-B90A-1CBDEC518DA0-555-0000006B38B68462_tmp.png (121.42 KB, 下载次数: 145)

DE14BB89-B7D6-48B3-B90A-1CBDEC518DA0-555-0000006B38B68462_tmp.png

作者: sdws1982    时间: 2017-10-27 15:19
新手必备,一步一步按照着来,方便快捷啊
作者: zhl777    时间: 2018-1-7 09:23
还不错,很实用
作者: 980725866    时间: 2018-1-20 00:19

作者: wuyiduan    时间: 2018-3-6 22:01
问楼主:
我下载的是.7z文件,用7Z解压后的、到.GIT文件,但是用git reset--hard还原不出代码。提示“fatal: Unable to create '/home/wyd/work/fireprime_android5.1_git_20170624/.git/index.lock': ????”
使用git branch可以 查到“* fireprime”
请问应该怎么还原?
作者: Delete    时间: 2018-3-14 19:02
请问:
编译过程从出现:
internal compiler error :Segmentation fault
该如何解决哪?
作者: 恭梧溪    时间: 2018-3-22 20:24
懒人的福音,都做成IED脚本了
作者: dkcumt@163.com    时间: 2018-4-12 15:33
谢谢分享
作者: zqclzz    时间: 2018-5-14 13:52
赞,可惜灯泡不够
作者: haoquanmcu    时间: 2018-5-28 10:10
学习了
作者: xiaoniu341    时间: 2018-6-6 09:32
经典一定要看
作者: rk3288_axent    时间: 2018-7-10 16:30
不错,谢谢分享
作者: CAM    时间: 2018-8-27 10:24
暴走的创客!
作者: E_Home    时间: 2018-9-13 19:48
学习一下
作者: lisenhome    时间: 2018-9-20 15:22

新手,看了一下受益了,安装然后编译,很顺畅
作者: 我们都是天才    时间: 2018-11-1 17:32
学习了~~~~
作者: 18899714881    时间: 2018-12-20 09:44
122
作者: 18899714881    时间: 2018-12-20 09:48
那几个附件怎样下载的
作者: 18899714881    时间: 2018-12-20 09:53
刷积分的吧
作者: Ablerry    时间: 2019-1-11 14:59
可以
作者: liyouqun    时间: 2019-3-6 09:39
nnnnnnnnnnn
作者: zpjiong    时间: 2019-3-20 16:08
努力学习!
作者: opster18    时间: 2019-4-1 12:50
努力學習中
作者: taojin0001    时间: 2019-4-4 16:43
看了一下受益了
作者: wrh123    时间: 2019-5-9 12:23
帮助很大
作者: yeweiyunluo    时间: 2019-7-9 14:02
新手,正在学习
作者: 15656116097    时间: 2019-7-20 20:07
新手,学习很好
作者: abcehac    时间: 2019-8-3 22:52
多谢分享!
作者: halfpastone    时间: 2019-8-4 12:24
优秀
作者: fengyizhen    时间: 2019-8-23 15:41
路过学习学习

作者: fengyizhen    时间: 2019-8-23 19:13
新买板子学习学习
作者: qianqianzige    时间: 2019-10-17 20:20
学习

作者: jshunwang    时间: 2019-11-11 20:13
附件无权下载?
作者: 风起叶落    时间: 2019-11-14 10:12
我所在的组下载不了
作者: ty67720639    时间: 2019-12-20 19:38
新手炸到
作者: ty67720639    时间: 2019-12-20 19:46
感谢楼主,新手学习一下
作者: LinuxLJC    时间: 2020-1-19 09:22
学习了,谢谢分享
作者: cl19790    时间: 2020-1-29 12:32
老师,指点一下我没有基础,从哪里开始学习
作者: li1422507225    时间: 2020-2-18 10:59

作者: alvin427    时间: 2020-5-6 13:46
Good Study
作者: coolperl    时间: 2020-7-8 14:34
一直在学习中
作者: SJL    时间: 2020-7-28 08:53
暴走的阿Sai 发表于 2014-12-16 09:54
1,编译完kernel后,直接make则可。SDK已经做过处理,不需要再次lunch
2,第二条楼主可以参考RKDocs的相 ...

楼主,目前在做基于RK3288的Linux开发,电脑是win7 64 位,装的虚拟机Ubuntu16.04 64位的。根据官网下载的资料,编译buildroot固件没有问题。现在编译Ubuntu固件,分布编译可以,在打包的时候显示没有update.img文件。目前在网上搜索也没有找到资料,有编译Ubuntu的Linux开发教程吗?学习下。
作者: SJL    时间: 2020-7-28 08:55
暴走的阿Sai 发表于 2014-12-16 09:54
在帖子的附件

楼主,目前在做基于RK3288的Linux开发,电脑是win7 64 位,装的虚拟机Ubuntu16.04 64位的。根据官网下载的资料,编译buildroot固件没有问题。现在编译Ubuntu固件,分布编译可以,在打包的时候显示没有update.img文件。目前在网上搜索也没有找到资料,有编译Ubuntu的Linux开发教程吗?学习下。

作者: slyb2001    时间: 2020-9-14 11:47
学习了,谢谢




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1