树莓派USB3.0理论高达5Gbps的传输速度和手里正好有块M.2 VNME的固态,就把树莓派搬迁到了固态上!
我们先要了解一下4B之前的版本的启动流程,主要分为四个阶段:
- GPU读取芯片上一个ROM的内容并执行
- ROM中的程序挂载SD卡并加载第一个FAT分区上的bootcode.bin
- bootcode.bin从FAT分区加载start.elf
- start.elf从FAT分区加载kernel.img,然后唤醒CPU,CPU开始执行kernel.img
从这个流程中可以看到,第一阶段的BootLoader是从芯片上的ROM中读取的,ROM里的代码是出厂定制好的后期不能再改变。然而随着4B的硬件升级,USB被移到了PCIe总线,网卡也用了新的型号,再加上4B启动过程和SDRAM的设置远比之前的型号要复杂的多,继续使用集成在SoC ROM中的代码是有很大风险的,所以4B增加了一块EEPROM来解决这个问题,启动程序写入到EEPROM中来取代bootcode.bin的工作,启动程序的bug修复和新功能添加都方便了很多。
1、检查并更新自己的EEPROM固件版本
sudo rpi-eeprom-update
eeprom的版本要高于2020-5-15号,否则更新它
更新连接在这里 https://www.quarkbook.com/?p=680
2、烧录系统
树莓派官网下载最新的Raspbian OS并烧录到U盘或SSD中,烧录方法和烧录到SD卡方法相同
不过烧录工具推荐官方的 Raspberry Pi Image这个工具挺好用的
https://www.raspberrypi.org/downloads/
3、准备启动介质
eeprom升级后要配合最新的BootLoader才能实现USB启动,而这个包目前在软件源中还没有更新,只能去github下载https://github.com/Hexxeh/rpi-firmware
这一步十分关键,因为我在解压过程中有部分文件没有解压完全,所以在这里浪费了很长时间,呜呜呜
压上面下载的rpi-firmware包,把里面的fixup*.dat
和star*.elf
文件拷贝到移动盘覆盖原文件
把SD卡从pi上取出,插上移动盘,就可以启动了
https://www.quarkbook.com/?p=638
https://jamesachambers.com/raspberry-pi-4-usb-boot-config-guide-for-ssd-flash-drives/ 这个很奢侈,我也想弄三星的970 pro
https://www.bilibili.com/video/BV1ab411x7aC?from=search&seid=11508105368894233008 子豪兄帮助很大,嘿嘿