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

相关文章
|
7月前
|
Linux 编译器 Windows
【Linux】新唐NUC977系统编译及烧写流程
【Linux】新唐NUC977系统编译及烧写流程
122 0
|
Ubuntu Linux 开发工具
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
151 0
|
Windows
nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)
nxp官方uboot移植到野火开发板PRO(无任何代码逻辑的修改)
171 0
|
Ubuntu
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
野火IMX6ULL PRO移植最新buidroot根文件系统(2022.02.04)
295 0
|
移动开发 Ubuntu 网络协议
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
177 1
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(中)
|
JSON NoSQL Linux
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
984 0
VS2022OpenCV跨平台Linux CMake项目搭建过程(Jetson nano测试)
|
存储 Ubuntu 前端开发
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
347 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(下)
|
存储 编解码 Ubuntu
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令
241 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 (二)Ubuntu操作入门与Linux常用命令(上)
|
安全
[经验]使用Keil MDK+Jlink-OB下载失败的解决办法
[经验]使用Keil MDK+Jlink-OB下载失败的解决办法
539 0
[经验]使用Keil MDK+Jlink-OB下载失败的解决办法
|
Shell C语言 芯片
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs
嵌入式实践教程--使用Buildroot制作Uboot&Kernel&Rootfs