为NanoPi M2 自制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-x64

cat 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:$PATH

export 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_config

make 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_nanopi2

make CROSS_COMPILE=arm-linux- tools

sudo 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.git

cd linux-3.4.y

编译Debian内核

make nanopi2_linux_defconfig

touch .scmversion

make uImage

在这里插入图片描述
编译时间有点长,耐心等待,编译完成后可以发现该路径存在 uImage 文件
在这里插入图片描述

替换内核

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

后话

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

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

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

按照该教程制作的 SD卡 烧录到 NanoPiM2 无法正常启动,可能是教程提供的仓库非 NanoPiM2 所用…
在这里插入图片描述
暂时留坑,完。

猜你喜欢

转载自blog.csdn.net/weixin_40774605/article/details/105552124