使OrangePi Zero+支持U盘启动

如下步骤均在Armbian系统中完成linux

1、无内存卡启动

1.使用armbian-config启动SPI

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

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

2.生成uboot镜像文件

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

linux-u-boot-orangepizeroplus-dev
linux-u-boot-orangepizeroplus-nextip

若二者没有出现[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=notruncget

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

3.安装flashrom

输入sudo apt install flashromit

4.写入uboot

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

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

Erase/write done.
Verifying flash... VERIFIED.

则说明写入成功

5.测试U盘启动

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

2、有内存卡启动

可参考这篇文章 (还没有验证此法是否可行)

2019.07.11

相关文章
相关标签/搜索