使OrangePi Zero+支持U盘启动

半城伤御伤魂 提交于 2020-01-06 13:59:48

以下步骤均在Armbian系统中完成

一、无内存卡启动

1.使用armbian-config启动SPI

输入sudo armbian-config→选中System并回车→选中Hardware并回车→选中spi-spidev,用空格激活→左右方向键选中Save并回车→左右方向键选中Back并回车→选中Reboot并回车
等待重启完成即可

重启后输入ls /dev,可在设备列表当中看到一个名为spidev0.0的设备

2.生成uboot镜像文件

输入apt search linux-u-boot-orangepizeroplus,查看以下两个包是否有[installed]字样

linux-u-boot-orangepizeroplus-dev
linux-u-boot-orangepizeroplus-next

若两者没有出现[installed](情况少见),则输入sudo apt install linux-u-boot-orangepizeroplus-next,等待安装完成后进入下一步
其中任意一个包有[installed],则执行以下命令

cd
dd if=/dev/zero count=2048 bs=1K | tr ‘\000’ ‘\377’ > spi.img
dd if=/usr/lib/linux-u-boot-next-orangepizeroplus_5.85_arm64/sunxi-spl.bin of=spi.img bs=1k conv=notrunc
dd if=/usr/lib/linux-u-boot-next-orangepizeroplus_5.85_arm64/u-boot.itb of=spi.img bs=1 seek=32768 conv=notrunc

其中linux-u-boot-next-orangepizeroplus_5.85_arm64用自己系统中的对应路径去替换,方法是输入ls /usr/lib,查看名字以linux-u-boot开头的文件夹
之后在用户目录下会有一个大小为2097152字节的spi.img文件

3.安装flashrom

输入sudo apt install flashrom

4.写入uboot

输入sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -c MX25L1605 -w spi.img

过程中可能出现Erasing and writing flash chip… FAILED和ERASE FAILED!
但只要最后显示

Erase/write done.
Verifying flash… VERIFIED.

则说明写入成功

5.测试U盘启动

先挑一块质量好的U盘,使用Etcher
向U盘写入Armbian的镜像文件
香橙派关机拔电源,取出内存卡,将写好的U盘插入香橙派,插电开机启动即可

二、有内存卡启动

可参考这篇文章
(尚未验证此法是否可行)

2019.07.11

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!