手动编译 NanoPi debian 系统
几年前一个做电气的网友送我一块 NanoPi M2 的板子,不过安装系统各种启动不成功,后来因为自己又买了树莓派 3B+,所以也就一直没用起来。
最近闲来无事,想再挑战一次 NanoPi M2 的系统,但是由于官方 wiki 描述和镜像文件有差异,所以我还是选择了编译系统,想不到就让我编译成功了。因为手上没有 sd 卡,还没测试编译出来的系统,但能编译成功已经算是有进步了。
交叉编译环境
获取友善之臂的官方交叉编译器,并解压:
1 |
|
将编译器的路几个加入到 PATH 中,把下面的内容复制到你当前的~/.zshrc
或者~/.bashrc
最底下。
1 |
|
执行脚本,让设置在当前的 shell 窗口生效
1 |
|
安装完成后,检查一下是否可用
1 |
|
编译镜像
我并没有从头开始编译内核和文件系统,而是使用官方已经编译好的镜像,然后再通过 sd-fuse_s5p4418 生成镜像文件。我特定去看了 issues,用于 NanoPi2 的系统镜像无法启动,选择了master-for-linux-3.4.y
,虽然我并不知道我的 M2 算不算所谓的“旧版本”。
先获取代码
1 |
|
在master-for-linux-3.4.y
分支中,只要两个sh
文件,看了 README 的描述,我需要的是编译出镜像文件,等以后有 sd 卡再想办法装进去,那我需要的就是mkimage.sh
1 |
|
当我运行这条命令的时候,发现它需要在本地有编译好的内核镜像,我还是先手动下载吧
1 |
|
编译完成后,会在当前项目的根目录下生成一个s5p4418-debian-sd4g-YYYYMMDD.img
的镜像文件,但是文件的所有者和权限都没办法用完当前的用户操作。
1 |
|
改一下权限
1 |
|
这就算大功告成了
安装
我使用 balena-etcher 安装到 sd 卡,另外如果想生成qte-core
可以使用 http://112.124.9.243/dvdfiles/S5P4418/kernel-3.4-roms/images-for-eflasher/core-qte-images.tgz 替换 http://112.124.9.243/dvdfiles/S5P4418/kernel-3.4-roms/images-for-eflasher/debian-jessie-images.tgz