1 获取 Debian 源码
Ubuntu、Linuxqt 和 debian 系统共用一套源码,获取 debian 源码具体参考“13.1.1 获取 Linux 源码”
2 安装 Debian 源码依赖包
如果您使用的是搭建好编译环境的 Ubuntu16.04 虚拟机镜像, Debian 源码依赖包已经安装好了,不重复安装。
使用如下命令安装所需的软件包:
1、sudo apt-get update
2、安装 kernel 及 uboot 编译需要依赖的软件包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip
sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev
sudo apt-get install xsltproc unzip device-tree-compiler liblz4-tool libxml2-utils
3 编译 Debian 源码
13.3.3.1 指定屏幕
打开 linux 的源码,进入
/home/topeet/rk3399_linux_sdk_v2.0/kernel/arch/arm64/boot/dts/rockchip/itop-3399_linux-lvds.dts 目录下,打开 itop-3399_linux-lvds.dts 设备树文件,如下图所示,默认源码里面指定屏幕是 hdmi 屏幕,如果我们想源码里面指定屏幕是其他尺寸,将指定屏幕的宏定义生效就好了。
 例如,我想指定屏幕为 7 寸屏,修改设备树,如下图所示:

3.1 整体编译
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。
编译分两个命令
./build.sh BoardConfig.mk

/build.sh debian

最终在 rocdev 目录下生成镜像文件 update.img。update.img 镜像大约 3G

3.2 单独编译
命令./build.sh -h 查看可选参数


单独编译 uboot:./build.sh uboot
在 uboot 目录下生成 u-boot.bin。
单独编译 kernel:./build.sh kernel
在 kernel 目录下生成 boot.img
3.3 定制 Debian 文件系统
在“3.3.1 整体编译”的章节,编译的 debian 系统是已将打包好的 debain 文件系统。用户可以修改定制自己的 debian 文件系统。
注意:定制 debian 文件系统,需要确保 Ubuntu 环境能够联网。

3.3.1 安装软件依赖包
如果您使用的是搭建好编译环境的 Ubuntu16.04 虚拟机镜像,软件依赖包已经安装好了,不必重复安装。
sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools
sudo apt-get install device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev
sudo apt-get install libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools
sudo apt-get install gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf libssl-dev
sudo apt-get install gcc-aarch64-linux-gnu g+conf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl
sudo apt-get install sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip
sudo apt-get install rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev
sudo apt-get install cvs git mercurial rsync openssh-client subversion asciidoc w3m
sudo apt-get install dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo liblz4-tool genext2fs
sudo apt-get install binfmt-support qemu-user-static live-build
3.3.2 编译 Debian rootfs
1 进入debian 目录:cd rk3399_linux_sdk_v2.0_191209/debian如图所示:


2 执行命令,编译 64 位的 debian:
RELEASE=stretch TARGET=desktop ARCH=arm64 ./mk-base-debian.sh
3 编译完成会在 debian/生成:linaro-stretch-alip-xxxxx-1.tar.gz(xxxxx 表示生成时间戳)。如图:

4 返回 rk3399_linux_sdk_v2.0_191209/目录下,修改编译脚本 build.sh,打开编译脚本 vim build.sh,修改 206行,将“#”符号去掉。保存退出。


5 在 rk3399_linux_sdk_v2.0_191209/目录下,执行命令:./build.sh debian

6 编译完成。如图所示:

7 编译完成,会生成 debian/binary 目录,binary 目录下为 debian 文件系统文件,可在此目录下安装需求进行修改。如图:


8 在 binary 目录下修改完成后,在 rk3399_linux_sdk_v2.0_191209/目录下,重新执行命令:./build.sh debian。会在 rockdev 目录下生成 update.img 镜像文件。


9 定制的 debian 文件系统已经制作完毕。在 debian 目录下有制作好的 linaro-rootfs.img。重新编译不需要修改 debian 镜像时,可以将编译脚本 build.sh 中的 206 行注释掉。再次执行命令:./build.sh debian 时。不在重新打包 debian 文件系统,直接将之前生成的 linaro-rootfs.img 和 uboot、kerenl 一起打包生成update.img 镜像。

迅为3399开发板Linux固件编译-Debian系统编译烧写相关推荐

  1. 迅为3399开发板Linux固件编译

    Linux 系统编译 13.1.1 获取 Linux 源码 首先从网盘下载迅为提供的 Linux 源码,在光盘的"iTOP-3399 光盘资料\20201112(使用最新日期即可)\05Li ...

  2. 编译linux系统到开发板,迅为3399开发板Linux固件编译-Ubuntu16系统编译

    1 获取 Ubuntu 源码 Ubuntu.Linuxqt 和 debian 系统共用一套源码,获取 Ubuntu 源码具体参考"13.1.1 章节 获取 Linux 源 码". ...

  3. 瑞芯微RK3399六核-迅为3399开发板介绍

    迅为3399开发板基于瑞芯微的RK3399处理器设计,Rockchip RK3399是瑞芯微推出的一款低功耗.高性能的应用处理器芯片,该芯片基于Big.Little架构,即具有独立的NEON协同处理器 ...

  4. iTop4412开发板Android4.0.3镜像OTG方式烧写

    iTop4412开发板Android4.0.3镜像OTG方式烧写 最近开始学习linux,入手一块讯为的iTop4412开发板,遵循讯为的框架学习法(毕竟科技更新速度如此之快,不可能什么都学,必须要懂 ...

  5. 迅为3588开发板Linux编译Buildroot

    Buildroot 是一款集成的编译集合包,解决了以前交叉编译麻烦的问题,本小节将介绍 buildroot 镜像的编译流程,分为单独编译和完整全自动编译. 首先输入以下命令,选择 buildroot ...

  6. 迅为3588开发板Linux源码包编译Buildroot

    Buildroot 是一款集成的编译集合包,解决了以前交叉编译麻烦的问题,本小节将介绍 buildroot 镜像的编译流程,分为单独编译和完整全自动编译. 首先输入以下命令,选择 buildroot ...

  7. 迅为IMX6ULL开发板Linux学习教程

    1800+页使用手册(持续更新)+入门视频教程+实战视频教程 关注VX公众号:迅为电子 ,  回复 :终结者,免费获取产品资料  让教程更细致,终结入门难! 所有教程由迅为原创,是迅为工作多年的工程师 ...

  8. Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动

    内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动.本文档介绍如何以模块的方式编译内核驱动. 要动态的编译内核,首先需要将内核源码编译通过,内核的编译请参考使用手册第五章. 9.5.2.1 ...

  9. 迅为4412开发板Linux字符设备控制

    在 linux 驱动中字符设备驱动是必须掌握的,本章主要介绍字符设备应用的程序,无论是学习了后面的知识自己写的字符驱动,还是已有的字符驱动,都需要能够写一些简单的应用程序.即使从事 Linux 驱动方 ...

最新文章

  1. android.mk 比较字变量,Android.mk的用法和基础
  2. python 3.x 学习笔记14 (socket_ssh and socket_文件传输)
  3. SpringBoot-@RequestParam
  4. 华清实训的收获(人工智能的小广告和福利)
  5. Java入门:冒泡排序
  6. MySQL在EF Core下的Scaffolding操作
  7. WIN10 开启右键 命令提示符
  8. 12 种主流编程语言输出“ Hello World ”,把我给难住了!
  9. centos 断电重启后,文件系统损坏修复
  10. 关于使用MYSQL出现的内存泄漏问题
  11. 181124每日一句
  12. 咸鱼Maya笔记—初识Maya 2019
  13. Android视频直播的实现
  14. arcgis for flex api version3.7 教程:7.使用Directions查询路线(最短路径分析)
  15. 【计算机组成原理】计算机系统结构笔记:合集
  16. ODrive应用 #8 故障排除
  17. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第四章 光线追踪
  18. 怎么制作出领导喜欢的移动端报表?
  19. linux查看某个nas盘io,nas(网络附加存储)与san知识解释
  20. 中国RISC-V机遇与变革下,赛昉科技发布两款高性能新品

热门文章

  1. 使用Maven构建WebApp项目
  2. ThinkPad S1 Yoga怎么设置U盘启动
  3. 都是技术出身,可昨晚我看了张一鸣的微博后,让我越想越后怕...
  4. 统计信号估计 (二) 最小方差无偏估计量(MUV)的线性模型
  5. java 遍历文件夹 和 文件夹的简单读写
  6. XR云新未来圆桌精彩回顾 | XR应用场景迭代下的新商业模式
  7. elk + kafka 简单搭建日志分析系统
  8. 基于quartz的定时任务动态启停实现分析(人人平台为例)
  9. 关键词之-关键词堆砌!
  10. 导盲机器人 英语作文_中英文速记【中英文速记英语头条】- 中英文速记知识点 - 中企动力...