树莓派4B+M.2 NVME固态

 

树莓派USB3.0理论高达5Gbps的传输速度和手里正好有块M.2 VNME的固态,就把树莓派搬迁到了固态上!cheeky


我们先要了解一下4B之前的版本的启动流程,主要分为四个阶段:

  1. GPU读取芯片上一个ROM的内容并执行
  2. ROM中的程序挂载SD卡并加载第一个FAT分区上的bootcode.bin
  3. bootcode.bin从FAT分区加载start.elf
  4. 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

这一步十分关键,因为我在解压过程中有部分文件没有解压完全,所以在这里浪费了很长时间,呜呜呜cryingcrying

压上面下载的rpi-firmware包,把里面的fixup*.datstar*.elf文件拷贝到移动盘覆盖原文件

把SD卡从pi上取出,插上移动盘,就可以启动了

https://www.quarkbook.com/?p=638

https://blog.csdn.net/nanhantianyi/article/details/106542616?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

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  子豪兄帮助很大,嘿嘿

https://github.com/TommyZihao/ZihaoTutorialOfRaspberryPi/blob/master/%E7%AC%AC2%E8%AE%B2%EF%BC%9A%E6%A0%91%E8%8E%93%E6%B4%BE%E6%96%B0%E6%89%8B%E6%97%A0%E7%97%9B%E5%BC%80%E6%9C%BA%E6%8C%87%E5%8D%97.md