【学习笔记】AIO-3399J之开始编译

作者

作者:卢冬冬
邮箱:ezrobot@163.com

平台

系统:Ubuntu 16.04 64bit
板卡:AIO-3399J (4GB LDDR3 16GB eMMC)

注意

如果Ubuntu为虚拟机,则至少需要预留64GB的硬盘空间

内容

1. 准备工作

2. 开始编译

  • 下载编译依赖的软件包

新建premake.sh文件,拷贝下面内容到文件中。

#!/bin/bash

# 更新系统
sudo apt-get update

# 根据官方文档安装Kernel及U-Boot编译需要依赖的软件包
sudo apt-get install \
    git-core \
    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 \
    device-tree-compiler

# 用以解决编译内核时出现的"scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory"错误
sudo apt-get install libssl-dev

# 用以解决编译内核时出现的"/bin/sh: 1: lz4c: not found ..."错误
sudo apt-get install liblz4-tool

然后使用如下命令,增加premake.sh执行权限并运行。

chmod +x premake.sh

./premake.sh
  • 解压下载的linux-sdk.7z文件
# 安装7z支持
sudo apt-get install p7zip-full

# 解压linux-sdk.7z
7z x linux-sdk.7z linux-sdk
  • 把下载的UBUNTU镜像放到SDK的指定目录
# 解压
tar -xvf ubuntu_16.04_arm64_20190226150448.img.tar.gz
    
# SDK根目录下
mkdir ubunturootfs
mv ubuntu_16.04_arm64_20190226150448.img ubunturootfs/
    
# 修改aio-3399j-ubuntu.mk文件
vim device/rockchip/rk3399/aio-3399j-ubuntu.mk
    
# 把RK_ROOTFS_IMG属性改成ubuntu文件系统镜像的路径(也就是ubuntu_16.04_arm64_20190226150448.img)
RK_ROOTFS_IMG=ubunturootfs/ubuntu_16.04_arm64_20190226150448.img
  • 开始编译
# 第1步
./build.sh aio-3399j-ubuntu.mk

# 第2步
./build.sh uboot

# 第3步
./build.sh kernel
    
# 第4步
./mkfirmware.sh
    
# 第5步
./build.sh updateimg

如果成功的话,可以在rockdev文件夹下得到update.img文件,用于后面升级使用。

posted @ 2019-06-24 00:01  EzRobot  阅读(778)  评论(0编辑  收藏  举报