以下步骤均在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