关于【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启动文件在下一篇内容中  , 其中会有量产工具的介绍和烧入方式。

相关文章
Jetson Nano无法下载box.com上的文件解决方法
Jetson Nano无法下载box.com上的文件解决方法
64 0
|
Ubuntu Linux 开发工具
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
116 0
|
供应链 Linux 开发工具
Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)
Buildroot系统构建学习笔记(以百问网imx6ull开发板为例)
230 0
|
Ubuntu
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
286 0
|
Linux
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
187 0
X86_64(优麒麟)系统下构建 i386 文件系统并编译Box86运行wine
|
JSON NoSQL Linux
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
945 0
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
|
XML 存储 Ubuntu
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。   于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
|
Shell C语言 芯片
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
|
API 开发工具 图形学
Pico neo3 Unity打包设置
最近使用Pico的频率很高,想给一些Pico爱好者分享一下在Unity中想项目打包到Pico设备中
889 0
Pico neo3 Unity打包设置
|
存储 XML Ubuntu
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk3568的sdk开发环境。
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
下一篇
无影云桌面