安装以下包:

sudo apt-get install bc bison build-essential curl \device-tree-compiler dosfstools flex gcc-aarch64-linux-gnu \gcc-arm-linux-gnueabihf gdisk git gnupg gperf libc6-dev \libncurses5-dev libpython-dev libssl-dev libssl1.0.0 \lzop mtools parted repo swig tar zip

创建工程目录:

mkdir ~/proj/roc-rk3328-cc
cd ~/proj/roc-rk3328-cc

下载 Linux SDK:

# U-Boot
git clone -b roc-rk3328-cc https://github.com/FireflyTeam/u-boot
# Kernel
git clone -b roc-rk3328-cc https://github.com/FireflyTeam/kernel --depth=1
# Build
git clone -b debian https://github.com/FireflyTeam/build
# Rkbin
git clone -b master https://github.com/FireflyTeam/rkbin

开发板编译配置在:

build/board_configs.sh

编译 U-Boot:

./build/mk-uboot.sh roc-rk3328-cc

输出:

out/u-boot/
├── idbloader.img
├── rk3328_loader_ddr786_v1.06.243.bin
├── trust.img
└── uboot.img

编译 kernel:

./build/mk-kernel.sh roc-rk3328-cc

输出:

out/
├── boot.img
└── kernel├── Image└── rk3328-roc-cc.dtb

自定义内核配置和更新默认配置:

# 这非常重要!
export ARCH=arm64
cd kernel
# 首先使用默认配置
make fireflyrk3328_linux_defconfig
# 自定义你的 kernel 配置
make menuconfig
# 保存为默认配置
make savedefconfig
cp defconfig arch/arm64/configs/fireflyrk3328_linux_defconfig

编译Ubuntu根文件系统
安装依赖包:

sudo apt-get install qemu qemu-user-static binfmt-support debootstrap

下载 Ubuntu core:

wget -c http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.1/release/ubuntu-base-16.04.1-base-arm64.tar.gz

创建一个大小为 1000M 的根文件系统映像文件,并使用 Ubuntu 的基础包去初始化:

fallocate -l 1000M rootfs.img
sudo mkfs.ext4 -F -L ROOTFS rootfs.img
mkdir mnt
sudo mount rootfs.img mnt
sudo tar -xzvf ubuntu-base-16.04.1-base-arm64.tar.gz -C mnt/
sudo cp -a /usr/bin/qemu-aarch64-static mnt/usr/bin/

Chroot 到新的文件系统中去并初始化:(可先不修改本快内容)

sudo chroot mnt/
# 这里可以修改设置
USER=firefly
HOST=firefly
# 创建用户
useradd -G sudo -m -s /bin/bash $USER
passwd $USER
# 输入密码# 设置主机名和以太网
echo $HOST > /etc/hostname
echo "127.0.0.1    localhost.localdomain localhost" > /etc/hosts
echo "127.0.0.1    $HOST" >> /etc/hosts
echo "auto eth0" > /etc/network/interfaces.d/eth0
echo "iface eth0 inet dhcp" >> /etc/network/interfaces.d/eth0
echo "nameserver 127.0.1.1" > /etc/resolv.conf
# 使能串口
ln -s /lib/systemd/system/serial-getty\@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service
# 安装包
apt-get update
apt-get upgrade
apt-get install ifupdown net-tools network-manager
apt-get install udev sudo ssh
apt-get install vim-tiny

卸载文件系统:

sudo umount rootfs/

打包原始固件
目录将包含以下文件:

$ tree out
out
├── boot.img
├── kernel
│   ├── Image
│   └── rk3328-roc-cc.dtb
├── rootfs.img
└── u-boot├── idbloader.img├── rk3328_loader_ddr786_v1.06.243.bin├── trust.img└── uboot.img

打包原始固件:

./build/mk-image.sh -c rk3328 -t system -r out/rootfs.img

最终打包成 out/system.img

参考文档:http://wiki.t-firefly.com/zh_CN/ROC-RK3328-CC/intro.html

Ubuntu16.04编译roc-rk3328-cc相关推荐

  1. Ubuntu16.04编译RK3399:make kernel.img error

    RK3399开源资料: http://www.t-firefly.com/doc/product/info/id/100.html 1.问题: ubuntu16.04编译内核Kernel出现错误:   ...

  2. Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map详细过程

    我在编译过程中主要参考了以下几篇博客: Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map_Andyoyo007的博客-CSDN博客编译高博ORBSLAM2_wi ...

  3. ubuntu16.04 编译opencv4和opencv_contrib

    ubuntu16.04 编译opencv4和opencv_contrib 下载源码 安装最新的cmake 使用cmake-gui配置cmake文件 make && install 添加 ...

  4. Ubuntu16.04编译android6.0.1源码记录

    目录 目录 一.安装环境 二.下载源码 1.下载repo 2.初始化repo 3.同步源代码 关于驱动 三.编译源码 四.导入源码到AS 五.刷入真机 六.修改源码 总结: 3.同步源代码 关于驱动 ...

  5. Ubuntu16.04编译poco库

    Ubuntu16.04编译poco库 概述 下载 编译 解压 编译 完整编译 部分编译 编译 安装 参考文章 概述 Poco C++库是一系列C++类库,类似Java类库,.Net框架,Apple的C ...

  6. linux ubuntu16.04 编译opencv教程(没编过,有时间再弄,推流不用opencv也行的)

    文章目录 下源码 编译 配置opencv环境 下源码 https://github.com/opencv/opencv/releases/tag/4.4.0 然后在ubuntu里建个文件夹把它扔进去, ...

  7. 16.04编译android 7.0,ubuntu16.04 编译Android5.1报错

    hi kylin team, 我使用 ubuntu16.04 构建 android 编译环境后编译 android5.1 时出现如下报错.请向开发团队反馈看能否给出解决方案,谢谢! 当我使用 ubun ...

  8. ubuntu16.04编译android6_r1源码绕坑贴

    1 前言 经过3天奋战,终于在Ubuntu 16.04上把Android 6.0的源码编译出来了,各种配置,各种error,各种爬坑,特写此博客记录爬坑经历.先上图,Ubuntu上编译完后成功运行模拟 ...

  9. Ubuntu16.04编译Android 6.0系统源码过程简要记录总结

    一,安装VMware Workstation,百度网盘下载(内含注册机) 链接: https://pan.baidu.com/s/1wz4hdNQBikTvyUMNokSVYg 提取码: yed7 V ...

  10. Ubuntu16.04编译Android10源码并刷机Pixel

    一.环境描述 电脑配置: 系统:Windows10 内存:16GB 硬盘:500GB 软件环境: VirtualBox虚拟机 虚拟配置: 系统:Ubuntu16.04.7 内存:9GB 硬盘:300G ...

最新文章

  1. 漫画:你真的懂Github吗?
  2. android地址格式转换,Android(安卓)时间戳和日期之间的转化
  3. python抓取微博数据中心_有哪些「神奇」的数据获取方式?
  4. ITK:图像的置换轴
  5. 数据结构算法 二进制转十进制_数据结构 - 栈
  6. Python 列表(List)
  7. for循环语句例题及解析python_Python入门第8课,for语句综合练习,突破循环累加难点...
  8. 最小路径和--p64--动态规划
  9. FCKEditor 打开页面总是得到焦点问题处理 FCKConfig.StartupFocus=false;
  10. 将 Typora 小工具添加到右键菜单中
  11. 一个比较完整的短信接口帮助类参考
  12. C# 寻找数组中的最大子数组
  13. java基础面试题84道
  14. 计算机打印共享打印机,教您电脑打印机共享怎么设置
  15. 计算机论文要求多少字,论文需要写多少字
  16. Correlation Congruence for Knowledge Distillation
  17. Oracle定时任务dbms_job使用详解
  18. centos7 glibc2.17升级到glibc2.28
  19. SpringCloud(14) Sentinel 1.8.4 规则持久化到Nacos
  20. 社会工程学之黑客七宗罪——傲慢(Hooking)

热门文章

  1. html5加载vr视频格式,VR视频格式是什么_VR视频有什么格式_怎么分辨VR视频格式-VR之家...
  2. 光照与渲染(十)- 自发光材质
  3. win7计算机双击变管理,如何修复Win7系统鼠标单击以双击
  4. 聊天链接改单系统源码
  5. 1024 祝我们快乐
  6. python两个表格相同数据筛选_python筛选出两个文件中重复行的方法
  7. Linux驱动之DMA
  8. iso文件用什么打开?还有iso是什么东西?
  9. 【渲染】解决三维出图黑白边缘溢出问题:直通(STRAIGHT)与预乘(PREMULT)ALPHA剖析
  10. 无心剑汉英双语诗005.《抒怀》