关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(一)

简介: 关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(一)

【写在前面】

两种情况:

第一,直接在本机安装Linux Ubuntu16.04,那么按照网上的教程安装配置即可,此处提醒最好把硬盘配置大一些,便于之后的其他模块内核驱动的编译和移植,40G以上,越大越好。

第二,在VMware Workstation 工具中安装 Linux Ubuntu16.04 ,可以按照下方给出链接进行百度云盘下载 VMware Workstation 12版本 和 ubuntu-16.04.4-desktop-amd64.iso  镜像。

链接:https://pan.baidu.com/s/159k9A9E14gZGitRzE0Yifg 密码:wqj2 【长期有效】

 

【安装环境】

【第一步,初始化编译环境】

$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 cmake tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop

其中这几个软件尤为重要

sudo apt-get install build-essential lzop libncurses5-dev libssl-dev libc6:i386  

 

为了方便,大家可以直接用 root 超级用户操作所有步骤。

【敲黑板】 安装上述软件中,libgl1-mesa-glx:i386 可能会爆错,显示需要依赖文件

libgl1-mesa-glx:i386 : 依赖: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)

                       推荐: libgl1-mesa-dri:i386 (>= 7.2)

这种情况,可以换成安装 libgl1-mesa-dri:i386 安装包。

类似于这样的问题,大家可以使用 sudo apt-get install aptitude   安装 aptitude

使用aptitude安装软件命令:sudo aptitude install  xxx

aptitude与 apt-get 是互相补充的,有一些功能对方没有。

aptitude了解和搜索的安装信息比apt-get 全面一些,具体优势如下:

reinstall, show, search, hold, unhold【apt-get 没上这五个功能】

apt-get: source【aptitude没有】, build-dep【低版本的aptitude没有】

apt-get与aptitude共有的功能:update, upgrade (apt-get upgrade=aptitude safe-upgrade, apt-get dist-upgrade=aptitude full-upgrgade)

【第二步,创建软链接】

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

【第三步,安装编译工具链】

sudo apt-get install gcc-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \
libssl1.0.0 libssl-dev

如果一次性安装出现错误,请逐个安装即可。或者可以使用 aptitude install xxx

 

【获取内核源码kernel】

git clone -b firefly https://github.com/FireflyTeam/kernel.git   ( 2.2G )

【配置环境变量】

【敲黑板】这里是我遇到最大的坑,由于官文网站rk3399这个部分改版,小编居然把环境变量给写错了,之后的兄弟不要被坑了

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-     这是正确的

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-   这是错误的

如果大家误用官网给的上述错误的命令,一定会出现   没有规则生成 rk3399-firefly-linux.dtb文件,而且会一直重复出现该问题,哪怕你重装环境无数遍,这个问题一直不能解决,因为编译工具链官方给错啦,可能是小编改版的时候贴错了吧。

【开始编译 rk3399】

make firefly_linux_defconfig           //配置环境变量     和make menuconfig 效果是一样的
make rk3399-firefly-linux.img -j4      //make img 文件

编译成功会出现:

并且在kernel 目录下,会生成 kernel.img  resource.img

 

关于 kernel.img 和 resource.img  以及如何找到loder.img启动文件在下一篇内容中  , 其中会有量产工具的介绍和烧入方式。

相关文章
|
Web App开发 监控 Linux
linux下motion摄像头监控编译与配置
利用linxu下的开源的motion搭建嵌入式视频动态监控系统 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域,当有移动物体经过时,摄像头便自动抓拍(要监测多大物体、按拍照速率都是可调的),并把拍到的图像存储在指定目录,实现无人监控功能。
2374 0
|
26天前
|
Linux 编译器 Windows
【Linux】新唐NUC977系统编译及烧写流程
【Linux】新唐NUC977系统编译及烧写流程
|
5月前
|
Ubuntu Linux 开发工具
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
|
10月前
|
IDE 开发工具 芯片
瑞萨IDE:CS+ for CC进行BootLoader升级时开发环境配置
BootLoader程序设计是常用的嵌入式升级方案之一,通过使用UART、SPI、IIC等接口实现对嵌入式节点的远程升级。 本片博文并不是讲解如何实现BootLoader升级程序,而是讲解使用CS+ for CC进行BootLoader升级设计时开发环境的配置
|
11月前
|
Ubuntu
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
181 0
|
11月前
|
Linux 编译器 开发工具
Flash Jetson Linux 刷写系统报错处理
在使用 SDK Manager 刷写Jetson Linux 时会出现一些错误,本篇文章介绍了几种问题的解决方案。
945 0
|
Linux
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
136 0
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
|
Shell C语言 芯片
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--opencv4 jetson编译mjpg-streamer
嵌入式实践教程--opencv4 jetson编译mjpg-streamer
|
存储 XML Ubuntu
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk3568的sdk开发环境。
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像