迅为3399开发板Linux固件编译-Debian系统编译烧写
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系统编译烧写相关推荐
- 迅为3399开发板Linux固件编译
Linux 系统编译 13.1.1 获取 Linux 源码 首先从网盘下载迅为提供的 Linux 源码,在光盘的"iTOP-3399 光盘资料\20201112(使用最新日期即可)\05Li ...
- 编译linux系统到开发板,迅为3399开发板Linux固件编译-Ubuntu16系统编译
1 获取 Ubuntu 源码 Ubuntu.Linuxqt 和 debian 系统共用一套源码,获取 Ubuntu 源码具体参考"13.1.1 章节 获取 Linux 源 码". ...
- 瑞芯微RK3399六核-迅为3399开发板介绍
迅为3399开发板基于瑞芯微的RK3399处理器设计,Rockchip RK3399是瑞芯微推出的一款低功耗.高性能的应用处理器芯片,该芯片基于Big.Little架构,即具有独立的NEON协同处理器 ...
- iTop4412开发板Android4.0.3镜像OTG方式烧写
iTop4412开发板Android4.0.3镜像OTG方式烧写 最近开始学习linux,入手一块讯为的iTop4412开发板,遵循讯为的框架学习法(毕竟科技更新速度如此之快,不可能什么都学,必须要懂 ...
- 迅为3588开发板Linux编译Buildroot
Buildroot 是一款集成的编译集合包,解决了以前交叉编译麻烦的问题,本小节将介绍 buildroot 镜像的编译流程,分为单独编译和完整全自动编译. 首先输入以下命令,选择 buildroot ...
- 迅为3588开发板Linux源码包编译Buildroot
Buildroot 是一款集成的编译集合包,解决了以前交叉编译麻烦的问题,本小节将介绍 buildroot 镜像的编译流程,分为单独编译和完整全自动编译. 首先输入以下命令,选择 buildroot ...
- 迅为IMX6ULL开发板Linux学习教程
1800+页使用手册(持续更新)+入门视频教程+实战视频教程 关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料 让教程更细致,终结入门难! 所有教程由迅为原创,是迅为工作多年的工程师 ...
- Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动
内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动.本文档介绍如何以模块的方式编译内核驱动. 要动态的编译内核,首先需要将内核源码编译通过,内核的编译请参考使用手册第五章. 9.5.2.1 ...
- 迅为4412开发板Linux字符设备控制
在 linux 驱动中字符设备驱动是必须掌握的,本章主要介绍字符设备应用的程序,无论是学习了后面的知识自己写的字符驱动,还是已有的字符驱动,都需要能够写一些简单的应用程序.即使从事 Linux 驱动方 ...
最新文章
- android.mk 比较字变量,Android.mk的用法和基础
- python 3.x 学习笔记14 (socket_ssh and socket_文件传输)
- SpringBoot-@RequestParam
- 华清实训的收获(人工智能的小广告和福利)
- Java入门:冒泡排序
- MySQL在EF Core下的Scaffolding操作
- WIN10 开启右键 命令提示符
- 12 种主流编程语言输出“ Hello World ”,把我给难住了!
- centos 断电重启后,文件系统损坏修复
- 关于使用MYSQL出现的内存泄漏问题
- 181124每日一句
- 咸鱼Maya笔记—初识Maya 2019
- Android视频直播的实现
- arcgis for flex api version3.7 教程:7.使用Directions查询路线(最短路径分析)
- 【计算机组成原理】计算机系统结构笔记:合集
- ODrive应用 #8 故障排除
- 《Fundamentals of Computer Grahpics》虎书第三版翻译——第四章 光线追踪
- 怎么制作出领导喜欢的移动端报表?
- linux查看某个nas盘io,nas(网络附加存储)与san知识解释
- 中国RISC-V机遇与变革下,赛昉科技发布两款高性能新品
热门文章
- 使用Maven构建WebApp项目
- ThinkPad S1 Yoga怎么设置U盘启动
- 都是技术出身,可昨晚我看了张一鸣的微博后,让我越想越后怕...
- 统计信号估计 (二) 最小方差无偏估计量(MUV)的线性模型
- java 遍历文件夹 和 文件夹的简单读写
- XR云新未来圆桌精彩回顾 | XR应用场景迭代下的新商业模式
- elk + kafka 简单搭建日志分析系统
- 基于quartz的定时任务动态启停实现分析(人人平台为例)
- 关键词之-关键词堆砌!
- 导盲机器人 英语作文_中英文速记【中英文速记英语头条】- 中英文速记知识点 - 中企动力...