文章目录

  • 前序
  • 安装交叉编译工具链
    • 克隆交叉编译工具链
    • 解压
    • 添加PATH
    • 验证安装成功or失败
  • U-Boot
    • U-Boot 下载&编译
    • U-Boot更新至NanoPi M2
  • 编译Linux kernel
    • 准备 mkimage
    • 下载内核src
    • 编译Debian内核
    • 替换内核
  • 后话

前序

环境 Ubuntu18.04 + Windows7

本文主要参照 NanoPi M2/zh维基文档

安装交叉编译工具链

克隆交叉编译工具链

git clone https://github.com/friendlyarm/.git -b master --depth 1
//or
git clone https://gitee.com/friendlyelec/prebuilts.git -b master --depth 1

解压

cd prebuilts/gcc-x64cat toolchain-4.9.3-armhf.tar.gz* | sudo tar xz -C /

解压后生成以下文件

添加PATH

vi ~/.bashrc

vi 的操作就不说明了,不懂的自己查 vi命令汇总,添加以下命令

export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATHexport GCC_COLORS=auto

执行一下,让其立即生效

. ~/.bashrc

验证安装成功or失败

arm-linux-gcc -v

U-Boot

U-Boot 下载&编译

官方提供的链接是 github 的,下载速度非常慢。

我采用的是将 github 导入 gitee 的方法,直接克隆以下仓库就可以了。

git clone https://gitee.com/jyu_hsy/uboot_nanopi2.git

速度还是可以的

该项目目前默认分支已经为 nanopi2-lollipop-mr1,故而不需再执行 git checkout替换分支,执行以下命令即可:

make s5p4418_nanopi2_configmake CROSS_COMPILE=arm-linux-


完成后生成 u-boot.bin

U-Boot更新至NanoPi M2

需要准备 fastboot 来更新正在运行的 NanoPi M2 板上 SDU-Boot

可通过以下命令安装 fastboot 工具

 sudo apt-get install android-tools-fastboot

回到 Window 界面下,使用 SecureCRT 登陆到 NanoPi M2

上电启动 2s 内(复位重启就行了),在终端按下回车,进入 u-boot 命令模式

u- boot 命令行中输入 fastboot 进入 fastboot 模式

开启 Ubuntu ,执行以下命令

fastboot flash bootloader u-boot.bin

这里有个坑,执行以上指令后,一直卡在 waiting for device

遇到这种问题请检查虚拟机是否启用了 USB控制器 并添加了设备

这里推荐使用的是 USB1.1 控制器

如果你和我一样使用 Oracle VM VirtualBox,千万不要直接添加一个值为空的 USB筛选器 ,这样启动虚拟机后,鼠标键盘统统被接管,只能重启,不是开玩笑的。

编译Linux kernel

准备 mkimage

编译内核需要用到 U-Boot 中的工具 mkimage

可以直接使用以下指令来安装:

sudo apt-get install u-boot-tools

之前在 git 下来的 uboot 其实也有这个工具

使用以下命令编译并安装:

cd uboot_nanopi2make CROSS_COMPILE=arm-linux- toolssudo mkdir -p /usr/local/sbin && sudo cp -v tools/mkimage /usr/local/sbin

执行完以上操作,可以发现 /usr/local/sbin 下存在 mkimage

下载内核src

git clone https://github.com/friendlyarm/linux-3.4.y.git
//or
git clone https://gitee.com/ezio_zhang/linux-3.4.y.gitcd linux-3.4.y

编译Debian内核

make nanopi2_linux_defconfigtouch .scmversionmake uImage


编译时间有点长,耐心等待,编译完成后可以发现该路径存在 uImage 文件

替换内核

取出 SD卡 ,用读写器读取,并添加该USB设备, 这时Ubuntu 桌面上会出现 bootrootfs 文件(手头这张 SD卡 已经烧过官方镜像了,可能有点不一样),将我们生成的 uImage 移至其中。

后话

维基的教程教程嘎然而止,其实镜像制作并没有结束!

我发现另一篇维基文档 NanoPi / zh 维基文档

可以发现我们还需要移植 Debian 的文件系统,然后再制作 SD卡

按照该教程制作的 SD卡 烧录到 NanoPiM2 无法正常启动,可能是教程提供的仓库非 NanoPiM2 所用…

暂时留坑,完。

为NanoPi M2 自制Debian镜像相关推荐

  1. dedian系统云服务器,云服务器选择Ubuntu还是Debian镜像系统?根据熟悉度选择

    我们在选择云服务器的时候是不是对于镜像系统选择也有一些纠结,当然对于老用户而言绝对是没有这些问题的.一来我们可以根据自己的熟悉度选择,你平时用什么就选择什么,以及我们可以根据实际的需要有些朋友还会自定 ...

  2. 自制java虚拟机_《深入理解Android:Java虚拟机ART》 —1.2.3 准备模拟器和自制系统镜像...

    1.2.3 准备模拟器和自制系统镜像 阅读源码是学习虚拟机的主要方法.但在某些关键地方,有时候很难确定代码逻辑的走向,这时就需要在源码中加一些日志来辅助我们观察虚拟机的行为.在此,笔者推荐使用模拟器和 ...

  3. 详解在ubuntu上使用Jigdo下载debian镜像

    最近需要下载旧版debian镜像,但各大开源镜像站没有旧版的包,由此才有了这篇文章. jigdo是什么? Jigdo("Jigsaw download",曲线下载)是为Debian ...

  4. 通过bt下载旧版debian镜像

    我在上一篇文章中叙述了使用jigdo-lite下载debian镜像,我试验后,发现速度还是很慢,于是就有了这篇文章. debian镜像站提供了bt下载方式,以debian9.11为例,在它的amd64 ...

  5. 给 nanopi m2 Android系统安装busybox

    本次参考了http://blog.csdn.net/lxgwm2008/article/details/38925051 但在原有基础上有一定创新 1.首先有一块nanopi2 的开发板,CPU是 4 ...

  6. OnlyOffice验证(三)OnlyOffice编译结果自制Docker镜像

    OnlyOffice验证(三)OnlyOffice编译结果自制Docker镜像   之前验证了OnlyOffice验证(二)在Centos7上部署OnlyOffice编译结果,由于现在普遍都是容器化部 ...

  7. 使用jigdo下载历史版本的debian镜像

    上次项目碰到了两个问题,一个是无法将opencv在64位的系统中编译成32位的库,这个的话,后来通过一通摸索,也算是解决了问题(当然,关于CMAKE的使用,还是要加强学习).另外一个问题,就是当时需要 ...

  8. docker 自制XXL_JOB镜像启动

    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 开发参考文档:https://www.xuxueli.c ...

  9. Docker自制CentOS镜像

    系统环境:CentOS 7.3 将yum源切换到阿里源 可以直接写成一个脚本 #!/bin/sh mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

最新文章

  1. java 发送邮件
  2. dubbo学习之-常用功能
  3. 如何确定Windows服务器上是否打开了端口? [关闭]
  4. Java 开源分布式缓存框架Ehcache
  5. Spring Cloud学习笔记-010
  6. Linux 中yum的配置
  7. tcmalloc内存分配器分析笔记:基于gperftools-2.4
  8. [导入]DataHelper
  9. Apache Spark源码走读之22 -- 浅谈mllib中线性回归的算法实现
  10. Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
  11. PHP7中异常与错误处理与之前版本对比
  12. 安全测试之sql注入
  13. 文本挖掘学习笔记(三):文档相似度、文档分类和情感分析
  14. 一起变装吧服务器维护,2020年1月16日维护预览
  15. lol英雄联盟符文助手/一键应用符文易语言源码
  16. 【Python 最全版(一)】—加解密、编码解码、进制转换、字符串转换
  17. 共轭相似以及共轭对角化
  18. 《心流:最优体验心理学》读书笔记
  19. vue 拖拽【单个div实现拖拽】
  20. 32.字典练习---银行卡与初始密码

热门文章

  1. ESP8266 AP模式建立服务器
  2. 看这个就够了,谷歌翻译Google 退出中国后如何恢复网页翻译?
  3. 如何利用CSS制作星星图案
  4. SaaSBase:免费的思维导图软件:2022年9种最好的工具
  5. java对外接口安全问题_怎么保证对外暴露接口的安全性(调用频率限制)
  6. Java工程师进阶知识完全扫盲, 太全了!!
  7. 记录一次利用pn532进行学校水卡改余额过程
  8. 万豪、富士通、浪潮、完美世界、新东方等众多企业服贸会上分享行业新趋势、展示前沿技术...
  9. ih5语言叫html5,iH5最专业的H5制作工具
  10. 初探强化学习(7)基于模型的强化学习的应用综述