Ubuntu下编译源码

Build

1. Ubuntu系统安装

由于当前的android系统只能在linux环境编译,所以需要安装一个可以build的linux系统,如果对linux不是很熟悉,可以安装ubuntu desktop 64版本。
请参考官方文档或者网上资料安装desktop 64位版本

如果主要以windows为主要工作环境,可以在windows安装虚拟机软件(virtualbox或者vmware player),然后在虚拟机中安装ubuntu,然后在虚拟机中进行build。

建议安装ubuntu 16.04,下面所有操作基于16.04可以成功。

2. 编译Android需要的软件包:

openjdk-8-jdk git ccache automake lzop bison flex gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx
libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven bc
命令行如下:

$ sudo apt-get install openjdk-8-jdk git ccache automake lzop bison flex gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib \
    python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven bc

3. 下载源代码

下载源代码

4. 安装java

安装java

5. 编译android_v2系统

进入到android_v2目录
初始化android环境变量

$ source build.sh

设置java环境

$ export JAVA_HOME=/usr/lib/jvm/openjdk-7-jdk-amd64
    $ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

如果从来没有build过android_v2,而且kernel.img也不存在,请执行下面的命令来build kernel。
进入到android_v2下面的kernel目录,执行下面的2个命令会生成kernel.img文件

make firefly-rk3288_defconfig
    make -j8 firefly-rk3288.img

开始编译,-j8是使用多少个线程来编译,看自己的电脑配置,比如4核8线程的机器可以使用-j8~-j16,同时tee ~/build.log是把build的输出保存到home目录的build.log

$ make -j8 2>&1 | tee ~/build.log

编译成功后,执行mkimage.sh来生成可以刷系统的文件,生成的文件在rockdev目录下。

$ ./mkimage.sh
### 在 Ubuntu编译 FreeBSD 源代码 #### 准备工作 为了能够在 Ubuntu 上成功编译 FreeBSD 的源代码,需要先设置好必要的工具链和依赖项。这通常涉及到安装一系列开发库以及配置交叉编译环境。 对于构建所需的软件包,在Ubuntu中可以通过apt-get来获取基本的编译工具集[^1]: ```bash sudo apt update && sudo apt install build-essential bison flex libncurses-dev ``` 此外还需要准备一些特定于FreeBSD系统的文件和目录结构以便顺利完成整个流程。 #### 获取 FreeBSD 源码 访问官方Git仓库或者其他可信渠道下载最新的稳定版本或者所需分支的源代码压缩包,并解压到本地磁盘上的合适位置。 ```bash git clone https://github.com/freebsd/freebsd-src.git freebsd-source-code cd freebsd-source-code ``` #### 配置编译选项 进入源代码根目录之后,可以创建一个新的`build.conf`文件用于指定目标架构和其他参数。这里假设要为amd64平台建立一个标准发行版映像: ```makefile TARGET=amd64 TARGET_ARCH=amd64 NO_CLEAN=yes MAKEOBJDIRPREFIX=/tmp/obj ``` 保存上述内容至`.conf`结尾的文本文件内作为Make命令读取时使用的额外设定。 #### 执行编译过程 现在准备好一切后就可以运行 make 命令来进行实际编译了。考虑到可能存在的路径差异等问题,建议采用绝对路径指向刚才提到的目标文件夹。 ```bash /usr/bin/make -C /path/to/freebsd/source/tree/build.conf world ``` 请注意这个步骤可能会花费较长时间取决于计算机硬件条件和个人网络状况等因素影响进度条推进速度不一而足。 #### 安装生成的结果 当所有组件都被正确组装完毕以后,则可通过下面这条指令完成最终部署动作。不过在此之前务必要确认当前操作处于非生产环境中以免造成不必要的风险隐患。 ```bash /usr/bin/make -C /path/to/freebsd/source/tree/installworld DESTDIR=/mnt/my_freebsd_rootfs/ ``` 以上就是在Ubuntu平台上尝试跨平台编译FreeBSD项目的大致方法概述[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值