Difference between revisions of "NanoPi 2/zh"
(→编译Android) |
(→编译Android) |
||
Line 121: | Line 121: | ||
make -j8 | make -j8 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 编译成功完成后,目录 out/target/product/nanopi2/ 下包含可用于烧写的image文件。 |
Revision as of 07:38, 27 October 2015
Contents
1 介绍
- NanoPi 2 是友善之臂专门为创客和物联网设计的高性能硬件开发平台,采用Cortex-A9架构的四核S5P4418处理器(主频1.4GHz),内存为1G DDR3,同时板上集成了802.11 b/g/n无线网卡及蓝牙4.0模块,可支持Android与Debian双系统,支持HDMI和LCD同步输出,并拥有丰富的扩展接口,兼容树莓派GPIO,PCB尺寸只有40*72mm。
2 资源特性
3 接口布局和尺寸
4 快速入门
4.1 准备工作
要开启你的NanoPi新玩具,请先准备好以下硬件
- NanoPi 2 主板
- microSD卡/TF卡: Class10或以上的 8GB SDHC卡
- microUSB线
- 一台运行Linux的电脑,需要联网,建议使用Ubuntu 14.04 64位系统
4.2 制作一张带运行系统的microSD卡
- 1) 将microSD插入Ubuntu的电脑,用以下命令查看你的SD卡设备名
dmesg | tail
当dmesg输出类拟信息 sdc: sdc1 sdc2时,则表示SD卡对应的设备名为 /dev/sdc,也通过用命令cat /proc/partitions来查看。
- 2) 下载固件并制作microSD卡
git clone https://github.com/friendlyarm/sd-fuse_nanopi2.git cd sd-fuse_nanopi2 su ./fusing.sh /dev/sdx
(注:/dev/sdx请替换为实际的SD卡设备文件名)
缺省将烧写Android到SD卡,如果需要烧写Debian,则命令如下:
./fusing.sh /dev/sdx debian
此仓库未包含Android和Debian的烧写文件,第一次使用时会提示需要下载:
Warn: Image not found for Android, download now (Y/N)?
输入Y下载,N或10秒未输入则取消。
5 如何编译系统
5.1 安装交叉编译器
5.2 编译U-Boot
下载U-Boot源代码并编译,注意分支是s5p4418-nanopi2:
git clone https://github.com/friendlyarm/uboot_nanopi2.git cd uboot_nanopi2 git checkout s5p4418-nanopi2 make s5p4418_nanopi2_config make
编译成功结束后您将获得u-boot.bin,您可以通过fastboot来更新正在运行的NanoPi2板上SD的U-Boot。
注意:您不能直接使用dd来更新SD卡,否则有可能会导致无法正常启动。
5.3 准备mkimage
编译内核需要用到U-Boot的工具mkimage,因此,在编译内核uImage前,您需要保证您的主机环境可以成功运行它。
你可以直接使用命令 sudo apt-get install u-boot-tools 来安装,也可以自己编译并安装:
cd uboot_nanopi2 make tools mkdir -p /usr/local/sbin && cp -v tools/mkimage /usr/local/sbin
5.4 编译Linux kernel
5.4.1 编译内核
- 下载内核源代码
git clone https://github.com/friendlyarm/linux-3.4.y.git cd linux-3.4.y git checkout s5p4418-nanopi2
NanoPi2内核所属的分支是s5p4418-nanopi2,在开始编译前先切换分支。
- 编译Android内核
make nanopi2_android_defconfig touch .scmversion make uImage
- 编译Debian内核
make nanopi2_linux_defconfig touch .scmversion make uImage
编译成功结束后,新生成的内核烧写文件为 arch/arm/boot/uImage 。
5.4.2 编译内核模块
Android包含内核模块,位于system分区的 /lib/modules/ 下,如果您有新的内核模块或者内核配置有变化,则需要编译并替换原来的文件。
首先编译内核源代码中的模块:
cd linux-3.4.y make modules
另外有2个内核模块的源代码位于Android源代码中,可使用以下命令来编译:
cd /opt/FriendlyARM/s5p4418/android ./vendor/friendly-arm/build/common/build-modules.sh
其中 “/opt/FriendlyARM/s5p4418/android” 是指Android源代码的TOP目录。
编译成功结束后,会显示生成的内核模块。
5.5 编译Android
- 下载源代码
Android源代码的下载需要使用repo,其安装和使用请查看 https://source.android.com/source/downloading.html 。
mkdir android && cd android repo init -u git@github.com:friendlyarm/android_manifest.git -b nanopi2-kitkat repo sync
其中“android”是指工作目录,可根据自己的喜好修改。
- 编译系统
source build/envsetup.sh lunch aosp_nanopi2-userdebug make -j8
编译成功完成后,目录 out/target/product/nanopi2/ 下包含可用于烧写的image文件。