8,460
个编辑
更改
无编辑摘要
烧录完成<br><br>
[[Image:RK3399-40.png]]<br><br>
* '''主机是linux 系统'''<br>
(1)准备 upgrade_tool 工具<br>
$ unzip Linux_Upgrade_Tool_v1.39.zip
$ cd Linux_Upgrade_Tool_v1.39
$ sudo chmod +x ./upgrade_tool
(2)OrangePi RK3399 接上电源适配器,Type-C 数据线连接好 OrangePi RK3399 与PC。<br>
(3)按住 rescover 键不放,轻按下 reset 键,此时 OrangePi RK3399 进入 loader 模式。<br>
(4)烧录安卓固件<br>
sudo ./upgrade_tool ef OrangePi_rk3399_Android8.1_v1.0.img 擦除 EMMC
sudo ./upgrade_tool uf OrangePi_rk3399_Android8.1_v1.0.img 烧录到 EMMC
<br>
'''注:如遇到无法进入 loader 模式的情况,可尝试 MaskRom 模式烧录。方法如下:'''<br>
1、设备断开所有电源<br>
2、拔出 SD 卡<br>
3、用 USB Type-C 线连接好设备和主机<br>
4、用金属镊子接通 OrangePi RK3399 预留的焊点,并保持。<br><br>
[[Image:RK3399-41.png]]<br><br>
5、设备插入电源。<br>
6、稍候片刻,之后松开镊子,设备应该就会进入 MaskRom 模式。<br><br>
[[Image:RK3399-42.png]]<br><br>
=== 使用SD升级卡烧录到 EMMC ===
准备工作:android 固件、一张 tf 卡、读卡器该方式只能在 windows 系统中使用。<br>
将读卡器插入主机,在 OrangePi RK3399 官方工具板块下载 SDDiskTool_v1.56,打开软件。<br>
勾选固件升级,选择固件,最后点击开始创建。请注意下图红色标记的地方。<br><br>
[[Image:RK3399-43.png]]<br><br>
完成后将 TF 卡插入 OrangePi RK3399 的卡槽,上电启动,启动代码会将固件烧写到 EMMC 中。如需看到烧写进度,可准备一根 HDMI 线,连接板子与显示器。烧写过程大约是 3~4 分钟。<br><br>
== Linux 固件烧录 ==
我们可以通过 Etcher 将 Orange Pi RK3399 的 Linux 固件烧录到 TF 卡中,如果您购买的是没有贴 EMMC Flash 芯片的 Orange Pi RK3399 开发板,则只能通过 TF 卡来启动系统。Etcher 支持如下的操作系统:<br>
* Linux(大多数发行版,如 Ubuntu)
* MacOS 10.9 和后续的版本
* Windows 7 和后续的版本
Etcher 软件安装包可以在其官网 https://etcher.io/ 中下载,也可以从 Orange Pi RK3399 的官网下载页的官方工具中下载<br><br>
=== Etcher 的安装方式 ===
* Etcher 在 Windows 系统中的安装方式和普通软件的安装方式一样,这里不再赘述。
* Etcher 在 Ubuntu 和 Debian 系统中的安装方式如下
1.增加 Etcher Debian 仓库:<br>
$ echo "deb https://dl.bintray.com/resin-io/debian stable etcher" | sudo tee/etc/apt/sources.list.d/etcher.list
2.下载 key
$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
3.更新和安装
$ sudo apt-get update && sudo apt-get install etcher-electron
4.卸载方式
$ sudo apt-get remove etcher-electron
$ sudo rm /etc/apt/sources.list.d/etcher.list && sudo apt-get update
<br>
=== 通过Etcher烧录Linux固件的方法 ===
* 首先打开 Etcher,其界面如下图所示 <br>
[[Image:RK3399-44.png]]<br><br>
* 然后通过 “Select image” 选择需要烧录的 Linux 固件<br>
* 接着插入 TF 卡,Etcher 会自动识别相应驱动器<br>
* 最后点击 “Flash!”开始烧录,烧录完后,即可插入开发板启动系统<br>
[[Image:RK3399-45.png]]<br><br>
=== 通过脚本将Linux系统烧录到 EMMC Flash 芯片中 ===
如果您购买的是的贴有 EMMC Flash 芯片的 Orange Pi RK3399 开发板,通过TF 卡启动 Linux 系统后,还可以通过 install_to_emmc 脚本将 Linux 系统烧录到EMMC Flash 中。<br>
在 Linux 终端中输入 install_to_emmc 命令,然后根据提示输入 y,就会开始自动烧录 Linux 系统到 EMMC Flash 中。烧录完成后,关闭电源,取出 TF 卡, 再次上电后就会自动运行 EMMC Flash 中的 Linux 系统。<br><br>
{| class="wikitable" style=" width:800px;"
|-
|root@OrangePi:~# install_to_emmc<br><br>
WARNING: EMMC WILL BE ERASED !, Continue (y/N)? y<br>
Erasing EMMC ...<br>
Creating new filesystem on EMMC ...<br>
New filesystem created on /dev/mmcblk0.<br>
Partitioning EMMC ...<br>
Creating boot & linux partitions <br>
OK.<br>
Formating fat partition ... <br>
fat partition formated.<br>
Formating linux partition (ext4), please wait ... <br>
linux partition formated.<br><br>
Instaling u-boot to EMMC ... <br><br>
Mounting EMMC partitions...<br>
FAT partitions mounted to /tmp/_fatdir <br>
linux partition mounted to /tmp/_extdir<br><br>
Copying file system to EMMC ...<br>
Creating "fstab"<br><br>
<nowiki>***********************************</nowiki> <br>
Linux system installed to EMMC.<br>
<nowiki>***********************************</nowiki><br>
|}
== Android 编译环境搭建 ==
编译环境建议 Ubuntu 14.04 或者 Ubuntu 18.04。不建议用虚拟机。RK3399 目前有两个版本的安卓 SDK,分别是 Android6.0 以及 Android8.1。下面以 Android6.0 为例。<br>
=== 获取 SDK 源码压缩包 ===
Android 源码包下载完后,首先需要将多个压缩文件合并成一个,然后进行解压。<br>
mkdir OrangePi-rk3399
cat OrangePi-RK3399_Android6.0_V1.0.tar.gz* >
OrangePi-RK3399_Android6.0_V1.0.tar.gz
tar xvf OrangePi-RK3399_Android6.0_V1.0.tar.gz -C OrangePi-rk3399 cd OrangePi-rk3399
=== 搭建编译环境 ===
* 安装 JDK
Android 6.0 开发只能使用 openjdk7 的版本,高于或低于此版本以及 oracle 的JDK 都会导致编译失败。openjdk-7 的安装命令如下:<br>
$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
* 安装平台支持软件
对于 Ubuntu14.04:<br>
$ sudo apt-get update
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip
$ sudo apt-get install u-boot-tools
=== 编译 SDK 源码 ===
清除中间文件<br>
cd uboot && make distclean
cd kernel && make distclean
<br>
使用以下命令编译完整镜像<br>
./make.sh -F -M -u
<br>
编译完成后,在以下目录生成镜像文件。<br><br>
cd rockdev/Image-rk3399_mid_orangepi tree -L 1<br>
.
├── boot.img<br>
├── kernel.img<br>
├── MiniLoaderAll.bin<br>
├── misc.img<br>
├── parameter.txt<br>
├── pcba_small_misc.img<br>
├── pcba_whole_misc.img<br>
├── recovery.img<br>
├── resource.img<br>
├── system.img<br>
├── trust.img<br>
├── uboot.img<br>
└── update.img<br><br>
0 directories, 13 files<br><br>
其中 update.img 是完整固件,可参照《Android 固件烧录》章节烧录至 EMMC。<br><br>
== Linux编译环境搭建 ==
<br>
推荐使用主机环境为 64 位ubuntu18.04<br>
=== 获取 SDK 源码压缩包 ===
* '''Orange Pi Linux 源码下载器'''<br>
Orange Pi RK3399 的 Linux 源码已经上传到 GitHub,内核版本为 Linux 4.4,我们可以使用 OrangePi Linux 源码专用的下载器进行下载,获取下载器源码的方式如下所示:<br>
$ sudo apt-get install git
$ git clone https://github.com/orangepi-xunlong/OrangePi_Build.git
$ cd OrangePi_Build
$ ls
Build_OrangePi.sh lib README.md
注意事项:源码要放到本地硬盘上,不要使用共享目录,或者另外挂载进来的硬盘, 否则影响正常编译。<br>
* '''运行下载器'''<br>
$ ./Build_OrangePi.sh
输入 root 密码,然后回车<br>
[[Image:RK3399-46.png]]<br><br>
选择 0 Build system with kernel/uboot/rootfs 进入开发板型号选择的界面<br><br>
[[Image:RK3399-47.png]]<br><br>
选择 19 OrangePi RK3399,回车后将会开始下载 Orange Pi RK3399 的 Linux SDK源码<br><br>
[[Image:RK3399-48.png]]<br><br>
下载的源码会存放在 OrangePi_Build 的同级目录下<br>
$ ls ../OrangePi_Build OrangePi_Build OrangePiRK3399
=== 搭建编译环境 ===
=== 编译Linux和U-boot源码 ===