在某鱼花上面110大洋淘到了这块开发板,吃灰了一个多月,最近暑假有时间拿出来玩玩,顺便学习一下Linux驱动。下面我会记录下来整个学习摸索的过程。

(1)安装 arm-linux-gcc 4.9.3

使用nanopi 2 fire官方提供的编译器安装教程

git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1
cd prebuilts/gcc-x64
cat toolchain-4.9.3-armhf.tar.gz* | sudo tar xz -C /
然后通过在“~/.bashrc”中附加以下行将编译器的目录添加到“PATH”:export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATH
export GCC_COLORS=auto
执行“~/.bashrc”以使更改生效。请注意,第一个“.”后面有一个空格:. ~/.bashrc

踩坑:我按照这个过程走下来,最后在当前路径可以查看到gcc版本号,但是换一个文件夹查看不到版本号了,也不能正常编译出现“make: arm-linux-gcc: Command not found“,我后面发现可能原因是执行“~/.bashrc”后环境变量添加并没有生效,后面重启了一下系统编译通过。

(2) 编译 U-Boot

先使用nanopi 2 fire官方提供的源码

(官方教程)下载 U-Boot 源代码并进行编译。请注意,github 的分支是 nanopi2-v2016.01:git clone https://github.com/friendlyarm/u-boot.git
cd u-boot
git checkout nanopi2-v2016.01
make s5p4418_nanopi2_defconfig
make CROSS_COMPILE=arm-linux-
编译成功后,将生成一个引导加载程序.img。如果要测试它,请将其闪存到安装SD卡中,以通过fastboot,sd-fuse_s5p4418或eflasher ROM替换现有的U-Boot v2016.01文件。
对于Android7:将bootloader.img复制到Android7源目录设备/friendlyelec/nanopi2/boot,然后重新编译Android7。
注意:您不能使用混合的 U-Boot 文件。例如,不能使用 fastboot 更新现有的 U-Boot V2014.07,也不能使用 bootloader.img 替换现有的 u-boot.bin

踩坑:编译过程中报错

make[2]: *** [scripts/Makefile.lib:296:arch/arm/dts/s5p4418-drone.dtb] 错误 127
make[1]: *** [dts/Makefile:36:arch-dtbs] 错误 2
make: *** [Makefile:1249:dts] 错误 2

解决方法:

这一般是因为ubuntu中没有对应的设备树编译器执行命令sudo apt-get install device-tree-compiler安装设备树编译器(这一步完成之后我就重新make了一下直接编译通过生成了bootloader.img)

(3)编译 Linux 内核

  • 下载内核源代码
git clone https://github.com/friendlyarm/linux.git -b nanopi2-v4.4.y --depth 1
cd linux

NanoPi2-Fire的内核源代码位于“nanopi2-v4.4.y”分支中。您需要切换到此分支。

  • 编译 Ubuntu 内核
touch .scmversion
make ARCH=arm nanopi2_linux_defconfig
make ARCH=arm

编译过程报错:scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: 没有那个文件或目录

解决:

出现 fatal error: openssl/xxx.h: No such file or directory 这个错误,都是没有安装 libssl-dev 导致的:

sudo apt-get install libssl-dev

参考:(41条消息) make[2]: *** [arch/arm/dts/s5p4418-drone.dtb] Error 127报错的解决办法_倔强的土坷垃的博客-CSDN博客_ubuntu 错误127

nanopi 2 fire s5p4418 初次体验 (1)uboot,linux kernel编译相关推荐

  1. Hi3519V101 Uboot和Kernel编译

    Hi3519V101 Uboot和Kernel编译 前面已经搭建好了Ubuntu下的海思开发环境,现在对编译Uboot和Kernel的过程做一个简单的记录.参考文档<Hi3519V101 U-b ...

  2. 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行

    编译2022年最新的Linux kernel.U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入 ...

  3. 【RT-Thread Smart】ART-Pi Smart 开发板开箱及爱之初次体验

    ART-Pi Smart 开发板开箱及爱之初次体验 首先, 感谢RT=Thread给的试用机会, 感谢熊大的指导. 本文ART-Pi Smart开箱及初次体验内置应用 标题开箱 收到有几天了.我们一步 ...

  4. u-boot分析之编译体验(零)

    目录 u-boot分析之编译体验 1. 嵌入式系统与pc系统的启动对比概述 2.如何应用补丁文件生成uboot.bin文件,步骤: 3. uboot里要实现的功能 3.1 uboot最终目的是启动内核 ...

  5. ASP.NET Core Identity 实战(1)——Identity 初次体验

    ASP.NET Core Identity是用于构建ASP.NET Core Web应用程序的成员资格系统,包括成员资格.登录和用户数据存储 这是来自于 ASP.NET Core Identity 仓 ...

  6. jQuery课程介绍、Query的介绍、Query初次体验、jQuery再次体验、jQuery中的顶级对象

    jQuery课程介绍 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  7. Django初次体验

    Django初次体验 关于django的安装,宝宝们可以参考django简介以及安装 Django框架的搭建 在终端中进入需要建立项目的目录 执行: django-admin startproject ...

  8. deepin win10字体_购机指南 | Deepin 初次体验,国产OS还有很长路要走

    2020版购机指南目录 购机指南 | 剁手前一分钟的挣扎,最终还是下船了​mp.weixin.qq.com 购机指南 | 入手Magicbook 14 Linux版,冲着多屏协同​mp.weixin. ...

  9. Xxl-Job 初次体验

    Xxl-Job 初次体验 一.定时任务-前置知识 二.演变机制 三.xxl-Job 设计思想 四.xxl-job 实战 1. 调度中心部署 2. 编写执行器简单使用一下 2.1. 让执行器run起来! ...

  10. 全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

    文章目录 1 概述 2 启动速度优化简介 2.1 启动流程 2.2 测量方法 2.2.1 printk time 2.2.2 initcall_debug 2.2.3 bootgraph. 2.2.4 ...

最新文章

  1. 申论万用句型——背下来
  2. 学生系统优化(三)- -细节优化
  3. Hive 任务卡在 map = 0%, reduce = 0%
  4. Linux无法解析hosts里面绑定域名的排查方法
  5. HDU 4027 Can you answer these queries?(线段树/区间不等更新)
  6. storm中的乐器 wolven_Wolven Storm 风雪狼踪
  7. 软件测试岗位工作,到底可以做多久?
  8. Mysql 报错:Unknown collation: ‘utf8mb4_0900_ai_ci‘
  9. Android常用抓包工具—Charls(青花瓷)
  10. Fingerprint指纹识别学习
  11. 图片的单点触摸移动与多点触摸移动缩放
  12. 动力电池SOC估算方法综述
  13. 商务网站建设与维护【15】
  14. Flink web ui面板功能简述
  15. Lint-staged自动修复格式错误及小结
  16. Bag of Tricks for Image Classification with Convolutional Neural Networks(卷积神经网络在图像分类中的技巧)
  17. MySQL数据库如何备份、恢复、导出与导入
  18. 奇安信“科技冬奥”项目成果亮相国家科技计划成果路演行动
  19. 【404 App】2.0全新版本正式来袭之ALL模块。
  20. 在安卓手机搭建kali环境,手机变成便携式渗透神器

热门文章

  1. dumprep 0 -u进程是否病毒?
  2. running_mean和running_var
  3. matlab快速解方程,matlab如何解方程 matlab解方程 matlab如何解方程
  4. Excel如何输入负数
  5. 转载 一堂价值39万元的课,把她看完,你一定会有所获!
  6. 想不想修真鸿蒙秘术,想不想修真鸿蒙秘诀怎么得 揭开想不想修真秘诀真面目...
  7. java保龄球计分_自己写的java保龄球记分
  8. RabbitMQ之Channel
  9. python中的 zip函数详解
  10. IDEA 代码分屏编辑对比: split vertically